HLSL: fix defect in EOpMethodSampleCmp* texture decomposition

HLSL holds the compare value in a separate intrinsic arg, but the AST wants
a vector including the cmp val, except in the 4-dim coord case, where it
doesn't fit and is in fact a separate AST parameter.  This is awkward but
necessary, given AST semantics.  In the process, a new vector is constructed
for the combined result, but this vector was not being given the correct
TType, so was causing some downstream troubles.

Now it is.  A similar defect existed in OpTextureBias, and has also been
fixed.
This commit is contained in:
steve-lunarg 2016-10-20 14:50:12 -06:00
parent 5d45eadedc
commit 6b596682c9
9 changed files with 1951 additions and 1806 deletions

View file

@ -12,7 +12,7 @@ gl_FragCoord origin is upper left
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 float)
0:42 Construct vec2 (temp 2-component vector of float)
0:42 Constant:
0:42 0.100000
0:42 Constant:
@ -26,7 +26,7 @@ gl_FragCoord origin is upper left
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 float)
0:43 Construct vec2 (temp 2-component vector of float)
0:43 Constant:
0:43 0.100000
0:43 Constant:
@ -40,7 +40,7 @@ gl_FragCoord origin is upper left
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 float)
0:44 Construct vec2 (temp 2-component vector of float)
0:44 Constant:
0:44 0.100000
0:44 Constant:
@ -54,7 +54,7 @@ gl_FragCoord origin is upper left
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 float)
0:47 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
@ -70,7 +70,7 @@ gl_FragCoord origin is upper left
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 float)
0:48 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
@ -86,7 +86,7 @@ gl_FragCoord origin is upper left
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 float)
0:49 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
@ -170,7 +170,7 @@ gl_FragCoord origin is upper left
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 float)
0:42 Construct vec2 (temp 2-component vector of float)
0:42 Constant:
0:42 0.100000
0:42 Constant:
@ -184,7 +184,7 @@ gl_FragCoord origin is upper left
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 float)
0:43 Construct vec2 (temp 2-component vector of float)
0:43 Constant:
0:43 0.100000
0:43 Constant:
@ -198,7 +198,7 @@ gl_FragCoord origin is upper left
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 float)
0:44 Construct vec2 (temp 2-component vector of float)
0:44 Constant:
0:44 0.100000
0:44 Constant:
@ -212,7 +212,7 @@ gl_FragCoord origin is upper left
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 float)
0:47 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
@ -228,7 +228,7 @@ gl_FragCoord origin is upper left
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 float)
0:48 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
@ -244,7 +244,7 @@ gl_FragCoord origin is upper left
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 float)
0:49 Construct vec3 (temp 3-component vector of float)
0:? Constant:
0:? 0.100000
0:? 0.200000
@ -313,76 +313,76 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 156
// Id's are bound by 166
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 103 107
EntryPoint Fragment 4 "main" 113 117
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r01"
Name 11 "g_tTex1df4"
Name 15 "g_sSamp"
Name 26 "r03"
Name 29 "g_tTex1di4"
Name 37 "r05"
Name 41 "g_tTex1du4"
Name 49 "r21"
Name 52 "g_tTex2df4"
Name 67 "r23"
Name 70 "g_tTex2di4"
Name 79 "r25"
Name 82 "g_tTex2du4"
Name 92 "PS_OUTPUT"
MemberName 92(PS_OUTPUT) 0 "Color"
MemberName 92(PS_OUTPUT) 1 "Depth"
Name 94 "psout"
Name 103 "Color"
Name 107 "Depth"
Name 113 "g_tTex3df4"
Name 116 "g_tTex3di4"
Name 119 "g_tTex3du4"
Name 122 "g_tTexcdf4"
Name 125 "g_tTexcdi4"
Name 128 "g_tTexcdu4"
Name 131 "g_tTex1df4a"
Name 134 "g_tTex1di4a"
Name 137 "g_tTex1du4a"
Name 140 "g_tTex2df4a"
Name 143 "g_tTex2di4a"
Name 146 "g_tTex2du4a"
Name 149 "g_tTexcdf4a"
Name 152 "g_tTexcdi4a"
Name 155 "g_tTexcdu4a"
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 29(g_tTex1di4) DescriptorSet 0
Decorate 41(g_tTex1du4) DescriptorSet 0
Decorate 52(g_tTex2df4) DescriptorSet 0
Decorate 70(g_tTex2di4) DescriptorSet 0
Decorate 82(g_tTex2du4) DescriptorSet 0
Decorate 103(Color) Location 0
Decorate 107(Depth) BuiltIn FragDepth
Decorate 113(g_tTex3df4) DescriptorSet 0
Decorate 116(g_tTex3di4) DescriptorSet 0
Decorate 119(g_tTex3du4) DescriptorSet 0
Decorate 122(g_tTexcdf4) DescriptorSet 0
Decorate 125(g_tTexcdi4) DescriptorSet 0
Decorate 128(g_tTexcdu4) DescriptorSet 0
Decorate 131(g_tTex1df4a) DescriptorSet 0
Decorate 134(g_tTex1di4a) DescriptorSet 0
Decorate 137(g_tTex1du4a) DescriptorSet 0
Decorate 140(g_tTex2df4a) DescriptorSet 0
Decorate 143(g_tTex2di4a) DescriptorSet 0
Decorate 146(g_tTex2du4a) DescriptorSet 0
Decorate 149(g_tTexcdf4a) DescriptorSet 0
Decorate 152(g_tTexcdi4a) DescriptorSet 0
Decorate 155(g_tTexcdu4a) DescriptorSet 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
@ -397,154 +397,164 @@ gl_FragCoord origin is upper left
18: TypeSampledImage 17
20: 6(float) Constant 1036831949
21: 6(float) Constant 1061158912
22: TypeInt 32 1
23: 22(int) Constant 2
27: TypeImage 22(int) 1D sampled format:Unknown
28: TypePointer UniformConstant 27
29(g_tTex1di4): 28(ptr) Variable UniformConstant
32: TypeImage 22(int) 1D depth sampled format:Unknown
33: TypeSampledImage 32
38: TypeInt 32 0
39: TypeImage 38(int) 1D sampled format:Unknown
40: TypePointer UniformConstant 39
41(g_tTex1du4): 40(ptr) Variable UniformConstant
44: TypeImage 38(int) 1D depth sampled format:Unknown
45: TypeSampledImage 44
50: TypeImage 6(float) 2D sampled format:Unknown
51: TypePointer UniformConstant 50
52(g_tTex2df4): 51(ptr) Variable UniformConstant
55: TypeImage 6(float) 2D depth sampled format:Unknown
56: TypeSampledImage 55
58: TypeVector 6(float) 2
59: 6(float) Constant 1045220557
60: 58(fvec2) ConstantComposite 20 59
62: TypeVector 22(int) 2
63: 22(int) Constant 3
64: 62(ivec2) ConstantComposite 23 63
68: TypeImage 22(int) 2D sampled format:Unknown
69: TypePointer UniformConstant 68
70(g_tTex2di4): 69(ptr) Variable UniformConstant
73: TypeImage 22(int) 2D depth sampled format:Unknown
74: TypeSampledImage 73
80: TypeImage 38(int) 2D sampled format:Unknown
81: TypePointer UniformConstant 80
82(g_tTex2du4): 81(ptr) Variable UniformConstant
85: TypeImage 38(int) 2D depth sampled format:Unknown
86: TypeSampledImage 85
91: TypeVector 6(float) 4
92(PS_OUTPUT): TypeStruct 91(fvec4) 6(float)
93: TypePointer Function 92(PS_OUTPUT)
95: 22(int) Constant 0
96: 6(float) Constant 1065353216
97: 91(fvec4) ConstantComposite 96 96 96 96
98: TypePointer Function 91(fvec4)
100: 22(int) Constant 1
102: TypePointer Output 91(fvec4)
103(Color): 102(ptr) Variable Output
106: TypePointer Output 6(float)
107(Depth): 106(ptr) Variable Output
111: TypeImage 6(float) 3D sampled format:Unknown
112: TypePointer UniformConstant 111
113(g_tTex3df4): 112(ptr) Variable UniformConstant
114: TypeImage 22(int) 3D sampled format:Unknown
115: TypePointer UniformConstant 114
116(g_tTex3di4): 115(ptr) Variable UniformConstant
117: TypeImage 38(int) 3D sampled format:Unknown
118: TypePointer UniformConstant 117
119(g_tTex3du4): 118(ptr) Variable UniformConstant
120: TypeImage 6(float) Cube sampled format:Unknown
121: TypePointer UniformConstant 120
122(g_tTexcdf4): 121(ptr) Variable UniformConstant
123: TypeImage 22(int) Cube sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTexcdi4): 124(ptr) Variable UniformConstant
126: TypeImage 38(int) Cube sampled format:Unknown
127: TypePointer UniformConstant 126
128(g_tTexcdu4): 127(ptr) Variable UniformConstant
129: TypeImage 6(float) 1D array sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex1df4a): 130(ptr) Variable UniformConstant
132: TypeImage 22(int) 1D array sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTex1di4a): 133(ptr) Variable UniformConstant
135: TypeImage 38(int) 1D array sampled format:Unknown
136: TypePointer UniformConstant 135
137(g_tTex1du4a): 136(ptr) Variable UniformConstant
138: TypeImage 6(float) 2D array sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_tTex2df4a): 139(ptr) Variable UniformConstant
141: TypeImage 22(int) 2D array sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTex2di4a): 142(ptr) Variable UniformConstant
144: TypeImage 38(int) 2D array sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTex2du4a): 145(ptr) Variable UniformConstant
147: TypeImage 6(float) Cube array sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdf4a): 148(ptr) Variable UniformConstant
150: TypeImage 22(int) Cube array sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTexcdi4a): 151(ptr) Variable UniformConstant
153: TypeImage 38(int) Cube array sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTexcdu4a): 154(ptr) Variable UniformConstant
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
26(r03): 7(ptr) Variable Function
37(r05): 7(ptr) Variable Function
49(r21): 7(ptr) Variable Function
67(r23): 7(ptr) Variable Function
79(r25): 7(ptr) Variable Function
94(psout): 93(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
24: 6(float) CompositeExtract 20 0
25: 6(float) ImageSampleDrefImplicitLod 19 20 24 ConstOffset 23
Store 8(r01) 25
30: 27 Load 29(g_tTex1di4)
31: 13 Load 15(g_sSamp)
34: 33 SampledImage 30 31
35: 6(float) CompositeExtract 20 0
36: 6(float) ImageSampleDrefImplicitLod 34 20 35 ConstOffset 23
Store 26(r03) 36
42: 39 Load 41(g_tTex1du4)
43: 13 Load 15(g_sSamp)
46: 45 SampledImage 42 43
47: 6(float) CompositeExtract 20 0
48: 6(float) ImageSampleDrefImplicitLod 46 20 47 ConstOffset 23
Store 37(r05) 48
53: 50 Load 52(g_tTex2df4)
54: 13 Load 15(g_sSamp)
57: 56 SampledImage 53 54
61: 6(float) CompositeExtract 60 0
65: 6(float) CompositeExtract 61 0
66: 6(float) ImageSampleDrefImplicitLod 57 61 65 ConstOffset 64
Store 49(r21) 66
71: 68 Load 70(g_tTex2di4)
72: 13 Load 15(g_sSamp)
75: 74 SampledImage 71 72
76: 6(float) CompositeExtract 60 0
77: 6(float) CompositeExtract 76 0
78: 6(float) ImageSampleDrefImplicitLod 75 76 77 ConstOffset 64
Store 67(r23) 78
83: 80 Load 82(g_tTex2du4)
84: 13 Load 15(g_sSamp)
87: 86 SampledImage 83 84
88: 6(float) CompositeExtract 60 0
89: 6(float) CompositeExtract 88 0
90: 6(float) ImageSampleDrefImplicitLod 87 88 89 ConstOffset 64
Store 79(r25) 90
99: 98(ptr) AccessChain 94(psout) 95
Store 99 97
101: 7(ptr) AccessChain 94(psout) 100
Store 101 96
104: 98(ptr) AccessChain 94(psout) 95
105: 91(fvec4) Load 104
Store 103(Color) 105
108: 7(ptr) AccessChain 94(psout) 100
109: 6(float) Load 108
Store 107(Depth) 109
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