HLSL: force textures to shadow modes from combined samplers

Texture shadow mode must match the state of the sampler they are
combined with.  This change does that, both for the AST and the
symbol table.  Note that the texture cannot easily be *created*
the right way, because this may not be known at that time.  Instead,
the texture is subsequently patched.

This cannot work if a single texture is used with both a shadow and
non-shadow sampler, so that case is detected and generates an error.
This is permitted by the HLSL language, however.  See #1073 discussion.

Fixed one test source that was using a texture with both shadow and
non-shadow samplers.
This commit is contained in:
LoopDawg
2017-09-27 09:12:51 -06:00
parent f21c173a05
commit 195f584e09
13 changed files with 2358 additions and 2366 deletions

View File

@@ -10,7 +10,7 @@ gl_FragCoord origin is upper left
0:42 'r10' ( temp float)
0:42 textureLod ( temp float)
0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow)
0:42 'g_tTex1df4a' ( uniform texture1DArray)
0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:42 'g_sSamp' (layout( binding=0) uniform sampler)
0:42 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -25,7 +25,7 @@ gl_FragCoord origin is upper left
0:43 'r12' ( temp float)
0:43 textureLod ( temp float)
0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow)
0:43 'g_tTex1di4a' ( uniform itexture1DArray)
0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:43 'g_sSamp' (layout( binding=0) uniform sampler)
0:43 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -40,7 +40,7 @@ gl_FragCoord origin is upper left
0:44 'r14' ( temp float)
0:44 textureLod ( temp float)
0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow)
0:44 'g_tTex1du4a' ( uniform utexture1DArray)
0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:44 'g_sSamp' (layout( binding=0) uniform sampler)
0:44 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -55,7 +55,7 @@ gl_FragCoord origin is upper left
0:47 'r30' ( temp float)
0:47 textureLod ( temp float)
0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow)
0:47 'g_tTex2df4a' ( uniform texture2DArray)
0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:47 'g_sSamp' (layout( binding=0) uniform sampler)
0:47 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -71,7 +71,7 @@ gl_FragCoord origin is upper left
0:48 'r32' ( temp float)
0:48 textureLod ( temp float)
0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow)
0:48 'g_tTex2di4a' ( uniform itexture2DArray)
0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:48 'g_sSamp' (layout( binding=0) uniform sampler)
0:48 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -87,7 +87,7 @@ gl_FragCoord origin is upper left
0:49 'r34' ( temp float)
0:49 textureLod ( temp float)
0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow)
0:49 'g_tTex2du4a' ( uniform utexture2DArray)
0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:49 'g_sSamp' (layout( binding=0) uniform sampler)
0:49 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -103,7 +103,7 @@ gl_FragCoord origin is upper left
0:52 'r60' ( temp float)
0:52 textureLod ( temp float)
0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow)
0:52 'g_tTexcdf4a' ( uniform textureCubeArray)
0:52 'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:52 'g_sSamp' (layout( binding=0) uniform sampler)
0:52 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -120,7 +120,7 @@ gl_FragCoord origin is upper left
0:53 'r62' ( temp float)
0:53 textureLod ( temp float)
0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
0:53 'g_tTexcdi4a' ( uniform itextureCubeArray)
0:53 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:53 'g_sSamp' (layout( binding=0) uniform sampler)
0:53 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -137,7 +137,7 @@ gl_FragCoord origin is upper left
0:54 'r64' ( temp float)
0:54 textureLod ( temp float)
0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
0:54 'g_tTexcdu4a' ( uniform utextureCubeArray)
0:54 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
0:54 'g_sSamp' (layout( binding=0) uniform sampler)
0:54 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -201,15 +201,15 @@ gl_FragCoord origin is upper left
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)
0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:? 'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:? 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:? 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
0:? '@entryPointOutput.Depth' ( out float FragDepth)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
@@ -228,7 +228,7 @@ gl_FragCoord origin is upper left
0:42 'r10' ( temp float)
0:42 textureLod ( temp float)
0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow)
0:42 'g_tTex1df4a' ( uniform texture1DArray)
0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:42 'g_sSamp' (layout( binding=0) uniform sampler)
0:42 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -243,7 +243,7 @@ gl_FragCoord origin is upper left
0:43 'r12' ( temp float)
0:43 textureLod ( temp float)
0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow)
0:43 'g_tTex1di4a' ( uniform itexture1DArray)
0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:43 'g_sSamp' (layout( binding=0) uniform sampler)
0:43 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -258,7 +258,7 @@ gl_FragCoord origin is upper left
0:44 'r14' ( temp float)
0:44 textureLod ( temp float)
0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow)
0:44 'g_tTex1du4a' ( uniform utexture1DArray)
0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:44 'g_sSamp' (layout( binding=0) uniform sampler)
0:44 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -273,7 +273,7 @@ gl_FragCoord origin is upper left
0:47 'r30' ( temp float)
0:47 textureLod ( temp float)
0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow)
0:47 'g_tTex2df4a' ( uniform texture2DArray)
0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:47 'g_sSamp' (layout( binding=0) uniform sampler)
0:47 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -289,7 +289,7 @@ gl_FragCoord origin is upper left
0:48 'r32' ( temp float)
0:48 textureLod ( temp float)
0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow)
0:48 'g_tTex2di4a' ( uniform itexture2DArray)
0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:48 'g_sSamp' (layout( binding=0) uniform sampler)
0:48 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -305,7 +305,7 @@ gl_FragCoord origin is upper left
0:49 'r34' ( temp float)
0:49 textureLod ( temp float)
0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow)
0:49 'g_tTex2du4a' ( uniform utexture2DArray)
0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:49 'g_sSamp' (layout( binding=0) uniform sampler)
0:49 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -321,7 +321,7 @@ gl_FragCoord origin is upper left
0:52 'r60' ( temp float)
0:52 textureLod ( temp float)
0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow)
0:52 'g_tTexcdf4a' ( uniform textureCubeArray)
0:52 'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:52 'g_sSamp' (layout( binding=0) uniform sampler)
0:52 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -338,7 +338,7 @@ gl_FragCoord origin is upper left
0:53 'r62' ( temp float)
0:53 textureLod ( temp float)
0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
0:53 'g_tTexcdi4a' ( uniform itextureCubeArray)
0:53 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:53 'g_sSamp' (layout( binding=0) uniform sampler)
0:53 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -355,7 +355,7 @@ gl_FragCoord origin is upper left
0:54 'r64' ( temp float)
0:54 textureLod ( temp float)
0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
0:54 'g_tTexcdu4a' ( uniform utextureCubeArray)
0:54 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
0:54 'g_sSamp' (layout( binding=0) uniform sampler)
0:54 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -419,28 +419,28 @@ gl_FragCoord origin is upper left
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)
0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:? 'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:? 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:? 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
0:? '@entryPointOutput.Depth' ( out float FragDepth)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 219
// Id's are bound by 210
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 176 180
EntryPoint Fragment 4 "main" 167 171
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
@@ -451,64 +451,64 @@ gl_FragCoord origin is upper left
Name 13 "r10"
Name 16 "g_tTex1df4a"
Name 20 "g_sSamp"
Name 37 "r12"
Name 41 "g_tTex1di4a"
Name 52 "r14"
Name 56 "g_tTex1du4a"
Name 67 "r30"
Name 70 "g_tTex2df4a"
Name 84 "r32"
Name 87 "g_tTex2di4a"
Name 99 "r34"
Name 102 "g_tTex2du4a"
Name 114 "r60"
Name 117 "g_tTexcdf4a"
Name 131 "r62"
Name 134 "g_tTexcdi4a"
Name 146 "r64"
Name 149 "g_tTexcdu4a"
Name 162 "psout"
Name 173 "flattenTemp"
Name 176 "@entryPointOutput.Color"
Name 180 "@entryPointOutput.Depth"
Name 185 "g_tTex1df4"
Name 188 "g_tTex1di4"
Name 191 "g_tTex1du4"
Name 194 "g_tTex2df4"
Name 197 "g_tTex2di4"
Name 200 "g_tTex2du4"
Name 203 "g_tTex3df4"
Name 206 "g_tTex3di4"
Name 209 "g_tTex3du4"
Name 212 "g_tTexcdf4"
Name 215 "g_tTexcdi4"
Name 218 "g_tTexcdu4"
Name 36 "r12"
Name 40 "g_tTex1di4a"
Name 50 "r14"
Name 54 "g_tTex1du4a"
Name 64 "r30"
Name 67 "g_tTex2df4a"
Name 80 "r32"
Name 83 "g_tTex2di4a"
Name 94 "r34"
Name 97 "g_tTex2du4a"
Name 108 "r60"
Name 111 "g_tTexcdf4a"
Name 124 "r62"
Name 127 "g_tTexcdi4a"
Name 138 "r64"
Name 141 "g_tTexcdu4a"
Name 153 "psout"
Name 164 "flattenTemp"
Name 167 "@entryPointOutput.Color"
Name 171 "@entryPointOutput.Depth"
Name 176 "g_tTex1df4"
Name 179 "g_tTex1di4"
Name 182 "g_tTex1du4"
Name 185 "g_tTex2df4"
Name 188 "g_tTex2di4"
Name 191 "g_tTex2du4"
Name 194 "g_tTex3df4"
Name 197 "g_tTex3di4"
Name 200 "g_tTex3du4"
Name 203 "g_tTexcdf4"
Name 206 "g_tTexcdi4"
Name 209 "g_tTexcdu4"
Decorate 16(g_tTex1df4a) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 41(g_tTex1di4a) DescriptorSet 0
Decorate 56(g_tTex1du4a) DescriptorSet 0
Decorate 70(g_tTex2df4a) DescriptorSet 0
Decorate 87(g_tTex2di4a) DescriptorSet 0
Decorate 102(g_tTex2du4a) DescriptorSet 0
Decorate 117(g_tTexcdf4a) DescriptorSet 0
Decorate 134(g_tTexcdi4a) DescriptorSet 0
Decorate 149(g_tTexcdu4a) DescriptorSet 0
Decorate 176(@entryPointOutput.Color) Location 0
Decorate 180(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 185(g_tTex1df4) DescriptorSet 0
Decorate 185(g_tTex1df4) Binding 0
Decorate 188(g_tTex1di4) DescriptorSet 0
Decorate 191(g_tTex1du4) DescriptorSet 0
Decorate 194(g_tTex2df4) DescriptorSet 0
Decorate 197(g_tTex2di4) DescriptorSet 0
Decorate 200(g_tTex2du4) DescriptorSet 0
Decorate 203(g_tTex3df4) DescriptorSet 0
Decorate 206(g_tTex3di4) DescriptorSet 0
Decorate 209(g_tTex3du4) DescriptorSet 0
Decorate 212(g_tTexcdf4) DescriptorSet 0
Decorate 215(g_tTexcdi4) DescriptorSet 0
Decorate 218(g_tTexcdu4) DescriptorSet 0
Decorate 40(g_tTex1di4a) DescriptorSet 0
Decorate 54(g_tTex1du4a) DescriptorSet 0
Decorate 67(g_tTex2df4a) DescriptorSet 0
Decorate 83(g_tTex2di4a) DescriptorSet 0
Decorate 97(g_tTex2du4a) DescriptorSet 0
Decorate 111(g_tTexcdf4a) DescriptorSet 0
Decorate 127(g_tTexcdi4a) DescriptorSet 0
Decorate 141(g_tTexcdu4a) DescriptorSet 0
Decorate 167(@entryPointOutput.Color) Location 0
Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 176(g_tTex1df4) DescriptorSet 0
Decorate 176(g_tTex1df4) Binding 0
Decorate 179(g_tTex1di4) DescriptorSet 0
Decorate 182(g_tTex1du4) DescriptorSet 0
Decorate 185(g_tTex2df4) DescriptorSet 0
Decorate 188(g_tTex2di4) DescriptorSet 0
Decorate 191(g_tTex2du4) DescriptorSet 0
Decorate 194(g_tTex3df4) DescriptorSet 0
Decorate 197(g_tTex3di4) DescriptorSet 0
Decorate 200(g_tTex3du4) DescriptorSet 0
Decorate 203(g_tTexcdf4) DescriptorSet 0
Decorate 206(g_tTexcdi4) DescriptorSet 0
Decorate 209(g_tTexcdu4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -516,229 +516,220 @@ gl_FragCoord origin is upper left
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) 1D array sampled format:Unknown
14: TypeImage 6(float) 1D depth array sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex1df4a): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeImage 6(float) 1D depth array sampled format:Unknown
23: TypeSampledImage 22
25: TypeVector 6(float) 2
26: 6(float) Constant 1036831949
27: 6(float) Constant 1045220557
28: 25(fvec2) ConstantComposite 26 27
29: 6(float) Constant 1061158912
30: TypeVector 6(float) 3
34: 6(float) Constant 0
38: TypeInt 32 1
39: TypeImage 38(int) 1D array sampled format:Unknown
40: TypePointer UniformConstant 39
41(g_tTex1di4a): 40(ptr) Variable UniformConstant
44: TypeImage 38(int) 1D depth array sampled format:Unknown
45: TypeSampledImage 44
53: TypeInt 32 0
54: TypeImage 53(int) 1D array sampled format:Unknown
55: TypePointer UniformConstant 54
56(g_tTex1du4a): 55(ptr) Variable UniformConstant
59: TypeImage 53(int) 1D depth array sampled format:Unknown
60: TypeSampledImage 59
68: TypeImage 6(float) 2D array sampled format:Unknown
69: TypePointer UniformConstant 68
70(g_tTex2df4a): 69(ptr) Variable UniformConstant
73: TypeImage 6(float) 2D depth array sampled format:Unknown
74: TypeSampledImage 73
76: 6(float) Constant 1050253722
77: 30(fvec3) ConstantComposite 26 27 76
85: TypeImage 38(int) 2D array sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTex2di4a): 86(ptr) Variable UniformConstant
90: TypeImage 38(int) 2D depth array sampled format:Unknown
91: TypeSampledImage 90
100: TypeImage 53(int) 2D array sampled format:Unknown
101: TypePointer UniformConstant 100
102(g_tTex2du4a): 101(ptr) Variable UniformConstant
105: TypeImage 53(int) 2D depth array sampled format:Unknown
106: TypeSampledImage 105
115: TypeImage 6(float) Cube array sampled format:Unknown
116: TypePointer UniformConstant 115
117(g_tTexcdf4a): 116(ptr) Variable UniformConstant
120: TypeImage 6(float) Cube depth array sampled format:Unknown
121: TypeSampledImage 120
123: 6(float) Constant 1053609165
124: 7(fvec4) ConstantComposite 26 27 76 123
132: TypeImage 38(int) Cube array sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTexcdi4a): 133(ptr) Variable UniformConstant
137: TypeImage 38(int) Cube depth array sampled format:Unknown
138: TypeSampledImage 137
147: TypeImage 53(int) Cube array sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdu4a): 148(ptr) Variable UniformConstant
152: TypeImage 53(int) Cube depth array sampled format:Unknown
153: TypeSampledImage 152
161: TypePointer Function 8(PS_OUTPUT)
163: 38(int) Constant 0
164: 6(float) Constant 1065353216
165: 7(fvec4) ConstantComposite 164 164 164 164
166: TypePointer Function 7(fvec4)
168: 38(int) Constant 1
175: TypePointer Output 7(fvec4)
176(@entryPointOutput.Color): 175(ptr) Variable Output
179: TypePointer Output 6(float)
180(@entryPointOutput.Depth): 179(ptr) Variable Output
183: TypeImage 6(float) 1D sampled format:Unknown
22: TypeSampledImage 14
24: TypeVector 6(float) 2
25: 6(float) Constant 1036831949
26: 6(float) Constant 1045220557
27: 24(fvec2) ConstantComposite 25 26
28: 6(float) Constant 1061158912
29: TypeVector 6(float) 3
33: 6(float) Constant 0
37: TypeInt 32 1
38: TypeImage 37(int) 1D depth array sampled format:Unknown
39: TypePointer UniformConstant 38
40(g_tTex1di4a): 39(ptr) Variable UniformConstant
43: TypeSampledImage 38
51: TypeInt 32 0
52: TypeImage 51(int) 1D depth array sampled format:Unknown
53: TypePointer UniformConstant 52
54(g_tTex1du4a): 53(ptr) Variable UniformConstant
57: TypeSampledImage 52
65: TypeImage 6(float) 2D depth array sampled format:Unknown
66: TypePointer UniformConstant 65
67(g_tTex2df4a): 66(ptr) Variable UniformConstant
70: TypeSampledImage 65
72: 6(float) Constant 1050253722
73: 29(fvec3) ConstantComposite 25 26 72
81: TypeImage 37(int) 2D depth array sampled format:Unknown
82: TypePointer UniformConstant 81
83(g_tTex2di4a): 82(ptr) Variable UniformConstant
86: TypeSampledImage 81
95: TypeImage 51(int) 2D depth array sampled format:Unknown
96: TypePointer UniformConstant 95
97(g_tTex2du4a): 96(ptr) Variable UniformConstant
100: TypeSampledImage 95
109: TypeImage 6(float) Cube depth array sampled format:Unknown
110: TypePointer UniformConstant 109
111(g_tTexcdf4a): 110(ptr) Variable UniformConstant
114: TypeSampledImage 109
116: 6(float) Constant 1053609165
117: 7(fvec4) ConstantComposite 25 26 72 116
125: TypeImage 37(int) Cube depth array sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTexcdi4a): 126(ptr) Variable UniformConstant
130: TypeSampledImage 125
139: TypeImage 51(int) Cube depth array sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTexcdu4a): 140(ptr) Variable UniformConstant
144: TypeSampledImage 139
152: TypePointer Function 8(PS_OUTPUT)
154: 37(int) Constant 0
155: 6(float) Constant 1065353216
156: 7(fvec4) ConstantComposite 155 155 155 155
157: TypePointer Function 7(fvec4)
159: 37(int) Constant 1
166: TypePointer Output 7(fvec4)
167(@entryPointOutput.Color): 166(ptr) Variable Output
170: TypePointer Output 6(float)
171(@entryPointOutput.Depth): 170(ptr) Variable Output
174: TypeImage 6(float) 1D sampled format:Unknown
175: TypePointer UniformConstant 174
176(g_tTex1df4): 175(ptr) Variable UniformConstant
177: TypeImage 37(int) 1D sampled format:Unknown
178: TypePointer UniformConstant 177
179(g_tTex1di4): 178(ptr) Variable UniformConstant
180: TypeImage 51(int) 1D sampled format:Unknown
181: TypePointer UniformConstant 180
182(g_tTex1du4): 181(ptr) Variable UniformConstant
183: TypeImage 6(float) 2D sampled format:Unknown
184: TypePointer UniformConstant 183
185(g_tTex1df4): 184(ptr) Variable UniformConstant
186: TypeImage 38(int) 1D sampled format:Unknown
185(g_tTex2df4): 184(ptr) Variable UniformConstant
186: TypeImage 37(int) 2D sampled format:Unknown
187: TypePointer UniformConstant 186
188(g_tTex1di4): 187(ptr) Variable UniformConstant
189: TypeImage 53(int) 1D sampled format:Unknown
188(g_tTex2di4): 187(ptr) Variable UniformConstant
189: TypeImage 51(int) 2D sampled format:Unknown
190: TypePointer UniformConstant 189
191(g_tTex1du4): 190(ptr) Variable UniformConstant
192: TypeImage 6(float) 2D sampled format:Unknown
191(g_tTex2du4): 190(ptr) Variable UniformConstant
192: TypeImage 6(float) 3D sampled format:Unknown
193: TypePointer UniformConstant 192
194(g_tTex2df4): 193(ptr) Variable UniformConstant
195: TypeImage 38(int) 2D sampled format:Unknown
194(g_tTex3df4): 193(ptr) Variable UniformConstant
195: TypeImage 37(int) 3D sampled format:Unknown
196: TypePointer UniformConstant 195
197(g_tTex2di4): 196(ptr) Variable UniformConstant
198: TypeImage 53(int) 2D sampled format:Unknown
197(g_tTex3di4): 196(ptr) Variable UniformConstant
198: TypeImage 51(int) 3D sampled format:Unknown
199: TypePointer UniformConstant 198
200(g_tTex2du4): 199(ptr) Variable UniformConstant
201: TypeImage 6(float) 3D sampled format:Unknown
200(g_tTex3du4): 199(ptr) Variable UniformConstant
201: TypeImage 6(float) Cube sampled format:Unknown
202: TypePointer UniformConstant 201
203(g_tTex3df4): 202(ptr) Variable UniformConstant
204: TypeImage 38(int) 3D sampled format:Unknown
203(g_tTexcdf4): 202(ptr) Variable UniformConstant
204: TypeImage 37(int) Cube sampled format:Unknown
205: TypePointer UniformConstant 204
206(g_tTex3di4): 205(ptr) Variable UniformConstant
207: TypeImage 53(int) 3D sampled format:Unknown
206(g_tTexcdi4): 205(ptr) Variable UniformConstant
207: TypeImage 51(int) Cube sampled format:Unknown
208: TypePointer UniformConstant 207
209(g_tTex3du4): 208(ptr) Variable UniformConstant
210: TypeImage 6(float) Cube sampled format:Unknown
211: TypePointer UniformConstant 210
212(g_tTexcdf4): 211(ptr) Variable UniformConstant
213: TypeImage 38(int) Cube sampled format:Unknown
214: TypePointer UniformConstant 213
215(g_tTexcdi4): 214(ptr) Variable UniformConstant
216: TypeImage 53(int) Cube sampled format:Unknown
217: TypePointer UniformConstant 216
218(g_tTexcdu4): 217(ptr) Variable UniformConstant
209(g_tTexcdu4): 208(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
173(flattenTemp): 161(ptr) Variable Function
174:8(PS_OUTPUT) FunctionCall 10(@main()
Store 173(flattenTemp) 174
177: 166(ptr) AccessChain 173(flattenTemp) 163
178: 7(fvec4) Load 177
Store 176(@entryPointOutput.Color) 178
181: 12(ptr) AccessChain 173(flattenTemp) 168
182: 6(float) Load 181
Store 180(@entryPointOutput.Depth) 182
164(flattenTemp): 152(ptr) Variable Function
165:8(PS_OUTPUT) FunctionCall 10(@main()
Store 164(flattenTemp) 165
168: 157(ptr) AccessChain 164(flattenTemp) 154
169: 7(fvec4) Load 168
Store 167(@entryPointOutput.Color) 169
172: 12(ptr) AccessChain 164(flattenTemp) 159
173: 6(float) Load 172
Store 171(@entryPointOutput.Depth) 173
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r10): 12(ptr) Variable Function
37(r12): 12(ptr) Variable Function
52(r14): 12(ptr) Variable Function
67(r30): 12(ptr) Variable Function
84(r32): 12(ptr) Variable Function
99(r34): 12(ptr) Variable Function
114(r60): 12(ptr) Variable Function
131(r62): 12(ptr) Variable Function
146(r64): 12(ptr) Variable Function
162(psout): 161(ptr) Variable Function
36(r12): 12(ptr) Variable Function
50(r14): 12(ptr) Variable Function
64(r30): 12(ptr) Variable Function
80(r32): 12(ptr) Variable Function
94(r34): 12(ptr) Variable Function
108(r60): 12(ptr) Variable Function
124(r62): 12(ptr) Variable Function
138(r64): 12(ptr) Variable Function
153(psout): 152(ptr) Variable Function
17: 14 Load 16(g_tTex1df4a)
21: 18 Load 20(g_sSamp)
24: 23 SampledImage 17 21
31: 6(float) CompositeExtract 28 0
32: 6(float) CompositeExtract 28 1
33: 30(fvec3) CompositeConstruct 31 32 29
35: 6(float) CompositeExtract 33 2
36: 6(float) ImageSampleDrefExplicitLod 24 33 35 Lod 34
Store 13(r10) 36
42: 39 Load 41(g_tTex1di4a)
43: 18 Load 20(g_sSamp)
46: 45 SampledImage 42 43
47: 6(float) CompositeExtract 28 0
48: 6(float) CompositeExtract 28 1
49: 30(fvec3) CompositeConstruct 47 48 29
50: 6(float) CompositeExtract 49 2
51: 6(float) ImageSampleDrefExplicitLod 46 49 50 Lod 34
Store 37(r12) 51
57: 54 Load 56(g_tTex1du4a)
58: 18 Load 20(g_sSamp)
61: 60 SampledImage 57 58
62: 6(float) CompositeExtract 28 0
63: 6(float) CompositeExtract 28 1
64: 30(fvec3) CompositeConstruct 62 63 29
65: 6(float) CompositeExtract 64 2
66: 6(float) ImageSampleDrefExplicitLod 61 64 65 Lod 34
Store 52(r14) 66
71: 68 Load 70(g_tTex2df4a)
72: 18 Load 20(g_sSamp)
75: 74 SampledImage 71 72
78: 6(float) CompositeExtract 77 0
79: 6(float) CompositeExtract 77 1
80: 6(float) CompositeExtract 77 2
81: 7(fvec4) CompositeConstruct 78 79 80 29
82: 6(float) CompositeExtract 81 3
83: 6(float) ImageSampleDrefExplicitLod 75 81 82 Lod 34
Store 67(r30) 83
88: 85 Load 87(g_tTex2di4a)
89: 18 Load 20(g_sSamp)
92: 91 SampledImage 88 89
93: 6(float) CompositeExtract 77 0
94: 6(float) CompositeExtract 77 1
95: 6(float) CompositeExtract 77 2
96: 7(fvec4) CompositeConstruct 93 94 95 29
97: 6(float) CompositeExtract 96 3
98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod 34
Store 84(r32) 98
103: 100 Load 102(g_tTex2du4a)
104: 18 Load 20(g_sSamp)
107: 106 SampledImage 103 104
108: 6(float) CompositeExtract 77 0
109: 6(float) CompositeExtract 77 1
110: 6(float) CompositeExtract 77 2
111: 7(fvec4) CompositeConstruct 108 109 110 29
112: 6(float) CompositeExtract 111 3
113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod 34
Store 99(r34) 113
118: 115 Load 117(g_tTexcdf4a)
119: 18 Load 20(g_sSamp)
122: 121 SampledImage 118 119
125: 6(float) CompositeExtract 124 0
126: 6(float) CompositeExtract 124 1
127: 6(float) CompositeExtract 124 2
128: 6(float) CompositeExtract 124 3
129: 7(fvec4) CompositeConstruct 125 126 127 128
130: 6(float) ImageSampleDrefExplicitLod 122 129 29 Lod 34
Store 114(r60) 130
135: 132 Load 134(g_tTexcdi4a)
136: 18 Load 20(g_sSamp)
139: 138 SampledImage 135 136
140: 6(float) CompositeExtract 124 0
141: 6(float) CompositeExtract 124 1
142: 6(float) CompositeExtract 124 2
143: 6(float) CompositeExtract 124 3
144: 7(fvec4) CompositeConstruct 140 141 142 143
145: 6(float) ImageSampleDrefExplicitLod 139 144 29 Lod 34
Store 131(r62) 145
150: 147 Load 149(g_tTexcdu4a)
151: 18 Load 20(g_sSamp)
154: 153 SampledImage 150 151
155: 6(float) CompositeExtract 124 0
156: 6(float) CompositeExtract 124 1
157: 6(float) CompositeExtract 124 2
158: 6(float) CompositeExtract 124 3
159: 7(fvec4) CompositeConstruct 155 156 157 158
160: 6(float) ImageSampleDrefExplicitLod 154 159 29 Lod 34
Store 146(r64) 160
167: 166(ptr) AccessChain 162(psout) 163
Store 167 165
169: 12(ptr) AccessChain 162(psout) 168
Store 169 164
170:8(PS_OUTPUT) Load 162(psout)
ReturnValue 170
23: 22 SampledImage 17 21
30: 6(float) CompositeExtract 27 0
31: 6(float) CompositeExtract 27 1
32: 29(fvec3) CompositeConstruct 30 31 28
34: 6(float) CompositeExtract 32 2
35: 6(float) ImageSampleDrefExplicitLod 23 32 34 Lod 33
Store 13(r10) 35
41: 38 Load 40(g_tTex1di4a)
42: 18 Load 20(g_sSamp)
44: 43 SampledImage 41 42
45: 6(float) CompositeExtract 27 0
46: 6(float) CompositeExtract 27 1
47: 29(fvec3) CompositeConstruct 45 46 28
48: 6(float) CompositeExtract 47 2
49: 6(float) ImageSampleDrefExplicitLod 44 47 48 Lod 33
Store 36(r12) 49
55: 52 Load 54(g_tTex1du4a)
56: 18 Load 20(g_sSamp)
58: 57 SampledImage 55 56
59: 6(float) CompositeExtract 27 0
60: 6(float) CompositeExtract 27 1
61: 29(fvec3) CompositeConstruct 59 60 28
62: 6(float) CompositeExtract 61 2
63: 6(float) ImageSampleDrefExplicitLod 58 61 62 Lod 33
Store 50(r14) 63
68: 65 Load 67(g_tTex2df4a)
69: 18 Load 20(g_sSamp)
71: 70 SampledImage 68 69
74: 6(float) CompositeExtract 73 0
75: 6(float) CompositeExtract 73 1
76: 6(float) CompositeExtract 73 2
77: 7(fvec4) CompositeConstruct 74 75 76 28
78: 6(float) CompositeExtract 77 3
79: 6(float) ImageSampleDrefExplicitLod 71 77 78 Lod 33
Store 64(r30) 79
84: 81 Load 83(g_tTex2di4a)
85: 18 Load 20(g_sSamp)
87: 86 SampledImage 84 85
88: 6(float) CompositeExtract 73 0
89: 6(float) CompositeExtract 73 1
90: 6(float) CompositeExtract 73 2
91: 7(fvec4) CompositeConstruct 88 89 90 28
92: 6(float) CompositeExtract 91 3
93: 6(float) ImageSampleDrefExplicitLod 87 91 92 Lod 33
Store 80(r32) 93
98: 95 Load 97(g_tTex2du4a)
99: 18 Load 20(g_sSamp)
101: 100 SampledImage 98 99
102: 6(float) CompositeExtract 73 0
103: 6(float) CompositeExtract 73 1
104: 6(float) CompositeExtract 73 2
105: 7(fvec4) CompositeConstruct 102 103 104 28
106: 6(float) CompositeExtract 105 3
107: 6(float) ImageSampleDrefExplicitLod 101 105 106 Lod 33
Store 94(r34) 107
112: 109 Load 111(g_tTexcdf4a)
113: 18 Load 20(g_sSamp)
115: 114 SampledImage 112 113
118: 6(float) CompositeExtract 117 0
119: 6(float) CompositeExtract 117 1
120: 6(float) CompositeExtract 117 2
121: 6(float) CompositeExtract 117 3
122: 7(fvec4) CompositeConstruct 118 119 120 121
123: 6(float) ImageSampleDrefExplicitLod 115 122 28 Lod 33
Store 108(r60) 123
128: 125 Load 127(g_tTexcdi4a)
129: 18 Load 20(g_sSamp)
131: 130 SampledImage 128 129
132: 6(float) CompositeExtract 117 0
133: 6(float) CompositeExtract 117 1
134: 6(float) CompositeExtract 117 2
135: 6(float) CompositeExtract 117 3
136: 7(fvec4) CompositeConstruct 132 133 134 135
137: 6(float) ImageSampleDrefExplicitLod 131 136 28 Lod 33
Store 124(r62) 137
142: 139 Load 141(g_tTexcdu4a)
143: 18 Load 20(g_sSamp)
145: 144 SampledImage 142 143
146: 6(float) CompositeExtract 117 0
147: 6(float) CompositeExtract 117 1
148: 6(float) CompositeExtract 117 2
149: 6(float) CompositeExtract 117 3
150: 7(fvec4) CompositeConstruct 146 147 148 149
151: 6(float) ImageSampleDrefExplicitLod 145 150 28 Lod 33
Store 138(r64) 151
158: 157(ptr) AccessChain 153(psout) 154
Store 158 156
160: 12(ptr) AccessChain 153(psout) 159
Store 160 155
161:8(PS_OUTPUT) Load 153(psout)
ReturnValue 161
FunctionEnd