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 'r00' ( temp float)
0:42 textureLod ( temp float)
0:42 Construct combined texture-sampler ( temp sampler1DShadow)
0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:42 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:42 'g_sSamp' (layout( binding=0) uniform sampler)
0:42 Construct vec2 ( temp 2-component vector of float)
0:42 Constant:
@@ -24,7 +24,7 @@ gl_FragCoord origin is upper left
0:43 'r02' ( temp float)
0:43 textureLod ( temp float)
0:43 Construct combined texture-sampler ( temp isampler1DShadow)
0:43 'g_tTex1di4' ( uniform itexture1D)
0:43 'g_tTex1di4' ( uniform itexture1DShadow)
0:43 'g_sSamp' (layout( binding=0) uniform sampler)
0:43 Construct vec2 ( temp 2-component vector of float)
0:43 Constant:
@@ -38,7 +38,7 @@ gl_FragCoord origin is upper left
0:44 'r04' ( temp float)
0:44 textureLod ( temp float)
0:44 Construct combined texture-sampler ( temp usampler1DShadow)
0:44 'g_tTex1du4' ( uniform utexture1D)
0:44 'g_tTex1du4' ( uniform utexture1DShadow)
0:44 'g_sSamp' (layout( binding=0) uniform sampler)
0:44 Construct vec2 ( temp 2-component vector of float)
0:44 Constant:
@@ -52,7 +52,7 @@ gl_FragCoord origin is upper left
0:47 'r20' ( temp float)
0:47 textureLod ( temp float)
0:47 Construct combined texture-sampler ( temp sampler2DShadow)
0:47 'g_tTex2df4' ( uniform texture2D)
0:47 'g_tTex2df4' ( uniform texture2DShadow)
0:47 'g_sSamp' (layout( binding=0) uniform sampler)
0:47 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -67,7 +67,7 @@ gl_FragCoord origin is upper left
0:48 'r22' ( temp float)
0:48 textureLod ( temp float)
0:48 Construct combined texture-sampler ( temp isampler2DShadow)
0:48 'g_tTex2di4' ( uniform itexture2D)
0:48 'g_tTex2di4' ( uniform itexture2DShadow)
0:48 'g_sSamp' (layout( binding=0) uniform sampler)
0:48 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -82,7 +82,7 @@ gl_FragCoord origin is upper left
0:49 'r24' ( temp float)
0:49 textureLod ( temp float)
0:49 Construct combined texture-sampler ( temp usampler2DShadow)
0:49 'g_tTex2du4' ( uniform utexture2D)
0:49 'g_tTex2du4' ( uniform utexture2DShadow)
0:49 'g_sSamp' (layout( binding=0) uniform sampler)
0:49 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -97,7 +97,7 @@ gl_FragCoord origin is upper left
0:53 'r50' ( temp float)
0:53 textureLod ( temp float)
0:53 Construct combined texture-sampler ( temp samplerCubeShadow)
0:53 'g_tTexcdf4' ( uniform textureCube)
0:53 'g_tTexcdf4' ( uniform textureCubeShadow)
0:53 'g_sSamp' (layout( binding=0) uniform sampler)
0:53 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -113,7 +113,7 @@ gl_FragCoord origin is upper left
0:54 'r52' ( temp float)
0:54 textureLod ( temp float)
0:54 Construct combined texture-sampler ( temp isamplerCubeShadow)
0:54 'g_tTexcdi4' ( uniform itextureCube)
0:54 'g_tTexcdi4' ( uniform itextureCubeShadow)
0:54 'g_sSamp' (layout( binding=0) uniform sampler)
0:54 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -129,7 +129,7 @@ gl_FragCoord origin is upper left
0:55 'r54' ( temp float)
0:55 textureLod ( temp float)
0:55 Construct combined texture-sampler ( temp usamplerCubeShadow)
0:55 'g_tTexcdu4' ( uniform utextureCube)
0:55 'g_tTexcdu4' ( uniform utextureCubeShadow)
0:55 'g_sSamp' (layout( binding=0) uniform sampler)
0:55 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -180,18 +180,18 @@ gl_FragCoord origin is upper left
0:38 1 (const int)
0:? Linker Objects
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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:? 'g_tTex1di4' ( uniform itexture1DShadow)
0:? 'g_tTex1du4' ( uniform utexture1DShadow)
0:? 'g_tTex2df4' ( uniform texture2DShadow)
0:? 'g_tTex2di4' ( uniform itexture2DShadow)
0:? 'g_tTex2du4' ( uniform utexture2DShadow)
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_tTexcdf4' ( uniform textureCubeShadow)
0:? 'g_tTexcdi4' ( uniform itextureCubeShadow)
0:? 'g_tTexcdu4' ( uniform utextureCubeShadow)
0:? 'g_tTex1df4a' ( uniform texture1DArray)
0:? 'g_tTex1di4a' ( uniform itexture1DArray)
0:? 'g_tTex1du4a' ( uniform utexture1DArray)
@@ -219,7 +219,7 @@ gl_FragCoord origin is upper left
0:42 'r00' ( temp float)
0:42 textureLod ( temp float)
0:42 Construct combined texture-sampler ( temp sampler1DShadow)
0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:42 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:42 'g_sSamp' (layout( binding=0) uniform sampler)
0:42 Construct vec2 ( temp 2-component vector of float)
0:42 Constant:
@@ -233,7 +233,7 @@ gl_FragCoord origin is upper left
0:43 'r02' ( temp float)
0:43 textureLod ( temp float)
0:43 Construct combined texture-sampler ( temp isampler1DShadow)
0:43 'g_tTex1di4' ( uniform itexture1D)
0:43 'g_tTex1di4' ( uniform itexture1DShadow)
0:43 'g_sSamp' (layout( binding=0) uniform sampler)
0:43 Construct vec2 ( temp 2-component vector of float)
0:43 Constant:
@@ -247,7 +247,7 @@ gl_FragCoord origin is upper left
0:44 'r04' ( temp float)
0:44 textureLod ( temp float)
0:44 Construct combined texture-sampler ( temp usampler1DShadow)
0:44 'g_tTex1du4' ( uniform utexture1D)
0:44 'g_tTex1du4' ( uniform utexture1DShadow)
0:44 'g_sSamp' (layout( binding=0) uniform sampler)
0:44 Construct vec2 ( temp 2-component vector of float)
0:44 Constant:
@@ -261,7 +261,7 @@ gl_FragCoord origin is upper left
0:47 'r20' ( temp float)
0:47 textureLod ( temp float)
0:47 Construct combined texture-sampler ( temp sampler2DShadow)
0:47 'g_tTex2df4' ( uniform texture2D)
0:47 'g_tTex2df4' ( uniform texture2DShadow)
0:47 'g_sSamp' (layout( binding=0) uniform sampler)
0:47 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -276,7 +276,7 @@ gl_FragCoord origin is upper left
0:48 'r22' ( temp float)
0:48 textureLod ( temp float)
0:48 Construct combined texture-sampler ( temp isampler2DShadow)
0:48 'g_tTex2di4' ( uniform itexture2D)
0:48 'g_tTex2di4' ( uniform itexture2DShadow)
0:48 'g_sSamp' (layout( binding=0) uniform sampler)
0:48 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -291,7 +291,7 @@ gl_FragCoord origin is upper left
0:49 'r24' ( temp float)
0:49 textureLod ( temp float)
0:49 Construct combined texture-sampler ( temp usampler2DShadow)
0:49 'g_tTex2du4' ( uniform utexture2D)
0:49 'g_tTex2du4' ( uniform utexture2DShadow)
0:49 'g_sSamp' (layout( binding=0) uniform sampler)
0:49 Construct vec3 ( temp 3-component vector of float)
0:? Constant:
@@ -306,7 +306,7 @@ gl_FragCoord origin is upper left
0:53 'r50' ( temp float)
0:53 textureLod ( temp float)
0:53 Construct combined texture-sampler ( temp samplerCubeShadow)
0:53 'g_tTexcdf4' ( uniform textureCube)
0:53 'g_tTexcdf4' ( uniform textureCubeShadow)
0:53 'g_sSamp' (layout( binding=0) uniform sampler)
0:53 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -322,7 +322,7 @@ gl_FragCoord origin is upper left
0:54 'r52' ( temp float)
0:54 textureLod ( temp float)
0:54 Construct combined texture-sampler ( temp isamplerCubeShadow)
0:54 'g_tTexcdi4' ( uniform itextureCube)
0:54 'g_tTexcdi4' ( uniform itextureCubeShadow)
0:54 'g_sSamp' (layout( binding=0) uniform sampler)
0:54 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -338,7 +338,7 @@ gl_FragCoord origin is upper left
0:55 'r54' ( temp float)
0:55 textureLod ( temp float)
0:55 Construct combined texture-sampler ( temp usamplerCubeShadow)
0:55 'g_tTexcdu4' ( uniform utextureCube)
0:55 'g_tTexcdu4' ( uniform utextureCubeShadow)
0:55 'g_sSamp' (layout( binding=0) uniform sampler)
0:55 Construct vec4 ( temp 4-component vector of float)
0:? Constant:
@@ -389,18 +389,18 @@ gl_FragCoord origin is upper left
0:38 1 (const int)
0:? Linker Objects
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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:? 'g_tTex1di4' ( uniform itexture1DShadow)
0:? 'g_tTex1du4' ( uniform utexture1DShadow)
0:? 'g_tTex2df4' ( uniform texture2DShadow)
0:? 'g_tTex2di4' ( uniform itexture2DShadow)
0:? 'g_tTex2du4' ( uniform utexture2DShadow)
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_tTexcdf4' ( uniform textureCubeShadow)
0:? 'g_tTexcdi4' ( uniform itextureCubeShadow)
0:? 'g_tTexcdu4' ( uniform utextureCubeShadow)
0:? 'g_tTex1df4a' ( uniform texture1DArray)
0:? 'g_tTex1di4a' ( uniform itexture1DArray)
0:? 'g_tTex1du4a' ( uniform utexture1DArray)
@@ -415,14 +415,14 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 208
// Id's are bound by 199
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 165 169
EntryPoint Fragment 4 "main" 156 160
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
@@ -433,64 +433,64 @@ gl_FragCoord origin is upper left
Name 13 "r00"
Name 16 "g_tTex1df4"
Name 20 "g_sSamp"
Name 32 "r02"
Name 36 "g_tTex1di4"
Name 45 "r04"
Name 49 "g_tTex1du4"
Name 58 "r20"
Name 61 "g_tTex2df4"
Name 75 "r22"
Name 78 "g_tTex2di4"
Name 89 "r24"
Name 92 "g_tTex2du4"
Name 103 "r50"
Name 106 "g_tTexcdf4"
Name 120 "r52"
Name 123 "g_tTexcdi4"
Name 135 "r54"
Name 138 "g_tTexcdu4"
Name 151 "psout"
Name 162 "flattenTemp"
Name 165 "@entryPointOutput.Color"
Name 169 "@entryPointOutput.Depth"
Name 174 "g_tTex3df4"
Name 177 "g_tTex3di4"
Name 180 "g_tTex3du4"
Name 183 "g_tTex1df4a"
Name 186 "g_tTex1di4a"
Name 189 "g_tTex1du4a"
Name 192 "g_tTex2df4a"
Name 195 "g_tTex2di4a"
Name 198 "g_tTex2du4a"
Name 201 "g_tTexcdf4a"
Name 204 "g_tTexcdi4a"
Name 207 "g_tTexcdu4a"
Name 31 "r02"
Name 35 "g_tTex1di4"
Name 43 "r04"
Name 47 "g_tTex1du4"
Name 55 "r20"
Name 58 "g_tTex2df4"
Name 71 "r22"
Name 74 "g_tTex2di4"
Name 84 "r24"
Name 87 "g_tTex2du4"
Name 97 "r50"
Name 100 "g_tTexcdf4"
Name 113 "r52"
Name 116 "g_tTexcdi4"
Name 127 "r54"
Name 130 "g_tTexcdu4"
Name 142 "psout"
Name 153 "flattenTemp"
Name 156 "@entryPointOutput.Color"
Name 160 "@entryPointOutput.Depth"
Name 165 "g_tTex3df4"
Name 168 "g_tTex3di4"
Name 171 "g_tTex3du4"
Name 174 "g_tTex1df4a"
Name 177 "g_tTex1di4a"
Name 180 "g_tTex1du4a"
Name 183 "g_tTex2df4a"
Name 186 "g_tTex2di4a"
Name 189 "g_tTex2du4a"
Name 192 "g_tTexcdf4a"
Name 195 "g_tTexcdi4a"
Name 198 "g_tTexcdu4a"
Decorate 16(g_tTex1df4) DescriptorSet 0
Decorate 16(g_tTex1df4) Binding 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 36(g_tTex1di4) DescriptorSet 0
Decorate 49(g_tTex1du4) DescriptorSet 0
Decorate 61(g_tTex2df4) DescriptorSet 0
Decorate 78(g_tTex2di4) DescriptorSet 0
Decorate 92(g_tTex2du4) DescriptorSet 0
Decorate 106(g_tTexcdf4) DescriptorSet 0
Decorate 123(g_tTexcdi4) DescriptorSet 0
Decorate 138(g_tTexcdu4) DescriptorSet 0
Decorate 165(@entryPointOutput.Color) Location 0
Decorate 169(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 174(g_tTex3df4) DescriptorSet 0
Decorate 177(g_tTex3di4) DescriptorSet 0
Decorate 180(g_tTex3du4) DescriptorSet 0
Decorate 183(g_tTex1df4a) DescriptorSet 0
Decorate 186(g_tTex1di4a) DescriptorSet 0
Decorate 189(g_tTex1du4a) DescriptorSet 0
Decorate 192(g_tTex2df4a) DescriptorSet 0
Decorate 195(g_tTex2di4a) DescriptorSet 0
Decorate 198(g_tTex2du4a) DescriptorSet 0
Decorate 201(g_tTexcdf4a) DescriptorSet 0
Decorate 204(g_tTexcdi4a) DescriptorSet 0
Decorate 207(g_tTexcdu4a) DescriptorSet 0
Decorate 35(g_tTex1di4) DescriptorSet 0
Decorate 47(g_tTex1du4) DescriptorSet 0
Decorate 58(g_tTex2df4) DescriptorSet 0
Decorate 74(g_tTex2di4) DescriptorSet 0
Decorate 87(g_tTex2du4) DescriptorSet 0
Decorate 100(g_tTexcdf4) DescriptorSet 0
Decorate 116(g_tTexcdi4) DescriptorSet 0
Decorate 130(g_tTexcdu4) DescriptorSet 0
Decorate 156(@entryPointOutput.Color) Location 0
Decorate 160(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 165(g_tTex3df4) DescriptorSet 0
Decorate 168(g_tTex3di4) DescriptorSet 0
Decorate 171(g_tTex3du4) DescriptorSet 0
Decorate 174(g_tTex1df4a) DescriptorSet 0
Decorate 177(g_tTex1di4a) DescriptorSet 0
Decorate 180(g_tTex1du4a) DescriptorSet 0
Decorate 183(g_tTex2df4a) DescriptorSet 0
Decorate 186(g_tTex2di4a) DescriptorSet 0
Decorate 189(g_tTex2du4a) DescriptorSet 0
Decorate 192(g_tTexcdf4a) DescriptorSet 0
Decorate 195(g_tTexcdi4a) DescriptorSet 0
Decorate 198(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -498,218 +498,209 @@ 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 sampled format:Unknown
14: TypeImage 6(float) 1D depth sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex1df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeImage 6(float) 1D depth sampled format:Unknown
23: TypeSampledImage 22
25: 6(float) Constant 1036831949
26: 6(float) Constant 1061158912
27: TypeVector 6(float) 2
29: 6(float) Constant 0
33: TypeInt 32 1
34: TypeImage 33(int) 1D sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex1di4): 35(ptr) Variable UniformConstant
39: TypeImage 33(int) 1D depth sampled format:Unknown
40: TypeSampledImage 39
46: TypeInt 32 0
47: TypeImage 46(int) 1D sampled format:Unknown
48: TypePointer UniformConstant 47
49(g_tTex1du4): 48(ptr) Variable UniformConstant
52: TypeImage 46(int) 1D depth sampled format:Unknown
53: TypeSampledImage 52
59: TypeImage 6(float) 2D sampled format:Unknown
60: TypePointer UniformConstant 59
61(g_tTex2df4): 60(ptr) Variable UniformConstant
64: TypeImage 6(float) 2D depth sampled format:Unknown
65: TypeSampledImage 64
67: 6(float) Constant 1045220557
68: 27(fvec2) ConstantComposite 25 67
69: TypeVector 6(float) 3
76: TypeImage 33(int) 2D sampled format:Unknown
77: TypePointer UniformConstant 76
78(g_tTex2di4): 77(ptr) Variable UniformConstant
81: TypeImage 33(int) 2D depth sampled format:Unknown
82: TypeSampledImage 81
90: TypeImage 46(int) 2D sampled format:Unknown
91: TypePointer UniformConstant 90
92(g_tTex2du4): 91(ptr) Variable UniformConstant
95: TypeImage 46(int) 2D depth sampled format:Unknown
96: TypeSampledImage 95
104: TypeImage 6(float) Cube sampled format:Unknown
105: TypePointer UniformConstant 104
106(g_tTexcdf4): 105(ptr) Variable UniformConstant
109: TypeImage 6(float) Cube depth sampled format:Unknown
110: TypeSampledImage 109
112: 6(float) Constant 1050253722
113: 69(fvec3) ConstantComposite 25 67 112
121: TypeImage 33(int) Cube sampled format:Unknown
122: TypePointer UniformConstant 121
123(g_tTexcdi4): 122(ptr) Variable UniformConstant
126: TypeImage 33(int) Cube depth sampled format:Unknown
127: TypeSampledImage 126
136: TypeImage 46(int) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdu4): 137(ptr) Variable UniformConstant
141: TypeImage 46(int) Cube depth sampled format:Unknown
142: TypeSampledImage 141
150: TypePointer Function 8(PS_OUTPUT)
152: 33(int) Constant 0
153: 6(float) Constant 1065353216
154: 7(fvec4) ConstantComposite 153 153 153 153
155: TypePointer Function 7(fvec4)
157: 33(int) Constant 1
164: TypePointer Output 7(fvec4)
165(@entryPointOutput.Color): 164(ptr) Variable Output
168: TypePointer Output 6(float)
169(@entryPointOutput.Depth): 168(ptr) Variable Output
172: TypeImage 6(float) 3D sampled format:Unknown
22: TypeSampledImage 14
24: 6(float) Constant 1036831949
25: 6(float) Constant 1061158912
26: TypeVector 6(float) 2
28: 6(float) Constant 0
32: TypeInt 32 1
33: TypeImage 32(int) 1D depth sampled format:Unknown
34: TypePointer UniformConstant 33
35(g_tTex1di4): 34(ptr) Variable UniformConstant
38: TypeSampledImage 33
44: TypeInt 32 0
45: TypeImage 44(int) 1D depth sampled format:Unknown
46: TypePointer UniformConstant 45
47(g_tTex1du4): 46(ptr) Variable UniformConstant
50: TypeSampledImage 45
56: TypeImage 6(float) 2D depth sampled format:Unknown
57: TypePointer UniformConstant 56
58(g_tTex2df4): 57(ptr) Variable UniformConstant
61: TypeSampledImage 56
63: 6(float) Constant 1045220557
64: 26(fvec2) ConstantComposite 24 63
65: TypeVector 6(float) 3
72: TypeImage 32(int) 2D depth sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTex2di4): 73(ptr) Variable UniformConstant
77: TypeSampledImage 72
85: TypeImage 44(int) 2D depth sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTex2du4): 86(ptr) Variable UniformConstant
90: TypeSampledImage 85
98: TypeImage 6(float) Cube depth sampled format:Unknown
99: TypePointer UniformConstant 98
100(g_tTexcdf4): 99(ptr) Variable UniformConstant
103: TypeSampledImage 98
105: 6(float) Constant 1050253722
106: 65(fvec3) ConstantComposite 24 63 105
114: TypeImage 32(int) Cube depth sampled format:Unknown
115: TypePointer UniformConstant 114
116(g_tTexcdi4): 115(ptr) Variable UniformConstant
119: TypeSampledImage 114
128: TypeImage 44(int) Cube depth sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTexcdu4): 129(ptr) Variable UniformConstant
133: TypeSampledImage 128
141: TypePointer Function 8(PS_OUTPUT)
143: 32(int) Constant 0
144: 6(float) Constant 1065353216
145: 7(fvec4) ConstantComposite 144 144 144 144
146: TypePointer Function 7(fvec4)
148: 32(int) Constant 1
155: TypePointer Output 7(fvec4)
156(@entryPointOutput.Color): 155(ptr) Variable Output
159: TypePointer Output 6(float)
160(@entryPointOutput.Depth): 159(ptr) Variable Output
163: TypeImage 6(float) 3D sampled format:Unknown
164: TypePointer UniformConstant 163
165(g_tTex3df4): 164(ptr) Variable UniformConstant
166: TypeImage 32(int) 3D sampled format:Unknown
167: TypePointer UniformConstant 166
168(g_tTex3di4): 167(ptr) Variable UniformConstant
169: TypeImage 44(int) 3D sampled format:Unknown
170: TypePointer UniformConstant 169
171(g_tTex3du4): 170(ptr) Variable UniformConstant
172: TypeImage 6(float) 1D array sampled format:Unknown
173: TypePointer UniformConstant 172
174(g_tTex3df4): 173(ptr) Variable UniformConstant
175: TypeImage 33(int) 3D sampled format:Unknown
174(g_tTex1df4a): 173(ptr) Variable UniformConstant
175: TypeImage 32(int) 1D array sampled format:Unknown
176: TypePointer UniformConstant 175
177(g_tTex3di4): 176(ptr) Variable UniformConstant
178: TypeImage 46(int) 3D sampled format:Unknown
177(g_tTex1di4a): 176(ptr) Variable UniformConstant
178: TypeImage 44(int) 1D array sampled format:Unknown
179: TypePointer UniformConstant 178
180(g_tTex3du4): 179(ptr) Variable UniformConstant
181: TypeImage 6(float) 1D array sampled format:Unknown
180(g_tTex1du4a): 179(ptr) Variable UniformConstant
181: TypeImage 6(float) 2D array sampled format:Unknown
182: TypePointer UniformConstant 181
183(g_tTex1df4a): 182(ptr) Variable UniformConstant
184: TypeImage 33(int) 1D array sampled format:Unknown
183(g_tTex2df4a): 182(ptr) Variable UniformConstant
184: TypeImage 32(int) 2D array sampled format:Unknown
185: TypePointer UniformConstant 184
186(g_tTex1di4a): 185(ptr) Variable UniformConstant
187: TypeImage 46(int) 1D array sampled format:Unknown
186(g_tTex2di4a): 185(ptr) Variable UniformConstant
187: TypeImage 44(int) 2D array sampled format:Unknown
188: TypePointer UniformConstant 187
189(g_tTex1du4a): 188(ptr) Variable UniformConstant
190: TypeImage 6(float) 2D array sampled format:Unknown
189(g_tTex2du4a): 188(ptr) Variable UniformConstant
190: TypeImage 6(float) Cube array sampled format:Unknown
191: TypePointer UniformConstant 190
192(g_tTex2df4a): 191(ptr) Variable UniformConstant
193: TypeImage 33(int) 2D array sampled format:Unknown
192(g_tTexcdf4a): 191(ptr) Variable UniformConstant
193: TypeImage 32(int) Cube array sampled format:Unknown
194: TypePointer UniformConstant 193
195(g_tTex2di4a): 194(ptr) Variable UniformConstant
196: TypeImage 46(int) 2D array sampled format:Unknown
195(g_tTexcdi4a): 194(ptr) Variable UniformConstant
196: TypeImage 44(int) Cube array sampled format:Unknown
197: TypePointer UniformConstant 196
198(g_tTex2du4a): 197(ptr) Variable UniformConstant
199: TypeImage 6(float) Cube array sampled format:Unknown
200: TypePointer UniformConstant 199
201(g_tTexcdf4a): 200(ptr) Variable UniformConstant
202: TypeImage 33(int) Cube array sampled format:Unknown
203: TypePointer UniformConstant 202
204(g_tTexcdi4a): 203(ptr) Variable UniformConstant
205: TypeImage 46(int) Cube array sampled format:Unknown
206: TypePointer UniformConstant 205
207(g_tTexcdu4a): 206(ptr) Variable UniformConstant
198(g_tTexcdu4a): 197(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
162(flattenTemp): 150(ptr) Variable Function
163:8(PS_OUTPUT) FunctionCall 10(@main()
Store 162(flattenTemp) 163
166: 155(ptr) AccessChain 162(flattenTemp) 152
167: 7(fvec4) Load 166
Store 165(@entryPointOutput.Color) 167
170: 12(ptr) AccessChain 162(flattenTemp) 157
171: 6(float) Load 170
Store 169(@entryPointOutput.Depth) 171
153(flattenTemp): 141(ptr) Variable Function
154:8(PS_OUTPUT) FunctionCall 10(@main()
Store 153(flattenTemp) 154
157: 146(ptr) AccessChain 153(flattenTemp) 143
158: 7(fvec4) Load 157
Store 156(@entryPointOutput.Color) 158
161: 12(ptr) AccessChain 153(flattenTemp) 148
162: 6(float) Load 161
Store 160(@entryPointOutput.Depth) 162
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
32(r02): 12(ptr) Variable Function
45(r04): 12(ptr) Variable Function
58(r20): 12(ptr) Variable Function
75(r22): 12(ptr) Variable Function
89(r24): 12(ptr) Variable Function
103(r50): 12(ptr) Variable Function
120(r52): 12(ptr) Variable Function
135(r54): 12(ptr) Variable Function
151(psout): 150(ptr) Variable Function
31(r02): 12(ptr) Variable Function
43(r04): 12(ptr) Variable Function
55(r20): 12(ptr) Variable Function
71(r22): 12(ptr) Variable Function
84(r24): 12(ptr) Variable Function
97(r50): 12(ptr) Variable Function
113(r52): 12(ptr) Variable Function
127(r54): 12(ptr) Variable Function
142(psout): 141(ptr) Variable Function
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
24: 23 SampledImage 17 21
28: 27(fvec2) CompositeConstruct 25 26
30: 6(float) CompositeExtract 28 1
31: 6(float) ImageSampleDrefExplicitLod 24 28 30 Lod 29
Store 13(r00) 31
37: 34 Load 36(g_tTex1di4)
38: 18 Load 20(g_sSamp)
41: 40 SampledImage 37 38
42: 27(fvec2) CompositeConstruct 25 26
43: 6(float) CompositeExtract 42 1
44: 6(float) ImageSampleDrefExplicitLod 41 42 43 Lod 29
Store 32(r02) 44
50: 47 Load 49(g_tTex1du4)
51: 18 Load 20(g_sSamp)
54: 53 SampledImage 50 51
55: 27(fvec2) CompositeConstruct 25 26
56: 6(float) CompositeExtract 55 1
57: 6(float) ImageSampleDrefExplicitLod 54 55 56 Lod 29
Store 45(r04) 57
62: 59 Load 61(g_tTex2df4)
63: 18 Load 20(g_sSamp)
66: 65 SampledImage 62 63
70: 6(float) CompositeExtract 68 0
71: 6(float) CompositeExtract 68 1
72: 69(fvec3) CompositeConstruct 70 71 26
73: 6(float) CompositeExtract 72 2
74: 6(float) ImageSampleDrefExplicitLod 66 72 73 Lod 29
Store 58(r20) 74
79: 76 Load 78(g_tTex2di4)
80: 18 Load 20(g_sSamp)
83: 82 SampledImage 79 80
84: 6(float) CompositeExtract 68 0
85: 6(float) CompositeExtract 68 1
86: 69(fvec3) CompositeConstruct 84 85 26
87: 6(float) CompositeExtract 86 2
88: 6(float) ImageSampleDrefExplicitLod 83 86 87 Lod 29
Store 75(r22) 88
93: 90 Load 92(g_tTex2du4)
94: 18 Load 20(g_sSamp)
97: 96 SampledImage 93 94
98: 6(float) CompositeExtract 68 0
99: 6(float) CompositeExtract 68 1
100: 69(fvec3) CompositeConstruct 98 99 26
101: 6(float) CompositeExtract 100 2
102: 6(float) ImageSampleDrefExplicitLod 97 100 101 Lod 29
Store 89(r24) 102
107: 104 Load 106(g_tTexcdf4)
108: 18 Load 20(g_sSamp)
111: 110 SampledImage 107 108
114: 6(float) CompositeExtract 113 0
115: 6(float) CompositeExtract 113 1
116: 6(float) CompositeExtract 113 2
117: 7(fvec4) CompositeConstruct 114 115 116 26
118: 6(float) CompositeExtract 117 3
119: 6(float) ImageSampleDrefExplicitLod 111 117 118 Lod 29
Store 103(r50) 119
124: 121 Load 123(g_tTexcdi4)
125: 18 Load 20(g_sSamp)
128: 127 SampledImage 124 125
129: 6(float) CompositeExtract 113 0
130: 6(float) CompositeExtract 113 1
131: 6(float) CompositeExtract 113 2
132: 7(fvec4) CompositeConstruct 129 130 131 26
133: 6(float) CompositeExtract 132 3
134: 6(float) ImageSampleDrefExplicitLod 128 132 133 Lod 29
Store 120(r52) 134
139: 136 Load 138(g_tTexcdu4)
140: 18 Load 20(g_sSamp)
143: 142 SampledImage 139 140
144: 6(float) CompositeExtract 113 0
145: 6(float) CompositeExtract 113 1
146: 6(float) CompositeExtract 113 2
147: 7(fvec4) CompositeConstruct 144 145 146 26
148: 6(float) CompositeExtract 147 3
149: 6(float) ImageSampleDrefExplicitLod 143 147 148 Lod 29
Store 135(r54) 149
156: 155(ptr) AccessChain 151(psout) 152
Store 156 154
158: 12(ptr) AccessChain 151(psout) 157
Store 158 153
159:8(PS_OUTPUT) Load 151(psout)
ReturnValue 159
23: 22 SampledImage 17 21
27: 26(fvec2) CompositeConstruct 24 25
29: 6(float) CompositeExtract 27 1
30: 6(float) ImageSampleDrefExplicitLod 23 27 29 Lod 28
Store 13(r00) 30
36: 33 Load 35(g_tTex1di4)
37: 18 Load 20(g_sSamp)
39: 38 SampledImage 36 37
40: 26(fvec2) CompositeConstruct 24 25
41: 6(float) CompositeExtract 40 1
42: 6(float) ImageSampleDrefExplicitLod 39 40 41 Lod 28
Store 31(r02) 42
48: 45 Load 47(g_tTex1du4)
49: 18 Load 20(g_sSamp)
51: 50 SampledImage 48 49
52: 26(fvec2) CompositeConstruct 24 25
53: 6(float) CompositeExtract 52 1
54: 6(float) ImageSampleDrefExplicitLod 51 52 53 Lod 28
Store 43(r04) 54
59: 56 Load 58(g_tTex2df4)
60: 18 Load 20(g_sSamp)
62: 61 SampledImage 59 60
66: 6(float) CompositeExtract 64 0
67: 6(float) CompositeExtract 64 1
68: 65(fvec3) CompositeConstruct 66 67 25
69: 6(float) CompositeExtract 68 2
70: 6(float) ImageSampleDrefExplicitLod 62 68 69 Lod 28
Store 55(r20) 70
75: 72 Load 74(g_tTex2di4)
76: 18 Load 20(g_sSamp)
78: 77 SampledImage 75 76
79: 6(float) CompositeExtract 64 0
80: 6(float) CompositeExtract 64 1
81: 65(fvec3) CompositeConstruct 79 80 25
82: 6(float) CompositeExtract 81 2
83: 6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 28
Store 71(r22) 83
88: 85 Load 87(g_tTex2du4)
89: 18 Load 20(g_sSamp)
91: 90 SampledImage 88 89
92: 6(float) CompositeExtract 64 0
93: 6(float) CompositeExtract 64 1
94: 65(fvec3) CompositeConstruct 92 93 25
95: 6(float) CompositeExtract 94 2
96: 6(float) ImageSampleDrefExplicitLod 91 94 95 Lod 28
Store 84(r24) 96
101: 98 Load 100(g_tTexcdf4)
102: 18 Load 20(g_sSamp)
104: 103 SampledImage 101 102
107: 6(float) CompositeExtract 106 0
108: 6(float) CompositeExtract 106 1
109: 6(float) CompositeExtract 106 2
110: 7(fvec4) CompositeConstruct 107 108 109 25
111: 6(float) CompositeExtract 110 3
112: 6(float) ImageSampleDrefExplicitLod 104 110 111 Lod 28
Store 97(r50) 112
117: 114 Load 116(g_tTexcdi4)
118: 18 Load 20(g_sSamp)
120: 119 SampledImage 117 118
121: 6(float) CompositeExtract 106 0
122: 6(float) CompositeExtract 106 1
123: 6(float) CompositeExtract 106 2
124: 7(fvec4) CompositeConstruct 121 122 123 25
125: 6(float) CompositeExtract 124 3
126: 6(float) ImageSampleDrefExplicitLod 120 124 125 Lod 28
Store 113(r52) 126
131: 128 Load 130(g_tTexcdu4)
132: 18 Load 20(g_sSamp)
134: 133 SampledImage 131 132
135: 6(float) CompositeExtract 106 0
136: 6(float) CompositeExtract 106 1
137: 6(float) CompositeExtract 106 2
138: 7(fvec4) CompositeConstruct 135 136 137 25
139: 6(float) CompositeExtract 138 3
140: 6(float) ImageSampleDrefExplicitLod 134 138 139 Lod 28
Store 127(r54) 140
147: 146(ptr) AccessChain 142(psout) 143
Store 147 145
149: 12(ptr) AccessChain 142(psout) 148
Store 149 144
150:8(PS_OUTPUT) Load 142(psout)
ReturnValue 150
FunctionEnd