blob: 4856ea0c2cfb0f2a4eae058511edbd20fe708401 [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpName %Particles "Particles"
OpMemberName %Particles 0 "p"
OpName %Particle "Particle"
OpMemberName %Particle 0 "position"
OpMemberName %Particle 1 "lifetime"
OpMemberName %Particle 2 "color"
OpMemberName %Particle 3 "velocity"
OpName %particles "particles"
OpName %sim_block "sim_block"
OpMemberName %sim_block 0 "inner"
OpName %Simulation "Simulation"
OpMemberName %Simulation 0 "i"
OpName %sim "sim"
OpName %main "main"
OpName %particle "particle"
OpDecorate %Particles Block
OpMemberDecorate %Particles 0 Offset 0
OpMemberDecorate %Particle 0 Offset 0
OpDecorate %_arr_v3float_uint_8 ArrayStride 16
OpMemberDecorate %Particle 1 Offset 128
OpMemberDecorate %Particle 2 Offset 144
OpMemberDecorate %Particle 3 Offset 160
OpDecorate %_runtimearr_Particle ArrayStride 176
OpDecorate %particles NonWritable
OpDecorate %particles DescriptorSet 1
OpDecorate %particles Binding 3
OpDecorate %sim_block Block
OpMemberDecorate %sim_block 0 Offset 0
OpMemberDecorate %Simulation 0 Offset 0
OpDecorate %sim NonWritable
OpDecorate %sim DescriptorSet 1
OpDecorate %sim Binding 4
%float = OpTypeFloat 32
%v3float = OpTypeVector %float 3
%uint = OpTypeInt 32 0
%uint_8 = OpConstant %uint 8
%_arr_v3float_uint_8 = OpTypeArray %v3float %uint_8
%v4float = OpTypeVector %float 4
%Particle = OpTypeStruct %_arr_v3float_uint_8 %float %v4float %v3float
%_runtimearr_Particle = OpTypeRuntimeArray %Particle
%Particles = OpTypeStruct %_runtimearr_Particle
%_ptr_StorageBuffer_Particles = OpTypePointer StorageBuffer %Particles
%particles = OpVariable %_ptr_StorageBuffer_Particles StorageBuffer
%Simulation = OpTypeStruct %uint
%sim_block = OpTypeStruct %Simulation
%_ptr_Uniform_sim_block = OpTypePointer Uniform %sim_block
%sim = OpVariable %_ptr_Uniform_sim_block Uniform
%void = OpTypeVoid
%16 = OpTypeFunction %void
%uint_0 = OpConstant %uint 0
%int = OpTypeInt 32 1
%22 = OpConstantNull %int
%_ptr_StorageBuffer_Particle = OpTypePointer StorageBuffer %Particle
%_ptr_Function_Particle = OpTypePointer Function %Particle
%28 = OpConstantNull %Particle
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
%_ptr_Function_v3float = OpTypePointer Function %v3float
%main = OpFunction %void None %16
%19 = OpLabel
%particle = OpVariable %_ptr_Function_Particle Function %28
%24 = OpAccessChain %_ptr_StorageBuffer_Particle %particles %uint_0 %22
%25 = OpLoad %Particle %24
OpStore %particle %25
%30 = OpAccessChain %_ptr_Uniform_uint %sim %uint_0 %uint_0
%31 = OpLoad %uint %30
%33 = OpAccessChain %_ptr_Function_v3float %particle %uint_0 %31
%34 = OpAccessChain %_ptr_Uniform_uint %sim %uint_0 %uint_0
%35 = OpLoad %uint %34
%36 = OpAccessChain %_ptr_Function_v3float %particle %uint_0 %35
%37 = OpLoad %v3float %36
OpStore %33 %37
OpReturn
OpFunctionEnd