blob: 0f4a0d5ca026d38d737b4d6704298f4deb0b0a37 [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 35
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpName %g "g"
OpMemberName %g 0 "a"
OpName %i "i"
OpName %h "h"
OpMemberName %h 0 "a"
OpName %j "j"
OpName %main "main"
OpDecorate %g Block
OpMemberDecorate %g 0 Offset 0
OpDecorate %i NonWritable
OpDecorate %i DescriptorSet 0
OpDecorate %i Binding 0
OpDecorate %h Block
OpMemberDecorate %h 0 Offset 0
OpDecorate %j DescriptorSet 0
OpDecorate %j Binding 1
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%g = OpTypeStruct %v3uint
%_ptr_Uniform_g = OpTypePointer Uniform %g
%i = OpVariable %_ptr_Uniform_g Uniform
%h = OpTypeStruct %uint
%_ptr_StorageBuffer_h = OpTypePointer StorageBuffer %h
%j = OpVariable %_ptr_StorageBuffer_h StorageBuffer
%void = OpTypeVoid
%9 = OpTypeFunction %void
%uint_0 = OpConstant %uint 0
%_ptr_Uniform_v3uint = OpTypePointer Uniform %v3uint
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
%main = OpFunction %void None %9
%12 = OpLabel
%16 = OpAccessChain %_ptr_Uniform_v3uint %i %uint_0
%17 = OpLoad %v3uint %16
%18 = OpAccessChain %_ptr_Uniform_v3uint %i %uint_0
%19 = OpLoad %v3uint %18
%20 = OpCompositeExtract %uint %17 0
%21 = OpCompositeExtract %uint %19 0
%22 = OpIMul %uint %20 %21
%23 = OpCompositeExtract %uint %17 1
%24 = OpCompositeExtract %uint %19 1
%25 = OpIMul %uint %23 %24
%26 = OpIAdd %uint %22 %25
%27 = OpCompositeExtract %uint %17 2
%28 = OpCompositeExtract %uint %19 2
%29 = OpIMul %uint %27 %28
%13 = OpIAdd %uint %26 %29
%31 = OpAccessChain %_ptr_StorageBuffer_uint %j %uint_0
%33 = OpAccessChain %_ptr_Uniform_uint %i %uint_0 %uint_0
%34 = OpLoad %uint %33
OpStore %31 %34
OpReturn
OpFunctionEnd