Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / UintBitsToFloat.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %_entrypoint_v OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "testInput"
10 OpMemberName %_UniformBuffer 1 "testMatrix2x2"
11 OpMemberName %_UniformBuffer 2 "colorGreen"
12 OpMemberName %_UniformBuffer 3 "colorRed"
13 OpName %_entrypoint_v "_entrypoint_v"
14 OpName %main "main"
15 OpName %inputVal "inputVal"
16 OpName %expectedB "expectedB"
17 OpDecorate %sk_FragColor RelaxedPrecision
18 OpDecorate %sk_FragColor Location 0
19 OpDecorate %sk_FragColor Index 0
20 OpDecorate %sk_Clockwise BuiltIn FrontFacing
21 OpMemberDecorate %_UniformBuffer 0 Offset 0
22 OpMemberDecorate %_UniformBuffer 1 Offset 16
23 OpMemberDecorate %_UniformBuffer 1 ColMajor
24 OpMemberDecorate %_UniformBuffer 1 MatrixStride 16
25 OpMemberDecorate %_UniformBuffer 2 Offset 48
26 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
27 OpMemberDecorate %_UniformBuffer 3 Offset 64
28 OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
29 OpDecorate %_UniformBuffer Block
30 OpDecorate %10 Binding 0
31 OpDecorate %10 DescriptorSet 0
32 OpDecorate %91 RelaxedPrecision
33 OpDecorate %94 RelaxedPrecision
34 OpDecorate %95 RelaxedPrecision
35 %float = OpTypeFloat 32
36 %v4float = OpTypeVector %float 4
37 %_ptr_Output_v4float = OpTypePointer Output %v4float
38 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
39 %bool = OpTypeBool
40 %_ptr_Input_bool = OpTypePointer Input %bool
41 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
42 %v2float = OpTypeVector %float 2
43 %mat2v2float = OpTypeMatrix %v2float 2
44 %_UniformBuffer = OpTypeStruct %float %mat2v2float %v4float %v4float
45 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
46 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
47 %void = OpTypeVoid
48 %17 = OpTypeFunction %void
49 %float_0 = OpConstant %float 0
50 %20 = OpConstantComposite %v2float %float_0 %float_0
51 %_ptr_Function_v2float = OpTypePointer Function %v2float
52 %24 = OpTypeFunction %v4float %_ptr_Function_v2float
53 %_ptr_Function_v4float = OpTypePointer Function %v4float
54 %_ptr_Uniform_mat2v2float = OpTypePointer Uniform %mat2v2float
55 %int = OpTypeInt 32 1
56 %int_1 = OpConstant %int 1
57 %float_1 = OpConstant %float 1
58 %float_n1 = OpConstant %float -1
59 %41 = OpConstantComposite %v4float %float_1 %float_1 %float_n1 %float_n1
60 %uint = OpTypeInt 32 0
61 %v4uint = OpTypeVector %uint 4
62 %_ptr_Function_v4uint = OpTypePointer Function %v4uint
63 %uint_1065353216 = OpConstant %uint 1065353216
64 %uint_1073741824 = OpConstant %uint 1073741824
65 %uint_3225419776 = OpConstant %uint 3225419776
66 %uint_3229614080 = OpConstant %uint 3229614080
67 %51 = OpConstantComposite %v4uint %uint_1065353216 %uint_1073741824 %uint_3225419776 %uint_3229614080
68 %false = OpConstantFalse %bool
69 %v2uint = OpTypeVector %uint 2
70 %v2bool = OpTypeVector %bool 2
71 %v3float = OpTypeVector %float 3
72 %v3uint = OpTypeVector %uint 3
73 %v3bool = OpTypeVector %bool 3
74 %v4bool = OpTypeVector %bool 4
75 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
76 %int_2 = OpConstant %int 2
77 %int_3 = OpConstant %int 3
78 %_entrypoint_v = OpFunction %void None %17
79 %18 = OpLabel
80 %21 = OpVariable %_ptr_Function_v2float Function
81 OpStore %21 %20
82 %23 = OpFunctionCall %v4float %main %21
83 OpStore %sk_FragColor %23
84 OpReturn
85 OpFunctionEnd
86 %main = OpFunction %v4float None %24
87 %25 = OpFunctionParameter %_ptr_Function_v2float
88 %26 = OpLabel
89 %inputVal = OpVariable %_ptr_Function_v4float Function
90 %expectedB = OpVariable %_ptr_Function_v4uint Function
91 %84 = OpVariable %_ptr_Function_v4float Function
92 %29 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_1
93 %33 = OpLoad %mat2v2float %29
94 %34 = OpCompositeExtract %float %33 0 0
95 %35 = OpCompositeExtract %float %33 0 1
96 %36 = OpCompositeExtract %float %33 1 0
97 %37 = OpCompositeExtract %float %33 1 1
98 %38 = OpCompositeConstruct %v4float %34 %35 %36 %37
99 %42 = OpFMul %v4float %38 %41
100 OpStore %inputVal %42
101 OpStore %expectedB %51
102 %53 = OpCompositeExtract %float %42 0
103 %54 = OpBitcast %float %uint_1065353216
104 %55 = OpFOrdEqual %bool %53 %54
105 OpSelectionMerge %57 None
106 OpBranchConditional %55 %56 %57
107 %56 = OpLabel
108 %58 = OpVectorShuffle %v2float %42 %42 0 1
109 %60 = OpVectorShuffle %v2uint %51 %51 0 1
110 %59 = OpBitcast %v2float %60
111 %62 = OpFOrdEqual %v2bool %58 %59
112 %64 = OpAll %bool %62
113 OpBranch %57
114 %57 = OpLabel
115 %65 = OpPhi %bool %false %26 %64 %56
116 OpSelectionMerge %67 None
117 OpBranchConditional %65 %66 %67
118 %66 = OpLabel
119 %68 = OpVectorShuffle %v3float %42 %42 0 1 2
120 %71 = OpVectorShuffle %v3uint %51 %51 0 1 2
121 %70 = OpBitcast %v3float %71
122 %73 = OpFOrdEqual %v3bool %68 %70
123 %75 = OpAll %bool %73
124 OpBranch %67
125 %67 = OpLabel
126 %76 = OpPhi %bool %false %57 %75 %66
127 OpSelectionMerge %78 None
128 OpBranchConditional %76 %77 %78
129 %77 = OpLabel
130 %79 = OpBitcast %v4float %51
131 %80 = OpFOrdEqual %v4bool %42 %79
132 %82 = OpAll %bool %80
133 OpBranch %78
134 %78 = OpLabel
135 %83 = OpPhi %bool %false %67 %82 %77
136 OpSelectionMerge %87 None
137 OpBranchConditional %83 %85 %86
138 %85 = OpLabel
139 %88 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
140 %91 = OpLoad %v4float %88
141 OpStore %84 %91
142 OpBranch %87
143 %86 = OpLabel
144 %92 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3
145 %94 = OpLoad %v4float %92
146 OpStore %84 %94
147 OpBranch %87
148 %87 = OpLabel
149 %95 = OpLoad %v4float %84
150 OpReturnValue %95
151 OpFunctionEnd