xref: /aosp_15_r20/external/skia/tests/sksl/shared/InterfaceBlockBuffer.asm.frag (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint Fragment %main "main" %sk_FragColor
5               OpExecutionMode %main OriginUpperLeft
6               OpName %testBlock "testBlock"
7               OpMemberName %testBlock 0 "x"
8               OpName %sk_FragColor "sk_FragColor"
9               OpName %main "main"
10               OpMemberDecorate %testBlock 0 Offset 0
11               OpDecorate %testBlock BufferBlock
12               OpDecorate %3 Binding 456
13               OpDecorate %3 DescriptorSet 0
14               OpDecorate %sk_FragColor RelaxedPrecision
15               OpDecorate %sk_FragColor Location 0
16               OpDecorate %sk_FragColor Index 0
17               OpDecorate %18 RelaxedPrecision
18      %float = OpTypeFloat 32
19  %testBlock = OpTypeStruct %float
20%_ptr_Uniform_testBlock = OpTypePointer Uniform %testBlock
21          %3 = OpVariable %_ptr_Uniform_testBlock Uniform
22    %v4float = OpTypeVector %float 4
23%_ptr_Output_v4float = OpTypePointer Output %v4float
24%sk_FragColor = OpVariable %_ptr_Output_v4float Output
25       %void = OpTypeVoid
26         %11 = OpTypeFunction %void
27        %int = OpTypeInt 32 1
28      %int_0 = OpConstant %int 0
29%_ptr_Uniform_float = OpTypePointer Uniform %float
30       %main = OpFunction %void None %11
31         %12 = OpLabel
32         %15 = OpAccessChain %_ptr_Uniform_float %3 %int_0
33         %17 = OpLoad %float %15
34         %18 = OpCompositeConstruct %v4float %17 %17 %17 %17
35               OpStore %sk_FragColor %18
36               OpReturn
37               OpFunctionEnd
38