57 lines
2.4 KiB
Plaintext
57 lines
2.4 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Google Tint Compiler; 0
|
|
; Bound: 29
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %computeMain "computeMain" %global_id_1
|
|
OpExecutionMode %computeMain LocalSize 1 1 1
|
|
OpName %global_id_1 "global_id_1"
|
|
OpName %drawOut_block "drawOut_block"
|
|
OpMemberName %drawOut_block 0 "inner"
|
|
OpName %DrawIndirectArgs "DrawIndirectArgs"
|
|
OpMemberName %DrawIndirectArgs 0 "vertexCount"
|
|
OpName %drawOut "drawOut"
|
|
OpName %cubeVerts "cubeVerts"
|
|
OpName %computeMain_inner "computeMain_inner"
|
|
OpName %global_id "global_id"
|
|
OpName %computeMain "computeMain"
|
|
OpDecorate %global_id_1 BuiltIn GlobalInvocationId
|
|
OpDecorate %drawOut_block Block
|
|
OpMemberDecorate %drawOut_block 0 Offset 0
|
|
OpMemberDecorate %DrawIndirectArgs 0 Offset 0
|
|
OpDecorate %drawOut DescriptorSet 0
|
|
OpDecorate %drawOut Binding 5
|
|
%uint = OpTypeInt 32 0
|
|
%v3uint = OpTypeVector %uint 3
|
|
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
|
%global_id_1 = OpVariable %_ptr_Input_v3uint Input
|
|
%DrawIndirectArgs = OpTypeStruct %uint
|
|
%drawOut_block = OpTypeStruct %DrawIndirectArgs
|
|
%_ptr_StorageBuffer_drawOut_block = OpTypePointer StorageBuffer %drawOut_block
|
|
%drawOut = OpVariable %_ptr_StorageBuffer_drawOut_block StorageBuffer
|
|
%9 = OpConstantNull %uint
|
|
%_ptr_Private_uint = OpTypePointer Private %uint
|
|
%cubeVerts = OpVariable %_ptr_Private_uint Private %9
|
|
%void = OpTypeVoid
|
|
%12 = OpTypeFunction %void %v3uint
|
|
%uint_1 = OpConstant %uint 1
|
|
%uint_0 = OpConstant %uint 0
|
|
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
|
|
%24 = OpTypeFunction %void
|
|
%computeMain_inner = OpFunction %void None %12
|
|
%global_id = OpFunctionParameter %v3uint
|
|
%16 = OpLabel
|
|
%22 = OpAccessChain %_ptr_StorageBuffer_uint %drawOut %uint_0 %uint_0
|
|
%23 = OpLoad %uint %cubeVerts
|
|
%17 = OpAtomicIAdd %uint %22 %uint_1 %uint_0 %23
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%computeMain = OpFunction %void None %24
|
|
%26 = OpLabel
|
|
%28 = OpLoad %v3uint %global_id_1
|
|
%27 = OpFunctionCall %void %computeMain_inner %28
|
|
OpReturn
|
|
OpFunctionEnd
|