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