glslang/Test/baseResults/hlsl.samplecmp.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

561 lines
27 KiB
Plaintext

hlsl.samplecmp.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 textureOffset (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 2 (const int)
0:43 Sequence
0:43 move second child to first child (temp float)
0:43 'r03' (temp float)
0:43 textureOffset (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 2 (const int)
0:44 Sequence
0:44 move second child to first child (temp float)
0:44 'r05' (temp float)
0:44 textureOffset (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 2 (const int)
0:47 Sequence
0:47 move second child to first child (temp float)
0:47 'r21' (temp float)
0:47 textureOffset (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:? 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 textureOffset (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:? 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 textureOffset (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:? 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 textureOffset (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 2 (const int)
0:43 Sequence
0:43 move second child to first child (temp float)
0:43 'r03' (temp float)
0:43 textureOffset (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 2 (const int)
0:44 Sequence
0:44 move second child to first child (temp float)
0:44 'r05' (temp float)
0:44 textureOffset (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 2 (const int)
0:47 Sequence
0:47 move second child to first child (temp float)
0:47 'r21' (temp float)
0:47 textureOffset (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:? 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 textureOffset (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:? 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 textureOffset (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:? 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 166
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 113 117
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r01"
Name 11 "g_tTex1df4"
Name 15 "g_sSamp"
Name 28 "r03"
Name 31 "g_tTex1di4"
Name 40 "r05"
Name 44 "g_tTex1du4"
Name 53 "r21"
Name 56 "g_tTex2df4"
Name 73 "r23"
Name 76 "g_tTex2di4"
Name 87 "r25"
Name 90 "g_tTex2du4"
Name 102 "PS_OUTPUT"
MemberName 102(PS_OUTPUT) 0 "Color"
MemberName 102(PS_OUTPUT) 1 "Depth"
Name 104 "psout"
Name 113 "Color"
Name 117 "Depth"
Name 123 "g_tTex3df4"
Name 126 "g_tTex3di4"
Name 129 "g_tTex3du4"
Name 132 "g_tTexcdf4"
Name 135 "g_tTexcdi4"
Name 138 "g_tTexcdu4"
Name 141 "g_tTex1df4a"
Name 144 "g_tTex1di4a"
Name 147 "g_tTex1du4a"
Name 150 "g_tTex2df4a"
Name 153 "g_tTex2di4a"
Name 156 "g_tTex2du4a"
Name 159 "g_tTexcdf4a"
Name 162 "g_tTexcdi4a"
Name 165 "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 31(g_tTex1di4) DescriptorSet 0
Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 56(g_tTex2df4) DescriptorSet 0
Decorate 76(g_tTex2di4) DescriptorSet 0
Decorate 90(g_tTex2du4) DescriptorSet 0
Decorate 113(Color) Location 0
Decorate 117(Depth) BuiltIn FragDepth
Decorate 123(g_tTex3df4) DescriptorSet 0
Decorate 126(g_tTex3di4) DescriptorSet 0
Decorate 129(g_tTex3du4) DescriptorSet 0
Decorate 132(g_tTexcdf4) DescriptorSet 0
Decorate 135(g_tTexcdi4) DescriptorSet 0
Decorate 138(g_tTexcdu4) DescriptorSet 0
Decorate 141(g_tTex1df4a) DescriptorSet 0
Decorate 144(g_tTex1di4a) DescriptorSet 0
Decorate 147(g_tTex1du4a) DescriptorSet 0
Decorate 150(g_tTex2df4a) DescriptorSet 0
Decorate 153(g_tTex2di4a) DescriptorSet 0
Decorate 156(g_tTex2du4a) DescriptorSet 0
Decorate 159(g_tTexcdf4a) DescriptorSet 0
Decorate 162(g_tTexcdi4a) DescriptorSet 0
Decorate 165(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: TypeInt 32 1
25: 24(int) Constant 2
29: TypeImage 24(int) 1D sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex1di4): 30(ptr) Variable UniformConstant
34: TypeImage 24(int) 1D depth sampled format:Unknown
35: TypeSampledImage 34
41: TypeInt 32 0
42: TypeImage 41(int) 1D sampled format:Unknown
43: TypePointer UniformConstant 42
44(g_tTex1du4): 43(ptr) Variable UniformConstant
47: TypeImage 41(int) 1D depth sampled format:Unknown
48: TypeSampledImage 47
54: TypeImage 6(float) 2D sampled format:Unknown
55: TypePointer UniformConstant 54
56(g_tTex2df4): 55(ptr) Variable UniformConstant
59: TypeImage 6(float) 2D depth sampled format:Unknown
60: TypeSampledImage 59
62: 6(float) Constant 1045220557
63: 22(fvec2) ConstantComposite 20 62
64: TypeVector 6(float) 3
68: TypeVector 24(int) 2
69: 24(int) Constant 3
70: 68(ivec2) ConstantComposite 25 69
74: TypeImage 24(int) 2D sampled format:Unknown
75: TypePointer UniformConstant 74
76(g_tTex2di4): 75(ptr) Variable UniformConstant
79: TypeImage 24(int) 2D depth sampled format:Unknown
80: TypeSampledImage 79
88: TypeImage 41(int) 2D sampled format:Unknown
89: TypePointer UniformConstant 88
90(g_tTex2du4): 89(ptr) Variable UniformConstant
93: TypeImage 41(int) 2D depth sampled format:Unknown
94: TypeSampledImage 93
101: TypeVector 6(float) 4
102(PS_OUTPUT): TypeStruct 101(fvec4) 6(float)
103: TypePointer Function 102(PS_OUTPUT)
105: 24(int) Constant 0
106: 6(float) Constant 1065353216
107: 101(fvec4) ConstantComposite 106 106 106 106
108: TypePointer Function 101(fvec4)
110: 24(int) Constant 1
112: TypePointer Output 101(fvec4)
113(Color): 112(ptr) Variable Output
116: TypePointer Output 6(float)
117(Depth): 116(ptr) Variable Output
121: TypeImage 6(float) 3D sampled format:Unknown
122: TypePointer UniformConstant 121
123(g_tTex3df4): 122(ptr) Variable UniformConstant
124: TypeImage 24(int) 3D sampled format:Unknown
125: TypePointer UniformConstant 124
126(g_tTex3di4): 125(ptr) Variable UniformConstant
127: TypeImage 41(int) 3D sampled format:Unknown
128: TypePointer UniformConstant 127
129(g_tTex3du4): 128(ptr) Variable UniformConstant
130: TypeImage 6(float) Cube sampled format:Unknown
131: TypePointer UniformConstant 130
132(g_tTexcdf4): 131(ptr) Variable UniformConstant
133: TypeImage 24(int) Cube sampled format:Unknown
134: TypePointer UniformConstant 133
135(g_tTexcdi4): 134(ptr) Variable UniformConstant
136: TypeImage 41(int) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdu4): 137(ptr) Variable UniformConstant
139: TypeImage 6(float) 1D array sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTex1df4a): 140(ptr) Variable UniformConstant
142: TypeImage 24(int) 1D array sampled format:Unknown
143: TypePointer UniformConstant 142
144(g_tTex1di4a): 143(ptr) Variable UniformConstant
145: TypeImage 41(int) 1D array sampled format:Unknown
146: TypePointer UniformConstant 145
147(g_tTex1du4a): 146(ptr) Variable UniformConstant
148: TypeImage 6(float) 2D array sampled format:Unknown
149: TypePointer UniformConstant 148
150(g_tTex2df4a): 149(ptr) Variable UniformConstant
151: TypeImage 24(int) 2D array sampled format:Unknown
152: TypePointer UniformConstant 151
153(g_tTex2di4a): 152(ptr) Variable UniformConstant
154: TypeImage 41(int) 2D array sampled format:Unknown
155: TypePointer UniformConstant 154
156(g_tTex2du4a): 155(ptr) Variable UniformConstant
157: TypeImage 6(float) Cube array sampled format:Unknown
158: TypePointer UniformConstant 157
159(g_tTexcdf4a): 158(ptr) Variable UniformConstant
160: TypeImage 24(int) Cube array sampled format:Unknown
161: TypePointer UniformConstant 160
162(g_tTexcdi4a): 161(ptr) Variable UniformConstant
163: TypeImage 41(int) Cube array sampled format:Unknown
164: TypePointer UniformConstant 163
165(g_tTexcdu4a): 164(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(r01): 7(ptr) Variable Function
28(r03): 7(ptr) Variable Function
40(r05): 7(ptr) Variable Function
53(r21): 7(ptr) Variable Function
73(r23): 7(ptr) Variable Function
87(r25): 7(ptr) Variable Function
104(psout): 103(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
26: 6(float) CompositeExtract 23 1
27: 6(float) ImageSampleDrefImplicitLod 19 23 26 ConstOffset 25
Store 8(r01) 27
32: 29 Load 31(g_tTex1di4)
33: 13 Load 15(g_sSamp)
36: 35 SampledImage 32 33
37: 22(fvec2) CompositeConstruct 20 21
38: 6(float) CompositeExtract 37 1
39: 6(float) ImageSampleDrefImplicitLod 36 37 38 ConstOffset 25
Store 28(r03) 39
45: 42 Load 44(g_tTex1du4)
46: 13 Load 15(g_sSamp)
49: 48 SampledImage 45 46
50: 22(fvec2) CompositeConstruct 20 21
51: 6(float) CompositeExtract 50 1
52: 6(float) ImageSampleDrefImplicitLod 49 50 51 ConstOffset 25
Store 40(r05) 52
57: 54 Load 56(g_tTex2df4)
58: 13 Load 15(g_sSamp)
61: 60 SampledImage 57 58
65: 6(float) CompositeExtract 63 0
66: 6(float) CompositeExtract 63 1
67: 64(fvec3) CompositeConstruct 65 66 21
71: 6(float) CompositeExtract 67 2
72: 6(float) ImageSampleDrefImplicitLod 61 67 71 ConstOffset 70
Store 53(r21) 72
77: 74 Load 76(g_tTex2di4)
78: 13 Load 15(g_sSamp)
81: 80 SampledImage 77 78
82: 6(float) CompositeExtract 63 0
83: 6(float) CompositeExtract 63 1
84: 64(fvec3) CompositeConstruct 82 83 21
85: 6(float) CompositeExtract 84 2
86: 6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 70
Store 73(r23) 86
91: 88 Load 90(g_tTex2du4)
92: 13 Load 15(g_sSamp)
95: 94 SampledImage 91 92
96: 6(float) CompositeExtract 63 0
97: 6(float) CompositeExtract 63 1
98: 64(fvec3) CompositeConstruct 96 97 21
99: 6(float) CompositeExtract 98 2
100: 6(float) ImageSampleDrefImplicitLod 95 98 99 ConstOffset 70
Store 87(r25) 100
109: 108(ptr) AccessChain 104(psout) 105
Store 109 107
111: 7(ptr) AccessChain 104(psout) 110
Store 111 106
114: 108(ptr) AccessChain 104(psout) 105
115: 101(fvec4) Load 114
Store 113(Color) 115
118: 7(ptr) AccessChain 104(psout) 110
119: 6(float) Load 118
Store 117(Depth) 119
Return
FunctionEnd