blob: 97ce73ee9c1334f1c9bcbfe58b522945be38b359 [file] [edit]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 46
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %frag_main "frag_main" %frag_main_loc0_Input %frag_main_loc1_Input %frag_main_position_Input
OpExecutionMode %frag_main OriginUpperLeft
OpMemberName %S 0 "f"
OpMemberName %S 1 "u"
OpMemberName %S 2 "v"
OpName %S "S"
OpMemberName %tint_symbol_1 0 "tint_symbol"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %frag_main_loc0_Input "frag_main_loc0_Input"
OpName %frag_main_loc1_Input "frag_main_loc1_Input"
OpName %frag_main_position_Input "frag_main_position_Input"
OpName %frag_main_inner "frag_main_inner"
OpName %input "input"
OpName %f "f"
OpName %u "u"
OpName %v "v"
OpName %tint_store_and_preserve_padding "tint_store_and_preserve_padding"
OpName %value_param "value_param"
OpName %frag_main "frag_main"
OpMemberDecorate %S 0 Offset 0
OpMemberDecorate %S 1 Offset 4
OpMemberDecorate %S 2 Offset 128
OpMemberDecorate %tint_symbol_1 0 Offset 0
OpDecorate %tint_symbol_1 Block
OpDecorate %1 DescriptorSet 0
OpDecorate %1 Binding 0
OpDecorate %1 Coherent
OpDecorate %frag_main_loc0_Input Location 0
OpDecorate %frag_main_loc1_Input Location 1
OpDecorate %frag_main_loc1_Input Flat
OpDecorate %frag_main_position_Input BuiltIn FragCoord
%float = OpTypeFloat 32
%uint = OpTypeInt 32 0
%v4float = OpTypeVector %float 4
%S = OpTypeStruct %float %uint %v4float
%tint_symbol_1 = OpTypeStruct %S
%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
%1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
%_ptr_Input_float = OpTypePointer Input %float
%frag_main_loc0_Input = OpVariable %_ptr_Input_float Input
%_ptr_Input_uint = OpTypePointer Input %uint
%frag_main_loc1_Input = OpVariable %_ptr_Input_uint Input
%_ptr_Input_v4float = OpTypePointer Input %v4float
%frag_main_position_Input = OpVariable %_ptr_Input_v4float Input
%void = OpTypeVoid
%17 = OpTypeFunction %void %S
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
%uint_1 = OpConstant %uint 1
%_ptr_StorageBuffer_v4float = OpTypePointer StorageBuffer %v4float
%uint_2 = OpConstant %uint 2
%39 = OpTypeFunction %void
%frag_main_inner = OpFunction %void None %17
%input = OpFunctionParameter %S
%18 = OpLabel
%f = OpCompositeExtract %float %input 0
%u = OpCompositeExtract %uint %input 1
%v = OpCompositeExtract %v4float %input 2
%22 = OpFunctionCall %void %tint_store_and_preserve_padding %input
OpReturn
OpFunctionEnd
%tint_store_and_preserve_padding = OpFunction %void None %17
%value_param = OpFunctionParameter %S
%25 = OpLabel
%26 = OpAccessChain %_ptr_StorageBuffer_float %1 %uint_0 %uint_0
%29 = OpCompositeExtract %float %value_param 0
OpStore %26 %29 None
%30 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 %uint_1
%33 = OpCompositeExtract %uint %value_param 1
OpStore %30 %33 None
%34 = OpAccessChain %_ptr_StorageBuffer_v4float %1 %uint_0 %uint_2
%37 = OpCompositeExtract %v4float %value_param 2
OpStore %34 %37 None
OpReturn
OpFunctionEnd
%frag_main = OpFunction %void None %39
%40 = OpLabel
%41 = OpLoad %float %frag_main_loc0_Input None
%42 = OpLoad %uint %frag_main_loc1_Input None
%43 = OpLoad %v4float %frag_main_position_Input None
%44 = OpCompositeConstruct %S %41 %42 %43
%45 = OpFunctionCall %void %frag_main_inner %44
OpReturn
OpFunctionEnd