• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint Fragment %main "main" %_GLF_color
5               OpExecutionMode %main OriginUpperLeft
6               OpSource ESSL 310
7               OpName %main "main"
8               OpName %idx "idx"
9               OpName %buf1 "buf1"
10               OpMemberName %buf1 0 "_GLF_uniform_int_values"
11               OpName %_ ""
12               OpName %a "a"
13               OpName %indexable "indexable"
14               OpName %_GLF_color "_GLF_color"
15               OpDecorate %_arr_int_uint_2 ArrayStride 16
16               OpMemberDecorate %buf1 0 Offset 0
17               OpDecorate %buf1 Block
18               OpDecorate %_ DescriptorSet 0
19               OpDecorate %_ Binding 1
20               OpDecorate %_GLF_color Location 0
21       %void = OpTypeVoid
22         %11 = OpTypeFunction %void
23        %int = OpTypeInt 32 1
24%_ptr_Function_int = OpTypePointer Function %int
25      %int_1 = OpConstant %int 1
26       %uint = OpTypeInt 32 0
27     %uint_2 = OpConstant %uint 2
28%_arr_int_uint_2 = OpTypeArray %int %uint_2
29       %buf1 = OpTypeStruct %_arr_int_uint_2
30%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
31          %_ = OpVariable %_ptr_Uniform_buf1 Uniform
32      %int_0 = OpConstant %int 0
33%_ptr_Uniform_int = OpTypePointer Uniform %int
34%_ptr_Function__arr_int_uint_2 = OpTypePointer Function %_arr_int_uint_2
35       %bool = OpTypeBool
36      %float = OpTypeFloat 32
37    %v4float = OpTypeVector %float 4
38%_ptr_Output_v4float = OpTypePointer Output %v4float
39 %_GLF_color = OpVariable %_ptr_Output_v4float Output
40       %main = OpFunction %void None %11
41         %25 = OpLabel
42        %idx = OpVariable %_ptr_Function_int Function
43          %a = OpVariable %_ptr_Function_int Function
44  %indexable = OpVariable %_ptr_Function__arr_int_uint_2 Function
45         %26 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
46         %27 = OpLoad %int %26
47         %28 = OpShiftLeftLogical %int %int_1 %27
48               OpStore %idx %28
49         %29 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
50         %30 = OpLoad %int %29
51         %31 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
52         %32 = OpLoad %int %31
53         %33 = OpCompositeConstruct %_arr_int_uint_2 %30 %32
54         %34 = OpLoad %int %idx
55               OpStore %indexable %33
56         %35 = OpAccessChain %_ptr_Function_int %indexable %34
57         %36 = OpLoad %int %35
58               OpStore %a %36
59         %37 = OpLoad %int %a
60         %38 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
61         %39 = OpLoad %int %38
62         %40 = OpIEqual %bool %37 %39
63               OpSelectionMerge %41 None
64               OpBranchConditional %40 %42 %43
65         %42 = OpLabel
66         %44 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
67         %45 = OpLoad %int %44
68         %46 = OpConvertSToF %float %45
69         %47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
70         %48 = OpLoad %int %47
71         %49 = OpConvertSToF %float %48
72         %50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
73         %51 = OpLoad %int %50
74         %52 = OpConvertSToF %float %51
75         %53 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
76         %54 = OpLoad %int %53
77         %55 = OpConvertSToF %float %54
78         %56 = OpCompositeConstruct %v4float %46 %49 %52 %55
79               OpStore %_GLF_color %56
80               OpBranch %41
81         %43 = OpLabel
82         %57 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
83         %58 = OpLoad %int %57
84         %59 = OpConvertSToF %float %58
85         %60 = OpCompositeConstruct %v4float %59 %59 %59 %59
86               OpStore %_GLF_color %60
87               OpBranch %41
88         %41 = OpLabel
89               OpReturn
90               OpFunctionEnd
91