glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
steve-lunarg 0842dbb39a HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats
This PR adds a CreateParseContext() fn analogous to CreateBuiltInParseables(),
to create a language specific built in parser.  (This code was present before
but not encapsualted in a fn).  This can now be used to create a source language
specific parser for builtins.

Along with this, the code creating HLSL intrinsic prototypes can now produce
them in HLSL syntax, rather than GLSL syntax.  This relaxes certain prior
restrictions at the parser level.  Lower layers (e.g, SPIR-V) may still have
such restrictions, such as around Nx1 matrices: this code does not impact
that.

This PR also fleshes out matrix types for bools and ints, both of which were
partially in place before.  This was easier than maintaining the restrictions
in the HLSL prototype generator to avoid creating protoypes with those types.

Many tests change because the result type from intrinsics moves from "global"
to "temp".

Several new tests are added for the new types.
2016-11-16 11:19:22 -07:00

586 lines
28 KiB
Plaintext

hlsl.samplecmplevelzero.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:42 Sequence
0:42 move second child to first child (temp float)
0:42 'r01' (temp float)
0:42 textureLodOffset (temp float)
0:42 Construct combined texture-sampler (temp sampler1DShadow)
0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42 Construct vec2 (temp 2-component vector of float)
0:42 Constant:
0:42 0.100000
0:42 Constant:
0:42 0.750000
0:42 Constant:
0:42 0.000000
0:42 Constant:
0:42 2 (const int)
0:43 Sequence
0:43 move second child to first child (temp float)
0:43 'r03' (temp float)
0:43 textureLodOffset (temp float)
0:43 Construct combined texture-sampler (temp isampler1DShadow)
0:43 'g_tTex1di4' (uniform itexture1D)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43 Construct vec2 (temp 2-component vector of float)
0:43 Constant:
0:43 0.100000
0:43 Constant:
0:43 0.750000
0:43 Constant:
0:43 0.000000
0:43 Constant:
0:43 2 (const int)
0:44 Sequence
0:44 move second child to first child (temp float)
0:44 'r05' (temp float)
0:44 textureLodOffset (temp float)
0:44 Construct combined texture-sampler (temp usampler1DShadow)
0:44 'g_tTex1du4' (uniform utexture1D)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44 Construct vec2 (temp 2-component vector of float)
0:44 Constant:
0:44 0.100000
0:44 Constant:
0:44 0.750000
0:44 Constant:
0:44 0.000000
0:44 Constant:
0:44 2 (const int)
0:47 Sequence
0:47 move second child to first child (temp float)
0:47 'r21' (temp float)
0:47 textureLodOffset (temp float)
0:47 Construct combined texture-sampler (temp sampler2DShadow)
0:47 'g_tTex2df4' (uniform texture2D)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:47 Constant:
0:47 0.750000
0:47 Constant:
0:47 0.000000
0:? Constant:
0:? 2 (const int)
0:? 3 (const int)
0:48 Sequence
0:48 move second child to first child (temp float)
0:48 'r23' (temp float)
0:48 textureLodOffset (temp float)
0:48 Construct combined texture-sampler (temp isampler2DShadow)
0:48 'g_tTex2di4' (uniform itexture2D)
0:48 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:48 Constant:
0:48 0.750000
0:48 Constant:
0:48 0.000000
0:? Constant:
0:? 2 (const int)
0:? 3 (const int)
0:49 Sequence
0:49 move second child to first child (temp float)
0:49 'r25' (temp float)
0:49 textureLodOffset (temp float)
0:49 Construct combined texture-sampler (temp usampler2DShadow)
0:49 'g_tTex2du4' (uniform utexture2D)
0:49 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:49 Constant:
0:49 0.750000
0:49 Constant:
0:49 0.000000
0:? Constant:
0:? 2 (const int)
0:? 3 (const int)
0:62 move second child to first child (temp 4-component vector of float)
0:62 Color: direct index for structure (temp 4-component vector of float)
0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:62 Constant:
0:62 0 (const int)
0:62 Constant:
0:62 1.000000
0:62 1.000000
0:62 1.000000
0:62 1.000000
0:63 move second child to first child (temp float)
0:63 Depth: direct index for structure (temp float)
0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:63 Constant:
0:63 1 (const int)
0:63 Constant:
0:63 1.000000
0:65 Sequence
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:65 Color: direct index for structure (temp 4-component vector of float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 0 (const int)
0:65 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:65 Depth: direct index for structure (temp float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 1 (const int)
0:65 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1di4a' (uniform itexture1DArray)
0:? 'g_tTex1du4a' (uniform utexture1DArray)
0:? 'g_tTex2df4a' (uniform texture2DArray)
0:? 'g_tTex2di4a' (uniform itexture2DArray)
0:? 'g_tTex2du4a' (uniform utexture2DArray)
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:42 Sequence
0:42 move second child to first child (temp float)
0:42 'r01' (temp float)
0:42 textureLodOffset (temp float)
0:42 Construct combined texture-sampler (temp sampler1DShadow)
0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42 Construct vec2 (temp 2-component vector of float)
0:42 Constant:
0:42 0.100000
0:42 Constant:
0:42 0.750000
0:42 Constant:
0:42 0.000000
0:42 Constant:
0:42 2 (const int)
0:43 Sequence
0:43 move second child to first child (temp float)
0:43 'r03' (temp float)
0:43 textureLodOffset (temp float)
0:43 Construct combined texture-sampler (temp isampler1DShadow)
0:43 'g_tTex1di4' (uniform itexture1D)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43 Construct vec2 (temp 2-component vector of float)
0:43 Constant:
0:43 0.100000
0:43 Constant:
0:43 0.750000
0:43 Constant:
0:43 0.000000
0:43 Constant:
0:43 2 (const int)
0:44 Sequence
0:44 move second child to first child (temp float)
0:44 'r05' (temp float)
0:44 textureLodOffset (temp float)
0:44 Construct combined texture-sampler (temp usampler1DShadow)
0:44 'g_tTex1du4' (uniform utexture1D)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44 Construct vec2 (temp 2-component vector of float)
0:44 Constant:
0:44 0.100000
0:44 Constant:
0:44 0.750000
0:44 Constant:
0:44 0.000000
0:44 Constant:
0:44 2 (const int)
0:47 Sequence
0:47 move second child to first child (temp float)
0:47 'r21' (temp float)
0:47 textureLodOffset (temp float)
0:47 Construct combined texture-sampler (temp sampler2DShadow)
0:47 'g_tTex2df4' (uniform texture2D)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:47 Constant:
0:47 0.750000
0:47 Constant:
0:47 0.000000
0:? Constant:
0:? 2 (const int)
0:? 3 (const int)
0:48 Sequence
0:48 move second child to first child (temp float)
0:48 'r23' (temp float)
0:48 textureLodOffset (temp float)
0:48 Construct combined texture-sampler (temp isampler2DShadow)
0:48 'g_tTex2di4' (uniform itexture2D)
0:48 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:48 Constant:
0:48 0.750000
0:48 Constant:
0:48 0.000000
0:? Constant:
0:? 2 (const int)
0:? 3 (const int)
0:49 Sequence
0:49 move second child to first child (temp float)
0:49 'r25' (temp float)
0:49 textureLodOffset (temp float)
0:49 Construct combined texture-sampler (temp usampler2DShadow)
0:49 'g_tTex2du4' (uniform utexture2D)
0:49 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
0:49 Constant:
0:49 0.750000
0:49 Constant:
0:49 0.000000
0:? Constant:
0:? 2 (const int)
0:? 3 (const int)
0:62 move second child to first child (temp 4-component vector of float)
0:62 Color: direct index for structure (temp 4-component vector of float)
0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:62 Constant:
0:62 0 (const int)
0:62 Constant:
0:62 1.000000
0:62 1.000000
0:62 1.000000
0:62 1.000000
0:63 move second child to first child (temp float)
0:63 Depth: direct index for structure (temp float)
0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:63 Constant:
0:63 1 (const int)
0:63 Constant:
0:63 1.000000
0:65 Sequence
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:65 Color: direct index for structure (temp 4-component vector of float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 0 (const int)
0:65 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:65 Depth: direct index for structure (temp float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 1 (const int)
0:65 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'g_tTex1df4a' (uniform texture1DArray)
0:? 'g_tTex1di4a' (uniform itexture1DArray)
0:? 'g_tTex1du4a' (uniform utexture1DArray)
0:? 'g_tTex2df4a' (uniform texture2DArray)
0:? 'g_tTex2di4a' (uniform itexture2DArray)
0:? 'g_tTex2du4a' (uniform utexture2DArray)
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 167
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 114 118
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r01"
Name 11 "g_tTex1df4"
Name 15 "g_sSamp"
Name 29 "r03"
Name 32 "g_tTex1di4"
Name 41 "r05"
Name 45 "g_tTex1du4"
Name 54 "r21"
Name 57 "g_tTex2df4"
Name 74 "r23"
Name 77 "g_tTex2di4"
Name 88 "r25"
Name 91 "g_tTex2du4"
Name 103 "PS_OUTPUT"
MemberName 103(PS_OUTPUT) 0 "Color"
MemberName 103(PS_OUTPUT) 1 "Depth"
Name 105 "psout"
Name 114 "Color"
Name 118 "Depth"
Name 124 "g_tTex3df4"
Name 127 "g_tTex3di4"
Name 130 "g_tTex3du4"
Name 133 "g_tTexcdf4"
Name 136 "g_tTexcdi4"
Name 139 "g_tTexcdu4"
Name 142 "g_tTex1df4a"
Name 145 "g_tTex1di4a"
Name 148 "g_tTex1du4a"
Name 151 "g_tTex2df4a"
Name 154 "g_tTex2di4a"
Name 157 "g_tTex2du4a"
Name 160 "g_tTexcdf4a"
Name 163 "g_tTexcdi4a"
Name 166 "g_tTexcdu4a"
Decorate 11(g_tTex1df4) DescriptorSet 0
Decorate 11(g_tTex1df4) Binding 0
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
Decorate 32(g_tTex1di4) DescriptorSet 0
Decorate 45(g_tTex1du4) DescriptorSet 0
Decorate 57(g_tTex2df4) DescriptorSet 0
Decorate 77(g_tTex2di4) DescriptorSet 0
Decorate 91(g_tTex2du4) DescriptorSet 0
Decorate 114(Color) Location 0
Decorate 118(Depth) BuiltIn FragDepth
Decorate 124(g_tTex3df4) DescriptorSet 0
Decorate 127(g_tTex3di4) DescriptorSet 0
Decorate 130(g_tTex3du4) DescriptorSet 0
Decorate 133(g_tTexcdf4) DescriptorSet 0
Decorate 136(g_tTexcdi4) DescriptorSet 0
Decorate 139(g_tTexcdu4) DescriptorSet 0
Decorate 142(g_tTex1df4a) DescriptorSet 0
Decorate 145(g_tTex1di4a) DescriptorSet 0
Decorate 148(g_tTex1du4a) DescriptorSet 0
Decorate 151(g_tTex2df4a) DescriptorSet 0
Decorate 154(g_tTex2di4a) DescriptorSet 0
Decorate 157(g_tTex2du4a) DescriptorSet 0
Decorate 160(g_tTexcdf4a) DescriptorSet 0
Decorate 163(g_tTexcdi4a) DescriptorSet 0
Decorate 166(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) 1D sampled format:Unknown
10: TypePointer UniformConstant 9
11(g_tTex1df4): 10(ptr) Variable UniformConstant
13: TypeSampler
14: TypePointer UniformConstant 13
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeImage 6(float) 1D depth sampled format:Unknown
18: TypeSampledImage 17
20: 6(float) Constant 1036831949
21: 6(float) Constant 1061158912
22: TypeVector 6(float) 2
24: 6(float) Constant 0
25: TypeInt 32 1
26: 25(int) Constant 2
30: TypeImage 25(int) 1D sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex1di4): 31(ptr) Variable UniformConstant
35: TypeImage 25(int) 1D depth sampled format:Unknown
36: TypeSampledImage 35
42: TypeInt 32 0
43: TypeImage 42(int) 1D sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex1du4): 44(ptr) Variable UniformConstant
48: TypeImage 42(int) 1D depth sampled format:Unknown
49: TypeSampledImage 48
55: TypeImage 6(float) 2D sampled format:Unknown
56: TypePointer UniformConstant 55
57(g_tTex2df4): 56(ptr) Variable UniformConstant
60: TypeImage 6(float) 2D depth sampled format:Unknown
61: TypeSampledImage 60
63: 6(float) Constant 1045220557
64: 22(fvec2) ConstantComposite 20 63
65: TypeVector 6(float) 3
69: TypeVector 25(int) 2
70: 25(int) Constant 3
71: 69(ivec2) ConstantComposite 26 70
75: TypeImage 25(int) 2D sampled format:Unknown
76: TypePointer UniformConstant 75
77(g_tTex2di4): 76(ptr) Variable UniformConstant
80: TypeImage 25(int) 2D depth sampled format:Unknown
81: TypeSampledImage 80
89: TypeImage 42(int) 2D sampled format:Unknown
90: TypePointer UniformConstant 89
91(g_tTex2du4): 90(ptr) Variable UniformConstant
94: TypeImage 42(int) 2D depth sampled format:Unknown
95: TypeSampledImage 94
102: TypeVector 6(float) 4
103(PS_OUTPUT): TypeStruct 102(fvec4) 6(float)
104: TypePointer Function 103(PS_OUTPUT)
106: 25(int) Constant 0
107: 6(float) Constant 1065353216
108: 102(fvec4) ConstantComposite 107 107 107 107
109: TypePointer Function 102(fvec4)
111: 25(int) Constant 1
113: TypePointer Output 102(fvec4)
114(Color): 113(ptr) Variable Output
117: TypePointer Output 6(float)
118(Depth): 117(ptr) Variable Output
122: TypeImage 6(float) 3D sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTex3df4): 123(ptr) Variable UniformConstant
125: TypeImage 25(int) 3D sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTex3di4): 126(ptr) Variable UniformConstant
128: TypeImage 42(int) 3D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex3du4): 129(ptr) Variable UniformConstant
131: TypeImage 6(float) Cube sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTexcdf4): 132(ptr) Variable UniformConstant
134: TypeImage 25(int) Cube sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTexcdi4): 135(ptr) Variable UniformConstant
137: TypeImage 42(int) Cube sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdu4): 138(ptr) Variable UniformConstant
140: TypeImage 6(float) 1D array sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTex1df4a): 141(ptr) Variable UniformConstant
143: TypeImage 25(int) 1D array sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTex1di4a): 144(ptr) Variable UniformConstant
146: TypeImage 42(int) 1D array sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTex1du4a): 147(ptr) Variable UniformConstant
149: TypeImage 6(float) 2D array sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTex2df4a): 150(ptr) Variable UniformConstant
152: TypeImage 25(int) 2D array sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTex2di4a): 153(ptr) Variable UniformConstant
155: TypeImage 42(int) 2D array sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTex2du4a): 156(ptr) Variable UniformConstant
158: TypeImage 6(float) Cube array sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTexcdf4a): 159(ptr) Variable UniformConstant
161: TypeImage 25(int) Cube array sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTexcdi4a): 162(ptr) Variable UniformConstant
164: TypeImage 42(int) Cube array sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTexcdu4a): 165(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(r01): 7(ptr) Variable Function
29(r03): 7(ptr) Variable Function
41(r05): 7(ptr) Variable Function
54(r21): 7(ptr) Variable Function
74(r23): 7(ptr) Variable Function
88(r25): 7(ptr) Variable Function
105(psout): 104(ptr) Variable Function
12: 9 Load 11(g_tTex1df4)
16: 13 Load 15(g_sSamp)
19: 18 SampledImage 12 16
23: 22(fvec2) CompositeConstruct 20 21
27: 6(float) CompositeExtract 23 1
28: 6(float) ImageSampleDrefExplicitLod 19 23 27 Lod ConstOffset 24 26
Store 8(r01) 28
33: 30 Load 32(g_tTex1di4)
34: 13 Load 15(g_sSamp)
37: 36 SampledImage 33 34
38: 22(fvec2) CompositeConstruct 20 21
39: 6(float) CompositeExtract 38 1
40: 6(float) ImageSampleDrefExplicitLod 37 38 39 Lod ConstOffset 24 26
Store 29(r03) 40
46: 43 Load 45(g_tTex1du4)
47: 13 Load 15(g_sSamp)
50: 49 SampledImage 46 47
51: 22(fvec2) CompositeConstruct 20 21
52: 6(float) CompositeExtract 51 1
53: 6(float) ImageSampleDrefExplicitLod 50 51 52 Lod ConstOffset 24 26
Store 41(r05) 53
58: 55 Load 57(g_tTex2df4)
59: 13 Load 15(g_sSamp)
62: 61 SampledImage 58 59
66: 6(float) CompositeExtract 64 0
67: 6(float) CompositeExtract 64 1
68: 65(fvec3) CompositeConstruct 66 67 21
72: 6(float) CompositeExtract 68 2
73: 6(float) ImageSampleDrefExplicitLod 62 68 72 Lod ConstOffset 24 71
Store 54(r21) 73
78: 75 Load 77(g_tTex2di4)
79: 13 Load 15(g_sSamp)
82: 81 SampledImage 78 79
83: 6(float) CompositeExtract 64 0
84: 6(float) CompositeExtract 64 1
85: 65(fvec3) CompositeConstruct 83 84 21
86: 6(float) CompositeExtract 85 2
87: 6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 24 71
Store 74(r23) 87
92: 89 Load 91(g_tTex2du4)
93: 13 Load 15(g_sSamp)
96: 95 SampledImage 92 93
97: 6(float) CompositeExtract 64 0
98: 6(float) CompositeExtract 64 1
99: 65(fvec3) CompositeConstruct 97 98 21
100: 6(float) CompositeExtract 99 2
101: 6(float) ImageSampleDrefExplicitLod 96 99 100 Lod ConstOffset 24 71
Store 88(r25) 101
110: 109(ptr) AccessChain 105(psout) 106
Store 110 108
112: 7(ptr) AccessChain 105(psout) 111
Store 112 107
115: 109(ptr) AccessChain 105(psout) 106
116: 102(fvec4) Load 115
Store 114(Color) 116
119: 7(ptr) AccessChain 105(psout) 111
120: 6(float) Load 119
Store 118(Depth) 120
Return
FunctionEnd