• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "testMatrix2x2"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpDecorate %sk_FragColor RelaxedPrecision
15OpDecorate %sk_FragColor Location 0
16OpDecorate %sk_FragColor Index 0
17OpDecorate %sk_Clockwise BuiltIn FrontFacing
18OpMemberDecorate %_UniformBuffer 0 Offset 0
19OpMemberDecorate %_UniformBuffer 0 ColMajor
20OpMemberDecorate %_UniformBuffer 0 MatrixStride 16
21OpMemberDecorate %_UniformBuffer 1 Offset 32
22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 2 Offset 48
24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25OpDecorate %_UniformBuffer Block
26OpDecorate %10 Binding 0
27OpDecorate %10 DescriptorSet 0
28OpDecorate %43 RelaxedPrecision
29OpDecorate %46 RelaxedPrecision
30OpDecorate %47 RelaxedPrecision
31%float = OpTypeFloat 32
32%v4float = OpTypeVector %float 4
33%_ptr_Output_v4float = OpTypePointer Output %v4float
34%sk_FragColor = OpVariable %_ptr_Output_v4float Output
35%bool = OpTypeBool
36%_ptr_Input_bool = OpTypePointer Input %bool
37%sk_Clockwise = OpVariable %_ptr_Input_bool Input
38%v2float = OpTypeVector %float 2
39%mat2v2float = OpTypeMatrix %v2float 2
40%_UniformBuffer = OpTypeStruct %mat2v2float %v4float %v4float
41%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
42%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
43%void = OpTypeVoid
44%17 = OpTypeFunction %void
45%float_0 = OpConstant %float 0
46%20 = OpConstantComposite %v2float %float_0 %float_0
47%_ptr_Function_v2float = OpTypePointer Function %v2float
48%24 = OpTypeFunction %v4float %_ptr_Function_v2float
49%_ptr_Uniform_mat2v2float = OpTypePointer Uniform %mat2v2float
50%int = OpTypeInt 32 1
51%int_0 = OpConstant %int 0
52%float_n2 = OpConstant %float -2
53%_ptr_Function_v4float = OpTypePointer Function %v4float
54%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
55%int_1 = OpConstant %int 1
56%int_2 = OpConstant %int 2
57%_entrypoint_v = OpFunction %void None %17
58%18 = OpLabel
59%21 = OpVariable %_ptr_Function_v2float Function
60OpStore %21 %20
61%23 = OpFunctionCall %v4float %main %21
62OpStore %sk_FragColor %23
63OpReturn
64OpFunctionEnd
65%main = OpFunction %v4float None %24
66%25 = OpFunctionParameter %_ptr_Function_v2float
67%26 = OpLabel
68%35 = OpVariable %_ptr_Function_v4float Function
69%28 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_0
70%32 = OpLoad %mat2v2float %28
71%27 = OpExtInst %float %1 Determinant %32
72%34 = OpFOrdEqual %bool %27 %float_n2
73OpSelectionMerge %39 None
74OpBranchConditional %34 %37 %38
75%37 = OpLabel
76%40 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
77%43 = OpLoad %v4float %40
78OpStore %35 %43
79OpBranch %39
80%38 = OpLabel
81%44 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
82%46 = OpLoad %v4float %44
83OpStore %35 %46
84OpBranch %39
85%39 = OpLabel
86%47 = OpLoad %v4float %35
87OpReturnValue %47
88OpFunctionEnd
89