Commit 7dfcf4d1 by steve-lunarg

HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms

parent 98a2e92f
hlsl.gatherRGBA.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:72 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:33 'txval00' (temp 4-component vector of float)
0:33 textureGather (global 4-component vector of float)
0:33 Construct combined texture-sampler (temp sampler2DArray)
0:33 'g_tTex2df4a' (uniform texture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33 'c3' (uniform 3-component vector of float)
0:33 Constant:
0:33 0 (const int)
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of int)
0:34 'txval01' (temp 4-component vector of int)
0:34 textureGather (global 4-component vector of int)
0:34 Construct combined texture-sampler (temp isampler2DArray)
0:34 'g_tTex2di4a' (uniform itexture2DArray)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:34 'c3' (uniform 3-component vector of float)
0:34 Constant:
0:34 0 (const int)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of uint)
0:35 'txval02' (temp 4-component vector of uint)
0:35 textureGather (global 4-component vector of uint)
0:35 Construct combined texture-sampler (temp usampler2DArray)
0:35 'g_tTex2du4a' (uniform utexture2DArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:35 'c3' (uniform 3-component vector of float)
0:35 Constant:
0:35 0 (const int)
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of float)
0:37 'txval10' (temp 4-component vector of float)
0:37 textureGather (global 4-component vector of float)
0:37 Construct combined texture-sampler (temp sampler2DArray)
0:37 'g_tTex2df4a' (uniform texture2DArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:37 'c3' (uniform 3-component vector of float)
0:37 Constant:
0:37 1 (const int)
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of int)
0:38 'txval11' (temp 4-component vector of int)
0:38 textureGather (global 4-component vector of int)
0:38 Construct combined texture-sampler (temp isampler2DArray)
0:38 'g_tTex2di4a' (uniform itexture2DArray)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:38 'c3' (uniform 3-component vector of float)
0:38 Constant:
0:38 1 (const int)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of uint)
0:39 'txval12' (temp 4-component vector of uint)
0:39 textureGather (global 4-component vector of uint)
0:39 Construct combined texture-sampler (temp usampler2DArray)
0:39 'g_tTex2du4a' (uniform utexture2DArray)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39 'c3' (uniform 3-component vector of float)
0:39 Constant:
0:39 1 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of float)
0:41 'txval20' (temp 4-component vector of float)
0:41 textureGather (global 4-component vector of float)
0:41 Construct combined texture-sampler (temp sampler2DArray)
0:41 'g_tTex2df4a' (uniform texture2DArray)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41 'c3' (uniform 3-component vector of float)
0:41 Constant:
0:41 2 (const int)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of int)
0:42 'txval21' (temp 4-component vector of int)
0:42 textureGather (global 4-component vector of int)
0:42 Construct combined texture-sampler (temp isampler2DArray)
0:42 'g_tTex2di4a' (uniform itexture2DArray)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42 'c3' (uniform 3-component vector of float)
0:42 Constant:
0:42 2 (const int)
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of uint)
0:43 'txval22' (temp 4-component vector of uint)
0:43 textureGather (global 4-component vector of uint)
0:43 Construct combined texture-sampler (temp usampler2DArray)
0:43 'g_tTex2du4a' (uniform utexture2DArray)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43 'c3' (uniform 3-component vector of float)
0:43 Constant:
0:43 2 (const int)
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:45 'txval30' (temp 4-component vector of float)
0:45 textureGather (global 4-component vector of float)
0:45 Construct combined texture-sampler (temp sampler2DArray)
0:45 'g_tTex2df4a' (uniform texture2DArray)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45 'c3' (uniform 3-component vector of float)
0:45 Constant:
0:45 3 (const int)
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of int)
0:46 'txval31' (temp 4-component vector of int)
0:46 textureGather (global 4-component vector of int)
0:46 Construct combined texture-sampler (temp isampler2DArray)
0:46 'g_tTex2di4a' (uniform itexture2DArray)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46 'c3' (uniform 3-component vector of float)
0:46 Constant:
0:46 3 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of uint)
0:47 'txval32' (temp 4-component vector of uint)
0:47 textureGather (global 4-component vector of uint)
0:47 Construct combined texture-sampler (temp usampler2DArray)
0:47 'g_tTex2du4a' (uniform utexture2DArray)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 'c3' (uniform 3-component vector of float)
0:47 Constant:
0:47 3 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of float)
0:51 'txval40' (temp 4-component vector of float)
0:51 textureGather (global 4-component vector of float)
0:51 Construct combined texture-sampler (temp samplerCubeArray)
0:51 'g_tTexcdf4a' (uniform textureCubeArray)
0:51 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51 'c4' (uniform 4-component vector of float)
0:51 Constant:
0:51 0 (const int)
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of int)
0:52 'txval41' (temp 4-component vector of int)
0:52 textureGather (global 4-component vector of int)
0:52 Construct combined texture-sampler (temp isamplerCubeArray)
0:52 'g_tTexcdi4a' (uniform itextureCubeArray)
0:52 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52 'c4' (uniform 4-component vector of float)
0:52 Constant:
0:52 0 (const int)
0:53 Sequence
0:53 move second child to first child (temp 4-component vector of uint)
0:53 'txval42' (temp 4-component vector of uint)
0:53 textureGather (global 4-component vector of uint)
0:53 Construct combined texture-sampler (temp usamplerCubeArray)
0:53 'g_tTexcdu4a' (uniform utextureCubeArray)
0:53 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53 'c4' (uniform 4-component vector of float)
0:53 Constant:
0:53 0 (const int)
0:55 Sequence
0:55 move second child to first child (temp 4-component vector of float)
0:55 'txval50' (temp 4-component vector of float)
0:55 textureGather (global 4-component vector of float)
0:55 Construct combined texture-sampler (temp samplerCubeArray)
0:55 'g_tTexcdf4a' (uniform textureCubeArray)
0:55 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:55 'c4' (uniform 4-component vector of float)
0:55 Constant:
0:55 1 (const int)
0:56 Sequence
0:56 move second child to first child (temp 4-component vector of int)
0:56 'txval51' (temp 4-component vector of int)
0:56 textureGather (global 4-component vector of int)
0:56 Construct combined texture-sampler (temp isamplerCubeArray)
0:56 'g_tTexcdi4a' (uniform itextureCubeArray)
0:56 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:56 'c4' (uniform 4-component vector of float)
0:56 Constant:
0:56 1 (const int)
0:57 Sequence
0:57 move second child to first child (temp 4-component vector of uint)
0:57 'txval52' (temp 4-component vector of uint)
0:57 textureGather (global 4-component vector of uint)
0:57 Construct combined texture-sampler (temp usamplerCubeArray)
0:57 'g_tTexcdu4a' (uniform utextureCubeArray)
0:57 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57 'c4' (uniform 4-component vector of float)
0:57 Constant:
0:57 1 (const int)
0:59 Sequence
0:59 move second child to first child (temp 4-component vector of float)
0:59 'txval60' (temp 4-component vector of float)
0:59 textureGather (global 4-component vector of float)
0:59 Construct combined texture-sampler (temp samplerCubeArray)
0:59 'g_tTexcdf4a' (uniform textureCubeArray)
0:59 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59 'c4' (uniform 4-component vector of float)
0:59 Constant:
0:59 2 (const int)
0:60 Sequence
0:60 move second child to first child (temp 4-component vector of int)
0:60 'txval61' (temp 4-component vector of int)
0:60 textureGather (global 4-component vector of int)
0:60 Construct combined texture-sampler (temp isamplerCubeArray)
0:60 'g_tTexcdi4a' (uniform itextureCubeArray)
0:60 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:60 'c4' (uniform 4-component vector of float)
0:60 Constant:
0:60 2 (const int)
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of uint)
0:61 'txval62' (temp 4-component vector of uint)
0:61 textureGather (global 4-component vector of uint)
0:61 Construct combined texture-sampler (temp usamplerCubeArray)
0:61 'g_tTexcdu4a' (uniform utextureCubeArray)
0:61 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61 'c4' (uniform 4-component vector of float)
0:61 Constant:
0:61 2 (const int)
0:63 Sequence
0:63 move second child to first child (temp 4-component vector of float)
0:63 'txval70' (temp 4-component vector of float)
0:63 textureGather (global 4-component vector of float)
0:63 Construct combined texture-sampler (temp samplerCubeArray)
0:63 'g_tTexcdf4a' (uniform textureCubeArray)
0:63 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63 'c4' (uniform 4-component vector of float)
0:63 Constant:
0:63 3 (const int)
0:64 Sequence
0:64 move second child to first child (temp 4-component vector of int)
0:64 'txval71' (temp 4-component vector of int)
0:64 textureGather (global 4-component vector of int)
0:64 Construct combined texture-sampler (temp isamplerCubeArray)
0:64 'g_tTexcdi4a' (uniform itextureCubeArray)
0:64 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:64 'c4' (uniform 4-component vector of float)
0:64 Constant:
0:64 3 (const int)
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of uint)
0:65 'txval72' (temp 4-component vector of uint)
0:65 textureGather (global 4-component vector of uint)
0:65 Construct combined texture-sampler (temp usamplerCubeArray)
0:65 'g_tTexcdu4a' (uniform utextureCubeArray)
0:65 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65 'c4' (uniform 4-component vector of float)
0:65 Constant:
0:65 3 (const int)
0:67 move second child to first child (temp 4-component vector of float)
0:67 Color: direct index for structure (temp 4-component vector of float)
0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:67 Constant:
0:67 0 (const int)
0:67 Constant:
0:67 1.000000
0:67 1.000000
0:67 1.000000
0:67 1.000000
0:68 move second child to first child (temp float)
0:68 Depth: direct index for structure (temp float FragDepth)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:68 Constant:
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) 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:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:72 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:33 'txval00' (temp 4-component vector of float)
0:33 textureGather (global 4-component vector of float)
0:33 Construct combined texture-sampler (temp sampler2DArray)
0:33 'g_tTex2df4a' (uniform texture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33 'c3' (uniform 3-component vector of float)
0:33 Constant:
0:33 0 (const int)
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of int)
0:34 'txval01' (temp 4-component vector of int)
0:34 textureGather (global 4-component vector of int)
0:34 Construct combined texture-sampler (temp isampler2DArray)
0:34 'g_tTex2di4a' (uniform itexture2DArray)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:34 'c3' (uniform 3-component vector of float)
0:34 Constant:
0:34 0 (const int)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of uint)
0:35 'txval02' (temp 4-component vector of uint)
0:35 textureGather (global 4-component vector of uint)
0:35 Construct combined texture-sampler (temp usampler2DArray)
0:35 'g_tTex2du4a' (uniform utexture2DArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:35 'c3' (uniform 3-component vector of float)
0:35 Constant:
0:35 0 (const int)
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of float)
0:37 'txval10' (temp 4-component vector of float)
0:37 textureGather (global 4-component vector of float)
0:37 Construct combined texture-sampler (temp sampler2DArray)
0:37 'g_tTex2df4a' (uniform texture2DArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:37 'c3' (uniform 3-component vector of float)
0:37 Constant:
0:37 1 (const int)
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of int)
0:38 'txval11' (temp 4-component vector of int)
0:38 textureGather (global 4-component vector of int)
0:38 Construct combined texture-sampler (temp isampler2DArray)
0:38 'g_tTex2di4a' (uniform itexture2DArray)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:38 'c3' (uniform 3-component vector of float)
0:38 Constant:
0:38 1 (const int)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of uint)
0:39 'txval12' (temp 4-component vector of uint)
0:39 textureGather (global 4-component vector of uint)
0:39 Construct combined texture-sampler (temp usampler2DArray)
0:39 'g_tTex2du4a' (uniform utexture2DArray)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39 'c3' (uniform 3-component vector of float)
0:39 Constant:
0:39 1 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of float)
0:41 'txval20' (temp 4-component vector of float)
0:41 textureGather (global 4-component vector of float)
0:41 Construct combined texture-sampler (temp sampler2DArray)
0:41 'g_tTex2df4a' (uniform texture2DArray)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41 'c3' (uniform 3-component vector of float)
0:41 Constant:
0:41 2 (const int)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of int)
0:42 'txval21' (temp 4-component vector of int)
0:42 textureGather (global 4-component vector of int)
0:42 Construct combined texture-sampler (temp isampler2DArray)
0:42 'g_tTex2di4a' (uniform itexture2DArray)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42 'c3' (uniform 3-component vector of float)
0:42 Constant:
0:42 2 (const int)
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of uint)
0:43 'txval22' (temp 4-component vector of uint)
0:43 textureGather (global 4-component vector of uint)
0:43 Construct combined texture-sampler (temp usampler2DArray)
0:43 'g_tTex2du4a' (uniform utexture2DArray)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43 'c3' (uniform 3-component vector of float)
0:43 Constant:
0:43 2 (const int)
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:45 'txval30' (temp 4-component vector of float)
0:45 textureGather (global 4-component vector of float)
0:45 Construct combined texture-sampler (temp sampler2DArray)
0:45 'g_tTex2df4a' (uniform texture2DArray)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45 'c3' (uniform 3-component vector of float)
0:45 Constant:
0:45 3 (const int)
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of int)
0:46 'txval31' (temp 4-component vector of int)
0:46 textureGather (global 4-component vector of int)
0:46 Construct combined texture-sampler (temp isampler2DArray)
0:46 'g_tTex2di4a' (uniform itexture2DArray)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46 'c3' (uniform 3-component vector of float)
0:46 Constant:
0:46 3 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of uint)
0:47 'txval32' (temp 4-component vector of uint)
0:47 textureGather (global 4-component vector of uint)
0:47 Construct combined texture-sampler (temp usampler2DArray)
0:47 'g_tTex2du4a' (uniform utexture2DArray)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 'c3' (uniform 3-component vector of float)
0:47 Constant:
0:47 3 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of float)
0:51 'txval40' (temp 4-component vector of float)
0:51 textureGather (global 4-component vector of float)
0:51 Construct combined texture-sampler (temp samplerCubeArray)
0:51 'g_tTexcdf4a' (uniform textureCubeArray)
0:51 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51 'c4' (uniform 4-component vector of float)
0:51 Constant:
0:51 0 (const int)
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of int)
0:52 'txval41' (temp 4-component vector of int)
0:52 textureGather (global 4-component vector of int)
0:52 Construct combined texture-sampler (temp isamplerCubeArray)
0:52 'g_tTexcdi4a' (uniform itextureCubeArray)
0:52 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52 'c4' (uniform 4-component vector of float)
0:52 Constant:
0:52 0 (const int)
0:53 Sequence
0:53 move second child to first child (temp 4-component vector of uint)
0:53 'txval42' (temp 4-component vector of uint)
0:53 textureGather (global 4-component vector of uint)
0:53 Construct combined texture-sampler (temp usamplerCubeArray)
0:53 'g_tTexcdu4a' (uniform utextureCubeArray)
0:53 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53 'c4' (uniform 4-component vector of float)
0:53 Constant:
0:53 0 (const int)
0:55 Sequence
0:55 move second child to first child (temp 4-component vector of float)
0:55 'txval50' (temp 4-component vector of float)
0:55 textureGather (global 4-component vector of float)
0:55 Construct combined texture-sampler (temp samplerCubeArray)
0:55 'g_tTexcdf4a' (uniform textureCubeArray)
0:55 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:55 'c4' (uniform 4-component vector of float)
0:55 Constant:
0:55 1 (const int)
0:56 Sequence
0:56 move second child to first child (temp 4-component vector of int)
0:56 'txval51' (temp 4-component vector of int)
0:56 textureGather (global 4-component vector of int)
0:56 Construct combined texture-sampler (temp isamplerCubeArray)
0:56 'g_tTexcdi4a' (uniform itextureCubeArray)
0:56 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:56 'c4' (uniform 4-component vector of float)
0:56 Constant:
0:56 1 (const int)
0:57 Sequence
0:57 move second child to first child (temp 4-component vector of uint)
0:57 'txval52' (temp 4-component vector of uint)
0:57 textureGather (global 4-component vector of uint)
0:57 Construct combined texture-sampler (temp usamplerCubeArray)
0:57 'g_tTexcdu4a' (uniform utextureCubeArray)
0:57 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57 'c4' (uniform 4-component vector of float)
0:57 Constant:
0:57 1 (const int)
0:59 Sequence
0:59 move second child to first child (temp 4-component vector of float)
0:59 'txval60' (temp 4-component vector of float)
0:59 textureGather (global 4-component vector of float)
0:59 Construct combined texture-sampler (temp samplerCubeArray)
0:59 'g_tTexcdf4a' (uniform textureCubeArray)
0:59 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59 'c4' (uniform 4-component vector of float)
0:59 Constant:
0:59 2 (const int)
0:60 Sequence
0:60 move second child to first child (temp 4-component vector of int)
0:60 'txval61' (temp 4-component vector of int)
0:60 textureGather (global 4-component vector of int)
0:60 Construct combined texture-sampler (temp isamplerCubeArray)
0:60 'g_tTexcdi4a' (uniform itextureCubeArray)
0:60 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:60 'c4' (uniform 4-component vector of float)
0:60 Constant:
0:60 2 (const int)
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of uint)
0:61 'txval62' (temp 4-component vector of uint)
0:61 textureGather (global 4-component vector of uint)
0:61 Construct combined texture-sampler (temp usamplerCubeArray)
0:61 'g_tTexcdu4a' (uniform utextureCubeArray)
0:61 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61 'c4' (uniform 4-component vector of float)
0:61 Constant:
0:61 2 (const int)
0:63 Sequence
0:63 move second child to first child (temp 4-component vector of float)
0:63 'txval70' (temp 4-component vector of float)
0:63 textureGather (global 4-component vector of float)
0:63 Construct combined texture-sampler (temp samplerCubeArray)
0:63 'g_tTexcdf4a' (uniform textureCubeArray)
0:63 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63 'c4' (uniform 4-component vector of float)
0:63 Constant:
0:63 3 (const int)
0:64 Sequence
0:64 move second child to first child (temp 4-component vector of int)
0:64 'txval71' (temp 4-component vector of int)
0:64 textureGather (global 4-component vector of int)
0:64 Construct combined texture-sampler (temp isamplerCubeArray)
0:64 'g_tTexcdi4a' (uniform itextureCubeArray)
0:64 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:64 'c4' (uniform 4-component vector of float)
0:64 Constant:
0:64 3 (const int)
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of uint)
0:65 'txval72' (temp 4-component vector of uint)
0:65 textureGather (global 4-component vector of uint)
0:65 Construct combined texture-sampler (temp usamplerCubeArray)
0:65 'g_tTexcdu4a' (uniform utextureCubeArray)
0:65 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65 'c4' (uniform 4-component vector of float)
0:65 Constant:
0:65 3 (const int)
0:67 move second child to first child (temp 4-component vector of float)
0:67 Color: direct index for structure (temp 4-component vector of float)
0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:67 Constant:
0:67 0 (const int)
0:67 Constant:
0:67 1.000000
0:67 1.000000
0:67 1.000000
0:67 1.000000
0:68 move second child to first child (temp float)
0:68 Depth: direct index for structure (temp float FragDepth)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:68 Constant:
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) 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:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 220
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
Name 4 "main"
Name 9 "txval00"
Name 12 "g_tTex2df4a"
Name 16 "g_sSamp"
Name 22 "c3"
Name 29 "txval01"
Name 32 "g_tTex2di4a"
Name 42 "txval02"
Name 45 "g_tTex2du4a"
Name 52 "txval10"
Name 59 "txval11"
Name 65 "txval12"
Name 71 "txval20"
Name 78 "txval21"
Name 84 "txval22"
Name 90 "txval30"
Name 97 "txval31"
Name 103 "txval32"
Name 109 "txval40"
Name 112 "g_tTexcdf4a"
Name 118 "c4"
Name 121 "txval41"
Name 124 "g_tTexcdi4a"
Name 131 "txval42"
Name 134 "g_tTexcdu4a"
Name 141 "txval50"
Name 147 "txval51"
Name 153 "txval52"
Name 159 "txval60"
Name 165 "txval61"
Name 171 "txval62"
Name 177 "txval70"
Name 183 "txval71"
Name 189 "txval72"
Name 195 "PS_OUTPUT"
MemberName 195(PS_OUTPUT) 0 "Color"
MemberName 195(PS_OUTPUT) 1 "Depth"
Name 197 "psout"
Name 205 "g_sSamp2d"
Name 208 "g_tTex1df4a"
Name 211 "g_tTex1di4a"
Name 214 "g_tTex1du4a"
Name 216 "c1"
Name 219 "c2"
Decorate 12(g_tTex2df4a) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 32(g_tTex2di4a) DescriptorSet 0
Decorate 45(g_tTex2du4a) DescriptorSet 0
Decorate 112(g_tTexcdf4a) DescriptorSet 0
Decorate 124(g_tTexcdi4a) DescriptorSet 0
Decorate 134(g_tTexcdu4a) DescriptorSet 0
MemberDecorate 195(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 205(g_sSamp2d) DescriptorSet 0
Decorate 208(g_tTex1df4a) DescriptorSet 0
Decorate 208(g_tTex1df4a) Binding 0
Decorate 211(g_tTex1di4a) DescriptorSet 0
Decorate 214(g_tTex1du4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D array sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4a): 11(ptr) Variable UniformConstant
14: TypeSampler
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 3
21: TypePointer UniformConstant 20(fvec3)
22(c3): 21(ptr) Variable UniformConstant
24: TypeInt 32 1
25: 24(int) Constant 0
27: TypeVector 24(int) 4
28: TypePointer Function 27(ivec4)
30: TypeImage 24(int) 2D array sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex2di4a): 31(ptr) Variable UniformConstant
35: TypeSampledImage 30
39: TypeInt 32 0
40: TypeVector 39(int) 4
41: TypePointer Function 40(ivec4)
43: TypeImage 39(int) 2D array sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex2du4a): 44(ptr) Variable UniformConstant
48: TypeSampledImage 43
57: 24(int) Constant 1
76: 24(int) Constant 2
95: 24(int) Constant 3
110: TypeImage 6(float) Cube array sampled format:Unknown
111: TypePointer UniformConstant 110
112(g_tTexcdf4a): 111(ptr) Variable UniformConstant
115: TypeSampledImage 110
117: TypePointer UniformConstant 7(fvec4)
118(c4): 117(ptr) Variable UniformConstant
122: TypeImage 24(int) Cube array sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTexcdi4a): 123(ptr) Variable UniformConstant
127: TypeSampledImage 122
132: TypeImage 39(int) Cube array sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTexcdu4a): 133(ptr) Variable UniformConstant
137: TypeSampledImage 132
195(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
196: TypePointer Function 195(PS_OUTPUT)
198: 6(float) Constant 1065353216
199: 7(fvec4) ConstantComposite 198 198 198 198
201: TypePointer Function 6(float)
205(g_sSamp2d): 15(ptr) Variable UniformConstant
206: TypeImage 6(float) 1D array sampled format:Unknown
207: TypePointer UniformConstant 206
208(g_tTex1df4a): 207(ptr) Variable UniformConstant
209: TypeImage 24(int) 1D array sampled format:Unknown
210: TypePointer UniformConstant 209
211(g_tTex1di4a): 210(ptr) Variable UniformConstant
212: TypeImage 39(int) 1D array sampled format:Unknown
213: TypePointer UniformConstant 212
214(g_tTex1du4a): 213(ptr) Variable UniformConstant
215: TypePointer UniformConstant 6(float)
216(c1): 215(ptr) Variable UniformConstant
217: TypeVector 6(float) 2
218: TypePointer UniformConstant 217(fvec2)
219(c2): 218(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval00): 8(ptr) Variable Function
29(txval01): 28(ptr) Variable Function
42(txval02): 41(ptr) Variable Function
52(txval10): 8(ptr) Variable Function
59(txval11): 28(ptr) Variable Function
65(txval12): 41(ptr) Variable Function
71(txval20): 8(ptr) Variable Function
78(txval21): 28(ptr) Variable Function
84(txval22): 41(ptr) Variable Function
90(txval30): 8(ptr) Variable Function
97(txval31): 28(ptr) Variable Function
103(txval32): 41(ptr) Variable Function
109(txval40): 8(ptr) Variable Function
121(txval41): 28(ptr) Variable Function
131(txval42): 41(ptr) Variable Function
141(txval50): 8(ptr) Variable Function
147(txval51): 28(ptr) Variable Function
153(txval52): 41(ptr) Variable Function
159(txval60): 8(ptr) Variable Function
165(txval61): 28(ptr) Variable Function
171(txval62): 41(ptr) Variable Function
177(txval70): 8(ptr) Variable Function
183(txval71): 28(ptr) Variable Function
189(txval72): 41(ptr) Variable Function
197(psout): 196(ptr) Variable Function
13: 10 Load 12(g_tTex2df4a)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
23: 20(fvec3) Load 22(c3)
26: 7(fvec4) ImageGather 19 23 25
Store 9(txval00) 26
33: 30 Load 32(g_tTex2di4a)
34: 14 Load 16(g_sSamp)
36: 35 SampledImage 33 34
37: 20(fvec3) Load 22(c3)
38: 27(ivec4) ImageGather 36 37 25
Store 29(txval01) 38
46: 43 Load 45(g_tTex2du4a)
47: 14 Load 16(g_sSamp)
49: 48 SampledImage 46 47
50: 20(fvec3) Load 22(c3)
51: 40(ivec4) ImageGather 49 50 25
Store 42(txval02) 51
53: 10 Load 12(g_tTex2df4a)
54: 14 Load 16(g_sSamp)
55: 18 SampledImage 53 54
56: 20(fvec3) Load 22(c3)
58: 7(fvec4) ImageGather 55 56 57
Store 52(txval10) 58
60: 30 Load 32(g_tTex2di4a)
61: 14 Load 16(g_sSamp)
62: 35 SampledImage 60 61
63: 20(fvec3) Load 22(c3)
64: 27(ivec4) ImageGather 62 63 57
Store 59(txval11) 64
66: 43 Load 45(g_tTex2du4a)
67: 14 Load 16(g_sSamp)
68: 48 SampledImage 66 67
69: 20(fvec3) Load 22(c3)
70: 40(ivec4) ImageGather 68 69 57
Store 65(txval12) 70
72: 10 Load 12(g_tTex2df4a)
73: 14 Load 16(g_sSamp)
74: 18 SampledImage 72 73
75: 20(fvec3) Load 22(c3)
77: 7(fvec4) ImageGather 74 75 76
Store 71(txval20) 77
79: 30 Load 32(g_tTex2di4a)
80: 14 Load 16(g_sSamp)
81: 35 SampledImage 79 80
82: 20(fvec3) Load 22(c3)
83: 27(ivec4) ImageGather 81 82 76
Store 78(txval21) 83
85: 43 Load 45(g_tTex2du4a)
86: 14 Load 16(g_sSamp)
87: 48 SampledImage 85 86
88: 20(fvec3) Load 22(c3)
89: 40(ivec4) ImageGather 87 88 76
Store 84(txval22) 89
91: 10 Load 12(g_tTex2df4a)
92: 14 Load 16(g_sSamp)
93: 18 SampledImage 91 92
94: 20(fvec3) Load 22(c3)
96: 7(fvec4) ImageGather 93 94 95
Store 90(txval30) 96
98: 30 Load 32(g_tTex2di4a)
99: 14 Load 16(g_sSamp)
100: 35 SampledImage 98 99
101: 20(fvec3) Load 22(c3)
102: 27(ivec4) ImageGather 100 101 95
Store 97(txval31) 102
104: 43 Load 45(g_tTex2du4a)
105: 14 Load 16(g_sSamp)
106: 48 SampledImage 104 105
107: 20(fvec3) Load 22(c3)
108: 40(ivec4) ImageGather 106 107 95
Store 103(txval32) 108
113: 110 Load 112(g_tTexcdf4a)
114: 14 Load 16(g_sSamp)
116: 115 SampledImage 113 114
119: 7(fvec4) Load 118(c4)
120: 7(fvec4) ImageGather 116 119 25
Store 109(txval40) 120
125: 122 Load 124(g_tTexcdi4a)
126: 14 Load 16(g_sSamp)
128: 127 SampledImage 125 126
129: 7(fvec4) Load 118(c4)
130: 27(ivec4) ImageGather 128 129 25
Store 121(txval41) 130
135: 132 Load 134(g_tTexcdu4a)
136: 14 Load 16(g_sSamp)
138: 137 SampledImage 135 136
139: 7(fvec4) Load 118(c4)
140: 40(ivec4) ImageGather 138 139 25
Store 131(txval42) 140
142: 110 Load 112(g_tTexcdf4a)
143: 14 Load 16(g_sSamp)
144: 115 SampledImage 142 143
145: 7(fvec4) Load 118(c4)
146: 7(fvec4) ImageGather 144 145 57
Store 141(txval50) 146
148: 122 Load 124(g_tTexcdi4a)
149: 14 Load 16(g_sSamp)
150: 127 SampledImage 148 149
151: 7(fvec4) Load 118(c4)
152: 27(ivec4) ImageGather 150 151 57
Store 147(txval51) 152
154: 132 Load 134(g_tTexcdu4a)
155: 14 Load 16(g_sSamp)
156: 137 SampledImage 154 155
157: 7(fvec4) Load 118(c4)
158: 40(ivec4) ImageGather 156 157 57
Store 153(txval52) 158
160: 110 Load 112(g_tTexcdf4a)
161: 14 Load 16(g_sSamp)
162: 115 SampledImage 160 161
163: 7(fvec4) Load 118(c4)
164: 7(fvec4) ImageGather 162 163 76
Store 159(txval60) 164
166: 122 Load 124(g_tTexcdi4a)
167: 14 Load 16(g_sSamp)
168: 127 SampledImage 166 167
169: 7(fvec4) Load 118(c4)
170: 27(ivec4) ImageGather 168 169 76
Store 165(txval61) 170
172: 132 Load 134(g_tTexcdu4a)
173: 14 Load 16(g_sSamp)
174: 137 SampledImage 172 173
175: 7(fvec4) Load 118(c4)
176: 40(ivec4) ImageGather 174 175 76
Store 171(txval62) 176
178: 110 Load 112(g_tTexcdf4a)
179: 14 Load 16(g_sSamp)
180: 115 SampledImage 178 179
181: 7(fvec4) Load 118(c4)
182: 7(fvec4) ImageGather 180 181 95
Store 177(txval70) 182
184: 122 Load 124(g_tTexcdi4a)
185: 14 Load 16(g_sSamp)
186: 127 SampledImage 184 185
187: 7(fvec4) Load 118(c4)
188: 27(ivec4) ImageGather 186 187 95
Store 183(txval71) 188
190: 132 Load 134(g_tTexcdu4a)
191: 14 Load 16(g_sSamp)
192: 137 SampledImage 190 191
193: 7(fvec4) Load 118(c4)
194: 40(ivec4) ImageGather 192 193 95
Store 189(txval72) 194
200: 8(ptr) AccessChain 197(psout) 25
Store 200 199
202: 201(ptr) AccessChain 197(psout) 57
Store 202 198
203:195(PS_OUTPUT) Load 197(psout)
ReturnValue 203
FunctionEnd
hlsl.gatherRGBA.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:78 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:34 Function Parameters:
0:? Sequence
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval00' (temp 4-component vector of float)
0:39 textureGather (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler2D)
0:39 'g_tTex2df4' (uniform texture2D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39 'c2' (uniform 2-component vector of float)
0:39 Constant:
0:39 0 (const int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval01' (temp 4-component vector of int)
0:40 textureGather (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler2D)
0:40 'g_tTex2di4' (uniform itexture2D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:40 'c2' (uniform 2-component vector of float)
0:40 Constant:
0:40 0 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval02' (temp 4-component vector of uint)
0:41 textureGather (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler2D)
0:41 'g_tTex2du4' (uniform utexture2D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41 'c2' (uniform 2-component vector of float)
0:41 Constant:
0:41 0 (const int)
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval10' (temp 4-component vector of float)
0:43 textureGather (global 4-component vector of float)
0:43 Construct combined texture-sampler (temp sampler2D)
0:43 'g_tTex2df4' (uniform texture2D)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43 'c2' (uniform 2-component vector of float)
0:43 Constant:
0:43 1 (const int)
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval11' (temp 4-component vector of int)
0:44 textureGather (global 4-component vector of int)
0:44 Construct combined texture-sampler (temp isampler2D)
0:44 'g_tTex2di4' (uniform itexture2D)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44 'c2' (uniform 2-component vector of float)
0:44 Constant:
0:44 1 (const int)
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval12' (temp 4-component vector of uint)
0:45 textureGather (global 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usampler2D)
0:45 'g_tTex2du4' (uniform utexture2D)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45 'c2' (uniform 2-component vector of float)
0:45 Constant:
0:45 1 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:47 'txval20' (temp 4-component vector of float)
0:47 textureGather (global 4-component vector of float)
0:47 Construct combined texture-sampler (temp sampler2D)
0:47 'g_tTex2df4' (uniform texture2D)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 'c2' (uniform 2-component vector of float)
0:47 Constant:
0:47 2 (const int)
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of int)
0:48 'txval21' (temp 4-component vector of int)
0:48 textureGather (global 4-component vector of int)
0:48 Construct combined texture-sampler (temp isampler2D)
0:48 'g_tTex2di4' (uniform itexture2D)
0:48 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48 'c2' (uniform 2-component vector of float)
0:48 Constant:
0:48 2 (const int)
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of uint)
0:49 'txval22' (temp 4-component vector of uint)
0:49 textureGather (global 4-component vector of uint)
0:49 Construct combined texture-sampler (temp usampler2D)
0:49 'g_tTex2du4' (uniform utexture2D)
0:49 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49 'c2' (uniform 2-component vector of float)
0:49 Constant:
0:49 2 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of float)
0:51 'txval30' (temp 4-component vector of float)
0:51 textureGather (global 4-component vector of float)
0:51 Construct combined texture-sampler (temp sampler2D)
0:51 'g_tTex2df4' (uniform texture2D)
0:51 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51 'c2' (uniform 2-component vector of float)
0:51 Constant:
0:51 3 (const int)
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of int)
0:52 'txval31' (temp 4-component vector of int)
0:52 textureGather (global 4-component vector of int)
0:52 Construct combined texture-sampler (temp isampler2D)
0:52 'g_tTex2di4' (uniform itexture2D)
0:52 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52 'c2' (uniform 2-component vector of float)
0:52 Constant:
0:52 3 (const int)
0:53 Sequence
0:53 move second child to first child (temp 4-component vector of uint)
0:53 'txval32' (temp 4-component vector of uint)
0:53 textureGather (global 4-component vector of uint)
0:53 Construct combined texture-sampler (temp usampler2D)
0:53 'g_tTex2du4' (uniform utexture2D)
0:53 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53 'c2' (uniform 2-component vector of float)
0:53 Constant:
0:53 3 (const int)
0:57 Sequence
0:57 move second child to first child (temp 4-component vector of float)
0:57 'txval40' (temp 4-component vector of float)
0:57 textureGather (global 4-component vector of float)
0:57 Construct combined texture-sampler (temp samplerCube)
0:57 'g_tTexcdf4' (uniform textureCube)
0:57 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57 'c3' (uniform 3-component vector of float)
0:57 Constant:
0:57 0 (const int)
0:58 Sequence
0:58 move second child to first child (temp 4-component vector of int)
0:58 'txval41' (temp 4-component vector of int)
0:58 textureGather (global 4-component vector of int)
0:58 Construct combined texture-sampler (temp isamplerCube)
0:58 'g_tTexcdi4' (uniform itextureCube)
0:58 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:58 'c3' (uniform 3-component vector of float)
0:58 Constant:
0:58 0 (const int)
0:59 Sequence
0:59 move second child to first child (temp 4-component vector of uint)
0:59 'txval42' (temp 4-component vector of uint)
0:59 textureGather (global 4-component vector of uint)
0:59 Construct combined texture-sampler (temp usamplerCube)
0:59 'g_tTexcdu4' (uniform utextureCube)
0:59 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59 'c3' (uniform 3-component vector of float)
0:59 Constant:
0:59 0 (const int)
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of float)
0:61 'txval50' (temp 4-component vector of float)
0:61 textureGather (global 4-component vector of float)
0:61 Construct combined texture-sampler (temp samplerCube)
0:61 'g_tTexcdf4' (uniform textureCube)
0:61 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61 'c3' (uniform 3-component vector of float)
0:61 Constant:
0:61 1 (const int)
0:62 Sequence
0:62 move second child to first child (temp 4-component vector of int)
0:62 'txval51' (temp 4-component vector of int)
0:62 textureGather (global 4-component vector of int)
0:62 Construct combined texture-sampler (temp isamplerCube)
0:62 'g_tTexcdi4' (uniform itextureCube)
0:62 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62 'c3' (uniform 3-component vector of float)
0:62 Constant:
0:62 1 (const int)
0:63 Sequence
0:63 move second child to first child (temp 4-component vector of uint)
0:63 'txval52' (temp 4-component vector of uint)
0:63 textureGather (global 4-component vector of uint)
0:63 Construct combined texture-sampler (temp usamplerCube)
0:63 'g_tTexcdu4' (uniform utextureCube)
0:63 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63 'c3' (uniform 3-component vector of float)
0:63 Constant:
0:63 1 (const int)
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of float)
0:65 'txval60' (temp 4-component vector of float)
0:65 textureGather (global 4-component vector of float)
0:65 Construct combined texture-sampler (temp samplerCube)
0:65 'g_tTexcdf4' (uniform textureCube)
0:65 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65 'c3' (uniform 3-component vector of float)
0:65 Constant:
0:65 2 (const int)
0:66 Sequence
0:66 move second child to first child (temp 4-component vector of int)
0:66 'txval61' (temp 4-component vector of int)
0:66 textureGather (global 4-component vector of int)
0:66 Construct combined texture-sampler (temp isamplerCube)
0:66 'g_tTexcdi4' (uniform itextureCube)
0:66 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:66 'c3' (uniform 3-component vector of float)
0:66 Constant:
0:66 2 (const int)
0:67 Sequence
0:67 move second child to first child (temp 4-component vector of uint)
0:67 'txval62' (temp 4-component vector of uint)
0:67 textureGather (global 4-component vector of uint)
0:67 Construct combined texture-sampler (temp usamplerCube)
0:67 'g_tTexcdu4' (uniform utextureCube)
0:67 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:67 'c3' (uniform 3-component vector of float)
0:67 Constant:
0:67 2 (const int)
0:69 Sequence
0:69 move second child to first child (temp 4-component vector of float)
0:69 'txval70' (temp 4-component vector of float)
0:69 textureGather (global 4-component vector of float)
0:69 Construct combined texture-sampler (temp samplerCube)
0:69 'g_tTexcdf4' (uniform textureCube)
0:69 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:69 'c3' (uniform 3-component vector of float)
0:69 Constant:
0:69 3 (const int)
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of int)
0:70 'txval71' (temp 4-component vector of int)
0:70 textureGather (global 4-component vector of int)
0:70 Construct combined texture-sampler (temp isamplerCube)
0:70 'g_tTexcdi4' (uniform itextureCube)
0:70 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:70 'c3' (uniform 3-component vector of float)
0:70 Constant:
0:70 3 (const int)
0:71 Sequence
0:71 move second child to first child (temp 4-component vector of uint)
0:71 'txval72' (temp 4-component vector of uint)
0:71 textureGather (global 4-component vector of uint)
0:71 Construct combined texture-sampler (temp usamplerCube)
0:71 'g_tTexcdu4' (uniform utextureCube)
0:71 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:71 'c3' (uniform 3-component vector of float)
0:71 Constant:
0:71 3 (const int)
0:73 move second child to first child (temp 4-component vector of float)
0:73 Color: direct index for structure (temp 4-component vector of float)
0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:73 Constant:
0:73 0 (const int)
0:73 Constant:
0:73 1.000000
0:73 1.000000
0:73 1.000000
0:73 1.000000
0:74 move second child to first child (temp float)
0:74 Depth: direct index for structure (temp float FragDepth)
0:74 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:74 Constant:
0:74 1 (const int)
0:74 Constant:
0:74 1.000000
0:76 Branch: Return with expression
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:78 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:34 Function Parameters:
0:? Sequence
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval00' (temp 4-component vector of float)
0:39 textureGather (global 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler2D)
0:39 'g_tTex2df4' (uniform texture2D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39 'c2' (uniform 2-component vector of float)
0:39 Constant:
0:39 0 (const int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval01' (temp 4-component vector of int)
0:40 textureGather (global 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler2D)
0:40 'g_tTex2di4' (uniform itexture2D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:40 'c2' (uniform 2-component vector of float)
0:40 Constant:
0:40 0 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval02' (temp 4-component vector of uint)
0:41 textureGather (global 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler2D)
0:41 'g_tTex2du4' (uniform utexture2D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41 'c2' (uniform 2-component vector of float)
0:41 Constant:
0:41 0 (const int)
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval10' (temp 4-component vector of float)
0:43 textureGather (global 4-component vector of float)
0:43 Construct combined texture-sampler (temp sampler2D)
0:43 'g_tTex2df4' (uniform texture2D)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43 'c2' (uniform 2-component vector of float)
0:43 Constant:
0:43 1 (const int)
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval11' (temp 4-component vector of int)
0:44 textureGather (global 4-component vector of int)
0:44 Construct combined texture-sampler (temp isampler2D)
0:44 'g_tTex2di4' (uniform itexture2D)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44 'c2' (uniform 2-component vector of float)
0:44 Constant:
0:44 1 (const int)
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval12' (temp 4-component vector of uint)
0:45 textureGather (global 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usampler2D)
0:45 'g_tTex2du4' (uniform utexture2D)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45 'c2' (uniform 2-component vector of float)
0:45 Constant:
0:45 1 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:47 'txval20' (temp 4-component vector of float)
0:47 textureGather (global 4-component vector of float)
0:47 Construct combined texture-sampler (temp sampler2D)
0:47 'g_tTex2df4' (uniform texture2D)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 'c2' (uniform 2-component vector of float)
0:47 Constant:
0:47 2 (const int)
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of int)
0:48 'txval21' (temp 4-component vector of int)
0:48 textureGather (global 4-component vector of int)
0:48 Construct combined texture-sampler (temp isampler2D)
0:48 'g_tTex2di4' (uniform itexture2D)
0:48 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48 'c2' (uniform 2-component vector of float)
0:48 Constant:
0:48 2 (const int)
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of uint)
0:49 'txval22' (temp 4-component vector of uint)
0:49 textureGather (global 4-component vector of uint)
0:49 Construct combined texture-sampler (temp usampler2D)
0:49 'g_tTex2du4' (uniform utexture2D)
0:49 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49 'c2' (uniform 2-component vector of float)
0:49 Constant:
0:49 2 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of float)
0:51 'txval30' (temp 4-component vector of float)
0:51 textureGather (global 4-component vector of float)
0:51 Construct combined texture-sampler (temp sampler2D)
0:51 'g_tTex2df4' (uniform texture2D)
0:51 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51 'c2' (uniform 2-component vector of float)
0:51 Constant:
0:51 3 (const int)
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of int)
0:52 'txval31' (temp 4-component vector of int)
0:52 textureGather (global 4-component vector of int)
0:52 Construct combined texture-sampler (temp isampler2D)
0:52 'g_tTex2di4' (uniform itexture2D)
0:52 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52 'c2' (uniform 2-component vector of float)
0:52 Constant:
0:52 3 (const int)
0:53 Sequence
0:53 move second child to first child (temp 4-component vector of uint)
0:53 'txval32' (temp 4-component vector of uint)
0:53 textureGather (global 4-component vector of uint)
0:53 Construct combined texture-sampler (temp usampler2D)
0:53 'g_tTex2du4' (uniform utexture2D)
0:53 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53 'c2' (uniform 2-component vector of float)
0:53 Constant:
0:53 3 (const int)
0:57 Sequence
0:57 move second child to first child (temp 4-component vector of float)
0:57 'txval40' (temp 4-component vector of float)
0:57 textureGather (global 4-component vector of float)
0:57 Construct combined texture-sampler (temp samplerCube)
0:57 'g_tTexcdf4' (uniform textureCube)
0:57 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57 'c3' (uniform 3-component vector of float)
0:57 Constant:
0:57 0 (const int)
0:58 Sequence
0:58 move second child to first child (temp 4-component vector of int)
0:58 'txval41' (temp 4-component vector of int)
0:58 textureGather (global 4-component vector of int)
0:58 Construct combined texture-sampler (temp isamplerCube)
0:58 'g_tTexcdi4' (uniform itextureCube)
0:58 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:58 'c3' (uniform 3-component vector of float)
0:58 Constant:
0:58 0 (const int)
0:59 Sequence
0:59 move second child to first child (temp 4-component vector of uint)
0:59 'txval42' (temp 4-component vector of uint)
0:59 textureGather (global 4-component vector of uint)
0:59 Construct combined texture-sampler (temp usamplerCube)
0:59 'g_tTexcdu4' (uniform utextureCube)
0:59 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59 'c3' (uniform 3-component vector of float)
0:59 Constant:
0:59 0 (const int)
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of float)
0:61 'txval50' (temp 4-component vector of float)
0:61 textureGather (global 4-component vector of float)
0:61 Construct combined texture-sampler (temp samplerCube)
0:61 'g_tTexcdf4' (uniform textureCube)
0:61 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61 'c3' (uniform 3-component vector of float)
0:61 Constant:
0:61 1 (const int)
0:62 Sequence
0:62 move second child to first child (temp 4-component vector of int)
0:62 'txval51' (temp 4-component vector of int)
0:62 textureGather (global 4-component vector of int)
0:62 Construct combined texture-sampler (temp isamplerCube)
0:62 'g_tTexcdi4' (uniform itextureCube)
0:62 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62 'c3' (uniform 3-component vector of float)
0:62 Constant:
0:62 1 (const int)
0:63 Sequence
0:63 move second child to first child (temp 4-component vector of uint)
0:63 'txval52' (temp 4-component vector of uint)
0:63 textureGather (global 4-component vector of uint)
0:63 Construct combined texture-sampler (temp usamplerCube)
0:63 'g_tTexcdu4' (uniform utextureCube)
0:63 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63 'c3' (uniform 3-component vector of float)
0:63 Constant:
0:63 1 (const int)
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of float)
0:65 'txval60' (temp 4-component vector of float)
0:65 textureGather (global 4-component vector of float)
0:65 Construct combined texture-sampler (temp samplerCube)
0:65 'g_tTexcdf4' (uniform textureCube)
0:65 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65 'c3' (uniform 3-component vector of float)
0:65 Constant:
0:65 2 (const int)
0:66 Sequence
0:66 move second child to first child (temp 4-component vector of int)
0:66 'txval61' (temp 4-component vector of int)
0:66 textureGather (global 4-component vector of int)
0:66 Construct combined texture-sampler (temp isamplerCube)
0:66 'g_tTexcdi4' (uniform itextureCube)
0:66 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:66 'c3' (uniform 3-component vector of float)
0:66 Constant:
0:66 2 (const int)
0:67 Sequence
0:67 move second child to first child (temp 4-component vector of uint)
0:67 'txval62' (temp 4-component vector of uint)
0:67 textureGather (global 4-component vector of uint)
0:67 Construct combined texture-sampler (temp usamplerCube)
0:67 'g_tTexcdu4' (uniform utextureCube)
0:67 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:67 'c3' (uniform 3-component vector of float)
0:67 Constant:
0:67 2 (const int)
0:69 Sequence
0:69 move second child to first child (temp 4-component vector of float)
0:69 'txval70' (temp 4-component vector of float)
0:69 textureGather (global 4-component vector of float)
0:69 Construct combined texture-sampler (temp samplerCube)
0:69 'g_tTexcdf4' (uniform textureCube)
0:69 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:69 'c3' (uniform 3-component vector of float)
0:69 Constant:
0:69 3 (const int)
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of int)
0:70 'txval71' (temp 4-component vector of int)
0:70 textureGather (global 4-component vector of int)
0:70 Construct combined texture-sampler (temp isamplerCube)
0:70 'g_tTexcdi4' (uniform itextureCube)
0:70 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:70 'c3' (uniform 3-component vector of float)
0:70 Constant:
0:70 3 (const int)
0:71 Sequence
0:71 move second child to first child (temp 4-component vector of uint)
0:71 'txval72' (temp 4-component vector of uint)
0:71 textureGather (global 4-component vector of uint)
0:71 Construct combined texture-sampler (temp usamplerCube)
0:71 'g_tTexcdu4' (uniform utextureCube)
0:71 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:71 'c3' (uniform 3-component vector of float)
0:71 Constant:
0:71 3 (const int)
0:73 move second child to first child (temp 4-component vector of float)
0:73 Color: direct index for structure (temp 4-component vector of float)
0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:73 Constant:
0:73 0 (const int)
0:73 Constant:
0:73 1.000000
0:73 1.000000
0:73 1.000000
0:73 1.000000
0:74 move second child to first child (temp float)
0:74 Depth: direct index for structure (temp float FragDepth)
0:74 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:74 Constant:
0:74 1 (const int)
0:74 Constant:
0:74 1.000000
0:76 Branch: Return with expression
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 230
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
Name 4 "main"
Name 9 "txval00"
Name 12 "g_tTex2df4"
Name 16 "g_sSamp"
Name 22 "c2"
Name 29 "txval01"
Name 32 "g_tTex2di4"
Name 42 "txval02"
Name 45 "g_tTex2du4"
Name 52 "txval10"
Name 59 "txval11"
Name 65 "txval12"
Name 71 "txval20"
Name 78 "txval21"
Name 84 "txval22"
Name 90 "txval30"
Name 97 "txval31"
Name 103 "txval32"
Name 109 "txval40"
Name 112 "g_tTexcdf4"
Name 119 "c3"
Name 122 "txval41"
Name 125 "g_tTexcdi4"
Name 132 "txval42"
Name 135 "g_tTexcdu4"
Name 142 "txval50"
Name 148 "txval51"
Name 154 "txval52"
Name 160 "txval60"
Name 166 "txval61"
Name 172 "txval62"
Name 178 "txval70"
Name 184 "txval71"
Name 190 "txval72"
Name 196 "PS_OUTPUT"
MemberName 196(PS_OUTPUT) 0 "Color"
MemberName 196(PS_OUTPUT) 1 "Depth"
Name 198 "psout"
Name 206 "g_sSamp2d"
Name 209 "g_tTex1df4a"
Name 210 "g_tTex1df4"
Name 213 "g_tTex1di4"
Name 216 "g_tTex1du4"
Name 219 "g_tTex3df4"
Name 222 "g_tTex3di4"
Name 225 "g_tTex3du4"
Name 227 "c1"
Name 229 "c4"
Decorate 12(g_tTex2df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 32(g_tTex2di4) DescriptorSet 0
Decorate 45(g_tTex2du4) DescriptorSet 0
Decorate 112(g_tTexcdf4) DescriptorSet 0
Decorate 125(g_tTexcdi4) DescriptorSet 0
Decorate 135(g_tTexcdu4) DescriptorSet 0
MemberDecorate 196(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 206(g_sSamp2d) DescriptorSet 0
Decorate 209(g_tTex1df4a) DescriptorSet 0
Decorate 209(g_tTex1df4a) Binding 1
Decorate 210(g_tTex1df4) DescriptorSet 0
Decorate 210(g_tTex1df4) Binding 0
Decorate 213(g_tTex1di4) DescriptorSet 0
Decorate 216(g_tTex1du4) DescriptorSet 0
Decorate 219(g_tTex3df4) DescriptorSet 0
Decorate 222(g_tTex3di4) DescriptorSet 0
Decorate 225(g_tTex3du4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4): 11(ptr) Variable UniformConstant
14: TypeSampler
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 2
21: TypePointer UniformConstant 20(fvec2)
22(c2): 21(ptr) Variable UniformConstant
24: TypeInt 32 1
25: 24(int) Constant 0
27: TypeVector 24(int) 4
28: TypePointer Function 27(ivec4)
30: TypeImage 24(int) 2D sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex2di4): 31(ptr) Variable UniformConstant
35: TypeSampledImage 30
39: TypeInt 32 0
40: TypeVector 39(int) 4
41: TypePointer Function 40(ivec4)
43: TypeImage 39(int) 2D sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex2du4): 44(ptr) Variable UniformConstant
48: TypeSampledImage 43
57: 24(int) Constant 1
76: 24(int) Constant 2
95: 24(int) Constant 3
110: TypeImage 6(float) Cube sampled format:Unknown
111: TypePointer UniformConstant 110
112(g_tTexcdf4): 111(ptr) Variable UniformConstant
115: TypeSampledImage 110
117: TypeVector 6(float) 3
118: TypePointer UniformConstant 117(fvec3)
119(c3): 118(ptr) Variable UniformConstant
123: TypeImage 24(int) Cube sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTexcdi4): 124(ptr) Variable UniformConstant
128: TypeSampledImage 123
133: TypeImage 39(int) Cube sampled format:Unknown
134: TypePointer UniformConstant 133
135(g_tTexcdu4): 134(ptr) Variable UniformConstant
138: TypeSampledImage 133
196(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
197: TypePointer Function 196(PS_OUTPUT)
199: 6(float) Constant 1065353216
200: 7(fvec4) ConstantComposite 199 199 199 199
202: TypePointer Function 6(float)
206(g_sSamp2d): 15(ptr) Variable UniformConstant
207: TypeImage 6(float) 1D sampled format:Unknown
208: TypePointer UniformConstant 207
209(g_tTex1df4a): 208(ptr) Variable UniformConstant
210(g_tTex1df4): 208(ptr) Variable UniformConstant
211: TypeImage 24(int) 1D sampled format:Unknown
212: TypePointer UniformConstant 211
213(g_tTex1di4): 212(ptr) Variable UniformConstant
214: TypeImage 39(int) 1D sampled format:Unknown
215: TypePointer UniformConstant 214
216(g_tTex1du4): 215(ptr) Variable UniformConstant
217: TypeImage 6(float) 3D sampled format:Unknown
218: TypePointer UniformConstant 217
219(g_tTex3df4): 218(ptr) Variable UniformConstant
220: TypeImage 24(int) 3D sampled format:Unknown
221: TypePointer UniformConstant 220
222(g_tTex3di4): 221(ptr) Variable UniformConstant
223: TypeImage 39(int) 3D sampled format:Unknown
224: TypePointer UniformConstant 223
225(g_tTex3du4): 224(ptr) Variable UniformConstant
226: TypePointer UniformConstant 6(float)
227(c1): 226(ptr) Variable UniformConstant
228: TypePointer UniformConstant 7(fvec4)
229(c4): 228(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval00): 8(ptr) Variable Function
29(txval01): 28(ptr) Variable Function
42(txval02): 41(ptr) Variable Function
52(txval10): 8(ptr) Variable Function
59(txval11): 28(ptr) Variable Function
65(txval12): 41(ptr) Variable Function
71(txval20): 8(ptr) Variable Function
78(txval21): 28(ptr) Variable Function
84(txval22): 41(ptr) Variable Function
90(txval30): 8(ptr) Variable Function
97(txval31): 28(ptr) Variable Function
103(txval32): 41(ptr) Variable Function
109(txval40): 8(ptr) Variable Function
122(txval41): 28(ptr) Variable Function
132(txval42): 41(ptr) Variable Function
142(txval50): 8(ptr) Variable Function
148(txval51): 28(ptr) Variable Function
154(txval52): 41(ptr) Variable Function
160(txval60): 8(ptr) Variable Function
166(txval61): 28(ptr) Variable Function
172(txval62): 41(ptr) Variable Function
178(txval70): 8(ptr) Variable Function
184(txval71): 28(ptr) Variable Function
190(txval72): 41(ptr) Variable Function
198(psout): 197(ptr) Variable Function
13: 10 Load 12(g_tTex2df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
23: 20(fvec2) Load 22(c2)
26: 7(fvec4) ImageGather 19 23 25
Store 9(txval00) 26
33: 30 Load 32(g_tTex2di4)
34: 14 Load 16(g_sSamp)
36: 35 SampledImage 33 34
37: 20(fvec2) Load 22(c2)
38: 27(ivec4) ImageGather 36 37 25
Store 29(txval01) 38
46: 43 Load 45(g_tTex2du4)
47: 14 Load 16(g_sSamp)
49: 48 SampledImage 46 47
50: 20(fvec2) Load 22(c2)
51: 40(ivec4) ImageGather 49 50 25
Store 42(txval02) 51
53: 10 Load 12(g_tTex2df4)
54: 14 Load 16(g_sSamp)
55: 18 SampledImage 53 54
56: 20(fvec2) Load 22(c2)
58: 7(fvec4) ImageGather 55 56 57
Store 52(txval10) 58
60: 30 Load 32(g_tTex2di4)
61: 14 Load 16(g_sSamp)
62: 35 SampledImage 60 61
63: 20(fvec2) Load 22(c2)
64: 27(ivec4) ImageGather 62 63 57
Store 59(txval11) 64
66: 43 Load 45(g_tTex2du4)
67: 14 Load 16(g_sSamp)
68: 48 SampledImage 66 67
69: 20(fvec2) Load 22(c2)
70: 40(ivec4) ImageGather 68 69 57
Store 65(txval12) 70
72: 10 Load 12(g_tTex2df4)
73: 14 Load 16(g_sSamp)
74: 18 SampledImage 72 73
75: 20(fvec2) Load 22(c2)
77: 7(fvec4) ImageGather 74 75 76
Store 71(txval20) 77
79: 30 Load 32(g_tTex2di4)
80: 14 Load 16(g_sSamp)
81: 35 SampledImage 79 80
82: 20(fvec2) Load 22(c2)
83: 27(ivec4) ImageGather 81 82 76
Store 78(txval21) 83
85: 43 Load 45(g_tTex2du4)
86: 14 Load 16(g_sSamp)
87: 48 SampledImage 85 86
88: 20(fvec2) Load 22(c2)
89: 40(ivec4) ImageGather 87 88 76
Store 84(txval22) 89
91: 10 Load 12(g_tTex2df4)
92: 14 Load 16(g_sSamp)
93: 18 SampledImage 91 92
94: 20(fvec2) Load 22(c2)
96: 7(fvec4) ImageGather 93 94 95
Store 90(txval30) 96
98: 30 Load 32(g_tTex2di4)
99: 14 Load 16(g_sSamp)
100: 35 SampledImage 98 99
101: 20(fvec2) Load 22(c2)
102: 27(ivec4) ImageGather 100 101 95
Store 97(txval31) 102
104: 43 Load 45(g_tTex2du4)
105: 14 Load 16(g_sSamp)
106: 48 SampledImage 104 105
107: 20(fvec2) Load 22(c2)
108: 40(ivec4) ImageGather 106 107 95
Store 103(txval32) 108
113: 110 Load 112(g_tTexcdf4)
114: 14 Load 16(g_sSamp)
116: 115 SampledImage 113 114
120: 117(fvec3) Load 119(c3)
121: 7(fvec4) ImageGather 116 120 25
Store 109(txval40) 121
126: 123 Load 125(g_tTexcdi4)
127: 14 Load 16(g_sSamp)
129: 128 SampledImage 126 127
130: 117(fvec3) Load 119(c3)
131: 27(ivec4) ImageGather 129 130 25
Store 122(txval41) 131
136: 133 Load 135(g_tTexcdu4)
137: 14 Load 16(g_sSamp)
139: 138 SampledImage 136 137
140: 117(fvec3) Load 119(c3)
141: 40(ivec4) ImageGather 139 140 25
Store 132(txval42) 141
143: 110 Load 112(g_tTexcdf4)
144: 14 Load 16(g_sSamp)
145: 115 SampledImage 143 144
146: 117(fvec3) Load 119(c3)
147: 7(fvec4) ImageGather 145 146 57
Store 142(txval50) 147
149: 123 Load 125(g_tTexcdi4)
150: 14 Load 16(g_sSamp)
151: 128 SampledImage 149 150
152: 117(fvec3) Load 119(c3)
153: 27(ivec4) ImageGather 151 152 57
Store 148(txval51) 153
155: 133 Load 135(g_tTexcdu4)
156: 14 Load 16(g_sSamp)
157: 138 SampledImage 155 156
158: 117(fvec3) Load 119(c3)
159: 40(ivec4) ImageGather 157 158 57
Store 154(txval52) 159
161: 110 Load 112(g_tTexcdf4)
162: 14 Load 16(g_sSamp)
163: 115 SampledImage 161 162
164: 117(fvec3) Load 119(c3)
165: 7(fvec4) ImageGather 163 164 76
Store 160(txval60) 165
167: 123 Load 125(g_tTexcdi4)
168: 14 Load 16(g_sSamp)
169: 128 SampledImage 167 168
170: 117(fvec3) Load 119(c3)
171: 27(ivec4) ImageGather 169 170 76
Store 166(txval61) 171
173: 133 Load 135(g_tTexcdu4)
174: 14 Load 16(g_sSamp)
175: 138 SampledImage 173 174
176: 117(fvec3) Load 119(c3)
177: 40(ivec4) ImageGather 175 176 76
Store 172(txval62) 177
179: 110 Load 112(g_tTexcdf4)
180: 14 Load 16(g_sSamp)
181: 115 SampledImage 179 180
182: 117(fvec3) Load 119(c3)
183: 7(fvec4) ImageGather 181 182 95
Store 178(txval70) 183
185: 123 Load 125(g_tTexcdi4)
186: 14 Load 16(g_sSamp)
187: 128 SampledImage 185 186
188: 117(fvec3) Load 119(c3)
189: 27(ivec4) ImageGather 187 188 95
Store 184(txval71) 189
191: 133 Load 135(g_tTexcdu4)
192: 14 Load 16(g_sSamp)
193: 138 SampledImage 191 192
194: 117(fvec3) Load 119(c3)
195: 40(ivec4) ImageGather 193 194 95
Store 190(txval72) 195
201: 8(ptr) AccessChain 198(psout) 25
Store 201 200
203: 202(ptr) AccessChain 198(psout) 57
Store 203 199
204:196(PS_OUTPUT) Load 198(psout)
ReturnValue 204
FunctionEnd
hlsl.gatherRGBA.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:117 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:39 Function Parameters:
0:? Sequence
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of float)
0:46 'txval001' (temp 4-component vector of float)
0:46 textureGatherOffset (global 4-component vector of float)
0:46 Construct combined texture-sampler (temp sampler2D)
0:46 'g_tTex2df4' (uniform texture2D)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46 'c2' (uniform 2-component vector of float)
0:46 'o2' (uniform 2-component vector of int)
0:46 Constant:
0:46 0 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of int)
0:47 'txval011' (temp 4-component vector of int)
0:47 textureGatherOffset (global 4-component vector of int)
0:47 Construct combined texture-sampler (temp isampler2D)
0:47 'g_tTex2di4' (uniform itexture2D)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 'c2' (uniform 2-component vector of float)
0:47 'o2' (uniform 2-component vector of int)
0:47 Constant:
0:47 0 (const int)
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of uint)
0:48 'txval021' (temp 4-component vector of uint)
0:48 textureGatherOffset (global 4-component vector of uint)
0:48 Construct combined texture-sampler (temp usampler2D)
0:48 'g_tTex2du4' (uniform utexture2D)
0:48 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48 'c2' (uniform 2-component vector of float)
0:48 'o2' (uniform 2-component vector of int)
0:48 Constant:
0:48 0 (const int)
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of float)
0:50 'txval004' (temp 4-component vector of float)
0:50 textureGatherOffsets (global 4-component vector of float)
0:50 Construct combined texture-sampler (temp sampler2D)
0:50 'g_tTex2df4' (uniform texture2D)
0:50 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:50 'c2' (uniform 2-component vector of float)
0:50 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 Constant:
0:50 0 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of int)
0:51 'txval014' (temp 4-component vector of int)
0:51 textureGatherOffsets (global 4-component vector of int)
0:51 Construct combined texture-sampler (temp isampler2D)
0:51 'g_tTex2di4' (uniform itexture2D)
0:51 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51 'c2' (uniform 2-component vector of float)
0:51 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 Constant:
0:51 0 (const int)
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of uint)
0:52 'txval024' (temp 4-component vector of uint)
0:52 textureGatherOffsets (global 4-component vector of uint)
0:52 Construct combined texture-sampler (temp usampler2D)
0:52 'g_tTex2du4' (uniform utexture2D)
0:52 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52 'c2' (uniform 2-component vector of float)
0:52 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 Constant:
0:52 0 (const int)
0:62 Sequence
0:62 move second child to first child (temp 4-component vector of float)
0:62 'txval101' (temp 4-component vector of float)
0:62 textureGatherOffset (global 4-component vector of float)
0:62 Construct combined texture-sampler (temp sampler2D)
0:62 'g_tTex2df4' (uniform texture2D)
0:62 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62 'c2' (uniform 2-component vector of float)
0:62 'o2' (uniform 2-component vector of int)
0:62 Constant:
0:62 1 (const int)
0:63 Sequence
0:63 move second child to first child (temp 4-component vector of int)
0:63 'txval111' (temp 4-component vector of int)
0:63 textureGatherOffset (global 4-component vector of int)
0:63 Construct combined texture-sampler (temp isampler2D)
0:63 'g_tTex2di4' (uniform itexture2D)
0:63 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63 'c2' (uniform 2-component vector of float)
0:63 'o2' (uniform 2-component vector of int)
0:63 Constant:
0:63 1 (const int)
0:64 Sequence
0:64 move second child to first child (temp 4-component vector of uint)
0:64 'txval121' (temp 4-component vector of uint)
0:64 textureGatherOffset (global 4-component vector of uint)
0:64 Construct combined texture-sampler (temp usampler2D)
0:64 'g_tTex2du4' (uniform utexture2D)
0:64 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:64 'c2' (uniform 2-component vector of float)
0:64 'o2' (uniform 2-component vector of int)
0:64 Constant:
0:64 1 (const int)
0:66 Sequence
0:66 move second child to first child (temp 4-component vector of float)
0:66 'txval104' (temp 4-component vector of float)
0:66 textureGatherOffsets (global 4-component vector of float)
0:66 Construct combined texture-sampler (temp sampler2D)
0:66 'g_tTex2df4' (uniform texture2D)
0:66 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:66 'c2' (uniform 2-component vector of float)
0:66 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 Constant:
0:66 1 (const int)
0:67 Sequence
0:67 move second child to first child (temp 4-component vector of int)
0:67 'txval114' (temp 4-component vector of int)
0:67 textureGatherOffsets (global 4-component vector of int)
0:67 Construct combined texture-sampler (temp isampler2D)
0:67 'g_tTex2di4' (uniform itexture2D)
0:67 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:67 'c2' (uniform 2-component vector of float)
0:67 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 Constant:
0:67 1 (const int)
0:68 Sequence
0:68 move second child to first child (temp 4-component vector of uint)
0:68 'txval124' (temp 4-component vector of uint)
0:68 textureGatherOffsets (global 4-component vector of uint)
0:68 Construct combined texture-sampler (temp usampler2D)
0:68 'g_tTex2du4' (uniform utexture2D)
0:68 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:68 'c2' (uniform 2-component vector of float)
0:68 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 Constant:
0:68 1 (const int)
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of float)
0:78 'txval201' (temp 4-component vector of float)
0:78 textureGatherOffset (global 4-component vector of float)
0:78 Construct combined texture-sampler (temp sampler2D)
0:78 'g_tTex2df4' (uniform texture2D)
0:78 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:78 'c2' (uniform 2-component vector of float)
0:78 'o2' (uniform 2-component vector of int)
0:78 Constant:
0:78 2 (const int)
0:79 Sequence
0:79 move second child to first child (temp 4-component vector of int)
0:79 'txval211' (temp 4-component vector of int)
0:79 textureGatherOffset (global 4-component vector of int)
0:79 Construct combined texture-sampler (temp isampler2D)
0:79 'g_tTex2di4' (uniform itexture2D)
0:79 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:79 'c2' (uniform 2-component vector of float)
0:79 'o2' (uniform 2-component vector of int)
0:79 Constant:
0:79 2 (const int)
0:80 Sequence
0:80 move second child to first child (temp 4-component vector of uint)
0:80 'txval221' (temp 4-component vector of uint)
0:80 textureGatherOffset (global 4-component vector of uint)
0:80 Construct combined texture-sampler (temp usampler2D)
0:80 'g_tTex2du4' (uniform utexture2D)
0:80 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:80 'c2' (uniform 2-component vector of float)
0:80 'o2' (uniform 2-component vector of int)
0:80 Constant:
0:80 2 (const int)
0:82 Sequence
0:82 move second child to first child (temp 4-component vector of float)
0:82 'txval204' (temp 4-component vector of float)
0:82 textureGatherOffsets (global 4-component vector of float)
0:82 Construct combined texture-sampler (temp sampler2D)
0:82 'g_tTex2df4' (uniform texture2D)
0:82 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:82 'c2' (uniform 2-component vector of float)
0:82 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 Constant:
0:82 2 (const int)
0:83 Sequence
0:83 move second child to first child (temp 4-component vector of int)
0:83 'txval214' (temp 4-component vector of int)
0:83 textureGatherOffsets (global 4-component vector of int)
0:83 Construct combined texture-sampler (temp isampler2D)
0:83 'g_tTex2di4' (uniform itexture2D)
0:83 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:83 'c2' (uniform 2-component vector of float)
0:83 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 Constant:
0:83 2 (const int)
0:84 Sequence
0:84 move second child to first child (temp 4-component vector of uint)
0:84 'txval224' (temp 4-component vector of uint)
0:84 textureGatherOffsets (global 4-component vector of uint)
0:84 Construct combined texture-sampler (temp usampler2D)
0:84 'g_tTex2du4' (uniform utexture2D)
0:84 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:84 'c2' (uniform 2-component vector of float)
0:84 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 Constant:
0:84 2 (const int)
0:94 Sequence
0:94 move second child to first child (temp 4-component vector of float)
0:94 'txval301' (temp 4-component vector of float)
0:94 textureGatherOffset (global 4-component vector of float)
0:94 Construct combined texture-sampler (temp sampler2D)
0:94 'g_tTex2df4' (uniform texture2D)
0:94 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:94 'c2' (uniform 2-component vector of float)
0:94 'o2' (uniform 2-component vector of int)
0:94 Constant:
0:94 3 (const int)
0:95 Sequence
0:95 move second child to first child (temp 4-component vector of int)
0:95 'txval311' (temp 4-component vector of int)
0:95 textureGatherOffset (global 4-component vector of int)
0:95 Construct combined texture-sampler (temp isampler2D)
0:95 'g_tTex2di4' (uniform itexture2D)
0:95 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:95 'c2' (uniform 2-component vector of float)
0:95 'o2' (uniform 2-component vector of int)
0:95 Constant:
0:95 3 (const int)
0:96 Sequence
0:96 move second child to first child (temp 4-component vector of uint)
0:96 'txval321' (temp 4-component vector of uint)
0:96 textureGatherOffset (global 4-component vector of uint)
0:96 Construct combined texture-sampler (temp usampler2D)
0:96 'g_tTex2du4' (uniform utexture2D)
0:96 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:96 'c2' (uniform 2-component vector of float)
0:96 'o2' (uniform 2-component vector of int)
0:96 Constant:
0:96 3 (const int)
0:98 Sequence
0:98 move second child to first child (temp 4-component vector of float)
0:98 'txval304' (temp 4-component vector of float)
0:98 textureGatherOffsets (global 4-component vector of float)
0:98 Construct combined texture-sampler (temp sampler2D)
0:98 'g_tTex2df4' (uniform texture2D)
0:98 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:98 'c2' (uniform 2-component vector of float)
0:98 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 Constant:
0:98 3 (const int)
0:99 Sequence
0:99 move second child to first child (temp 4-component vector of int)
0:99 'txval314' (temp 4-component vector of int)
0:99 textureGatherOffsets (global 4-component vector of int)
0:99 Construct combined texture-sampler (temp isampler2D)
0:99 'g_tTex2di4' (uniform itexture2D)
0:99 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:99 'c2' (uniform 2-component vector of float)
0:99 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 Constant:
0:99 3 (const int)
0:100 Sequence
0:100 move second child to first child (temp 4-component vector of uint)
0:100 'txval324' (temp 4-component vector of uint)
0:100 textureGatherOffsets (global 4-component vector of uint)
0:100 Construct combined texture-sampler (temp usampler2D)
0:100 'g_tTex2du4' (uniform utexture2D)
0:100 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:100 'c2' (uniform 2-component vector of float)
0:100 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 Constant:
0:100 3 (const int)
0:112 move second child to first child (temp 4-component vector of float)
0:112 Color: direct index for structure (temp 4-component vector of float)
0:112 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:112 Constant:
0:112 0 (const int)
0:112 Constant:
0:112 1.000000
0:112 1.000000
0:112 1.000000
0:112 1.000000
0:113 move second child to first child (temp float)
0:113 Depth: direct index for structure (temp float FragDepth)
0:113 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:113 Constant:
0:113 1 (const int)
0:113 Constant:
0:113 1.000000
0:115 Branch: Return with expression
0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:117 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:39 Function Parameters:
0:? Sequence
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of float)
0:46 'txval001' (temp 4-component vector of float)
0:46 textureGatherOffset (global 4-component vector of float)
0:46 Construct combined texture-sampler (temp sampler2D)
0:46 'g_tTex2df4' (uniform texture2D)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46 'c2' (uniform 2-component vector of float)
0:46 'o2' (uniform 2-component vector of int)
0:46 Constant:
0:46 0 (const int)
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of int)
0:47 'txval011' (temp 4-component vector of int)
0:47 textureGatherOffset (global 4-component vector of int)
0:47 Construct combined texture-sampler (temp isampler2D)
0:47 'g_tTex2di4' (uniform itexture2D)
0:47 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47 'c2' (uniform 2-component vector of float)
0:47 'o2' (uniform 2-component vector of int)
0:47 Constant:
0:47 0 (const int)
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of uint)
0:48 'txval021' (temp 4-component vector of uint)
0:48 textureGatherOffset (global 4-component vector of uint)
0:48 Construct combined texture-sampler (temp usampler2D)
0:48 'g_tTex2du4' (uniform utexture2D)
0:48 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48 'c2' (uniform 2-component vector of float)
0:48 'o2' (uniform 2-component vector of int)
0:48 Constant:
0:48 0 (const int)
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of float)
0:50 'txval004' (temp 4-component vector of float)
0:50 textureGatherOffsets (global 4-component vector of float)
0:50 Construct combined texture-sampler (temp sampler2D)
0:50 'g_tTex2df4' (uniform texture2D)
0:50 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:50 'c2' (uniform 2-component vector of float)
0:50 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 'o2' (uniform 2-component vector of int)
0:50 Constant:
0:50 0 (const int)
0:51 Sequence
0:51 move second child to first child (temp 4-component vector of int)
0:51 'txval014' (temp 4-component vector of int)
0:51 textureGatherOffsets (global 4-component vector of int)
0:51 Construct combined texture-sampler (temp isampler2D)
0:51 'g_tTex2di4' (uniform itexture2D)
0:51 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51 'c2' (uniform 2-component vector of float)
0:51 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 'o2' (uniform 2-component vector of int)
0:51 Constant:
0:51 0 (const int)
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of uint)
0:52 'txval024' (temp 4-component vector of uint)
0:52 textureGatherOffsets (global 4-component vector of uint)
0:52 Construct combined texture-sampler (temp usampler2D)
0:52 'g_tTex2du4' (uniform utexture2D)
0:52 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52 'c2' (uniform 2-component vector of float)
0:52 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 'o2' (uniform 2-component vector of int)
0:52 Constant:
0:52 0 (const int)
0:62 Sequence
0:62 move second child to first child (temp 4-component vector of float)
0:62 'txval101' (temp 4-component vector of float)
0:62 textureGatherOffset (global 4-component vector of float)
0:62 Construct combined texture-sampler (temp sampler2D)
0:62 'g_tTex2df4' (uniform texture2D)
0:62 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62 'c2' (uniform 2-component vector of float)
0:62 'o2' (uniform 2-component vector of int)
0:62 Constant:
0:62 1 (const int)
0:63 Sequence
0:63 move second child to first child (temp 4-component vector of int)
0:63 'txval111' (temp 4-component vector of int)
0:63 textureGatherOffset (global 4-component vector of int)
0:63 Construct combined texture-sampler (temp isampler2D)
0:63 'g_tTex2di4' (uniform itexture2D)
0:63 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63 'c2' (uniform 2-component vector of float)
0:63 'o2' (uniform 2-component vector of int)
0:63 Constant:
0:63 1 (const int)
0:64 Sequence
0:64 move second child to first child (temp 4-component vector of uint)
0:64 'txval121' (temp 4-component vector of uint)
0:64 textureGatherOffset (global 4-component vector of uint)
0:64 Construct combined texture-sampler (temp usampler2D)
0:64 'g_tTex2du4' (uniform utexture2D)
0:64 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:64 'c2' (uniform 2-component vector of float)
0:64 'o2' (uniform 2-component vector of int)
0:64 Constant:
0:64 1 (const int)
0:66 Sequence
0:66 move second child to first child (temp 4-component vector of float)
0:66 'txval104' (temp 4-component vector of float)
0:66 textureGatherOffsets (global 4-component vector of float)
0:66 Construct combined texture-sampler (temp sampler2D)
0:66 'g_tTex2df4' (uniform texture2D)
0:66 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:66 'c2' (uniform 2-component vector of float)
0:66 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 'o2' (uniform 2-component vector of int)
0:66 Constant:
0:66 1 (const int)
0:67 Sequence
0:67 move second child to first child (temp 4-component vector of int)
0:67 'txval114' (temp 4-component vector of int)
0:67 textureGatherOffsets (global 4-component vector of int)
0:67 Construct combined texture-sampler (temp isampler2D)
0:67 'g_tTex2di4' (uniform itexture2D)
0:67 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:67 'c2' (uniform 2-component vector of float)
0:67 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 'o2' (uniform 2-component vector of int)
0:67 Constant:
0:67 1 (const int)
0:68 Sequence
0:68 move second child to first child (temp 4-component vector of uint)
0:68 'txval124' (temp 4-component vector of uint)
0:68 textureGatherOffsets (global 4-component vector of uint)
0:68 Construct combined texture-sampler (temp usampler2D)
0:68 'g_tTex2du4' (uniform utexture2D)
0:68 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:68 'c2' (uniform 2-component vector of float)
0:68 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 'o2' (uniform 2-component vector of int)
0:68 Constant:
0:68 1 (const int)
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of float)
0:78 'txval201' (temp 4-component vector of float)
0:78 textureGatherOffset (global 4-component vector of float)
0:78 Construct combined texture-sampler (temp sampler2D)
0:78 'g_tTex2df4' (uniform texture2D)
0:78 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:78 'c2' (uniform 2-component vector of float)
0:78 'o2' (uniform 2-component vector of int)
0:78 Constant:
0:78 2 (const int)
0:79 Sequence
0:79 move second child to first child (temp 4-component vector of int)
0:79 'txval211' (temp 4-component vector of int)
0:79 textureGatherOffset (global 4-component vector of int)
0:79 Construct combined texture-sampler (temp isampler2D)
0:79 'g_tTex2di4' (uniform itexture2D)
0:79 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:79 'c2' (uniform 2-component vector of float)
0:79 'o2' (uniform 2-component vector of int)
0:79 Constant:
0:79 2 (const int)
0:80 Sequence
0:80 move second child to first child (temp 4-component vector of uint)
0:80 'txval221' (temp 4-component vector of uint)
0:80 textureGatherOffset (global 4-component vector of uint)
0:80 Construct combined texture-sampler (temp usampler2D)
0:80 'g_tTex2du4' (uniform utexture2D)
0:80 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:80 'c2' (uniform 2-component vector of float)
0:80 'o2' (uniform 2-component vector of int)
0:80 Constant:
0:80 2 (const int)
0:82 Sequence
0:82 move second child to first child (temp 4-component vector of float)
0:82 'txval204' (temp 4-component vector of float)
0:82 textureGatherOffsets (global 4-component vector of float)
0:82 Construct combined texture-sampler (temp sampler2D)
0:82 'g_tTex2df4' (uniform texture2D)
0:82 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:82 'c2' (uniform 2-component vector of float)
0:82 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 'o2' (uniform 2-component vector of int)
0:82 Constant:
0:82 2 (const int)
0:83 Sequence
0:83 move second child to first child (temp 4-component vector of int)
0:83 'txval214' (temp 4-component vector of int)
0:83 textureGatherOffsets (global 4-component vector of int)
0:83 Construct combined texture-sampler (temp isampler2D)
0:83 'g_tTex2di4' (uniform itexture2D)
0:83 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:83 'c2' (uniform 2-component vector of float)
0:83 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 'o2' (uniform 2-component vector of int)
0:83 Constant:
0:83 2 (const int)
0:84 Sequence
0:84 move second child to first child (temp 4-component vector of uint)
0:84 'txval224' (temp 4-component vector of uint)
0:84 textureGatherOffsets (global 4-component vector of uint)
0:84 Construct combined texture-sampler (temp usampler2D)
0:84 'g_tTex2du4' (uniform utexture2D)
0:84 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:84 'c2' (uniform 2-component vector of float)
0:84 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 'o2' (uniform 2-component vector of int)
0:84 Constant:
0:84 2 (const int)
0:94 Sequence
0:94 move second child to first child (temp 4-component vector of float)
0:94 'txval301' (temp 4-component vector of float)
0:94 textureGatherOffset (global 4-component vector of float)
0:94 Construct combined texture-sampler (temp sampler2D)
0:94 'g_tTex2df4' (uniform texture2D)
0:94 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:94 'c2' (uniform 2-component vector of float)
0:94 'o2' (uniform 2-component vector of int)
0:94 Constant:
0:94 3 (const int)
0:95 Sequence
0:95 move second child to first child (temp 4-component vector of int)
0:95 'txval311' (temp 4-component vector of int)
0:95 textureGatherOffset (global 4-component vector of int)
0:95 Construct combined texture-sampler (temp isampler2D)
0:95 'g_tTex2di4' (uniform itexture2D)
0:95 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:95 'c2' (uniform 2-component vector of float)
0:95 'o2' (uniform 2-component vector of int)
0:95 Constant:
0:95 3 (const int)
0:96 Sequence
0:96 move second child to first child (temp 4-component vector of uint)
0:96 'txval321' (temp 4-component vector of uint)
0:96 textureGatherOffset (global 4-component vector of uint)
0:96 Construct combined texture-sampler (temp usampler2D)
0:96 'g_tTex2du4' (uniform utexture2D)
0:96 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:96 'c2' (uniform 2-component vector of float)
0:96 'o2' (uniform 2-component vector of int)
0:96 Constant:
0:96 3 (const int)
0:98 Sequence
0:98 move second child to first child (temp 4-component vector of float)
0:98 'txval304' (temp 4-component vector of float)
0:98 textureGatherOffsets (global 4-component vector of float)
0:98 Construct combined texture-sampler (temp sampler2D)
0:98 'g_tTex2df4' (uniform texture2D)
0:98 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:98 'c2' (uniform 2-component vector of float)
0:98 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 'o2' (uniform 2-component vector of int)
0:98 Constant:
0:98 3 (const int)
0:99 Sequence
0:99 move second child to first child (temp 4-component vector of int)
0:99 'txval314' (temp 4-component vector of int)
0:99 textureGatherOffsets (global 4-component vector of int)
0:99 Construct combined texture-sampler (temp isampler2D)
0:99 'g_tTex2di4' (uniform itexture2D)
0:99 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:99 'c2' (uniform 2-component vector of float)
0:99 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 'o2' (uniform 2-component vector of int)
0:99 Constant:
0:99 3 (const int)
0:100 Sequence
0:100 move second child to first child (temp 4-component vector of uint)
0:100 'txval324' (temp 4-component vector of uint)
0:100 textureGatherOffsets (global 4-component vector of uint)
0:100 Construct combined texture-sampler (temp usampler2D)
0:100 'g_tTex2du4' (uniform utexture2D)
0:100 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:100 'c2' (uniform 2-component vector of float)
0:100 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 'o2' (uniform 2-component vector of int)
0:100 Constant:
0:100 3 (const int)
0:112 move second child to first child (temp 4-component vector of float)
0:112 Color: direct index for structure (temp 4-component vector of float)
0:112 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:112 Constant:
0:112 0 (const int)
0:112 Constant:
0:112 1.000000
0:112 1.000000
0:112 1.000000
0:112 1.000000
0:113 move second child to first child (temp float)
0:113 Depth: direct index for structure (temp float FragDepth)
0:113 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:113 Constant:
0:113 1 (const int)
0:113 Constant:
0:113 1.000000
0:115 Branch: Return with expression
0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
0:? 'g_tTex1du4' (uniform utexture1D)
0:? 'g_tTex2df4' (uniform texture2D)
0:? 'g_tTex2di4' (uniform itexture2D)
0:? 'g_tTex2du4' (uniform utexture2D)
0:? 'g_tTex3df4' (uniform texture3D)
0:? 'g_tTex3di4' (uniform itexture3D)
0:? 'g_tTex3du4' (uniform utexture3D)
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 311
Capability Shader
Capability ImageGatherExtended
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
Name 4 "main"
Name 9 "txval001"
Name 12 "g_tTex2df4"
Name 16 "g_sSamp"
Name 22 "c2"
Name 27 "o2"
Name 33 "txval011"
Name 36 "g_tTex2di4"
Name 47 "txval021"
Name 50 "g_tTex2du4"
Name 58 "txval004"
Name 71 "txval014"
Name 82 "txval024"
Name 93 "txval101"
Name 101 "txval111"
Name 108 "txval121"
Name 115 "txval104"
Name 126 "txval114"
Name 137 "txval124"
Name 148 "txval201"
Name 156 "txval211"
Name 163 "txval221"
Name 170 "txval204"
Name 181 "txval214"
Name 192 "txval224"
Name 203 "txval301"
Name 211 "txval311"
Name 218 "txval321"
Name 225 "txval304"
Name 236 "txval314"
Name 247 "txval324"
Name 258 "PS_OUTPUT"
MemberName 258(PS_OUTPUT) 0 "Color"
MemberName 258(PS_OUTPUT) 1 "Depth"
Name 260 "psout"
Name 268 "g_sSamp2d"
Name 271 "g_tTex1df4a"
Name 272 "g_tTex1df4"
Name 275 "g_tTex1di4"
Name 278 "g_tTex1du4"
Name 281 "g_tTex3df4"
Name 284 "g_tTex3di4"
Name 287 "g_tTex3du4"
Name 290 "g_tTexcdf4"
Name 293 "g_tTexcdi4"
Name 296 "g_tTexcdu4"
Name 298 "c1"
Name 301 "c3"
Name 303 "c4"
Name 305 "o1"
Name 308 "o3"
Name 310 "o4"
Decorate 12(g_tTex2df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 36(g_tTex2di4) DescriptorSet 0
Decorate 50(g_tTex2du4) DescriptorSet 0
MemberDecorate 258(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 268(g_sSamp2d) DescriptorSet 0
Decorate 271(g_tTex1df4a) DescriptorSet 0
Decorate 271(g_tTex1df4a) Binding 1
Decorate 272(g_tTex1df4) DescriptorSet 0
Decorate 272(g_tTex1df4) Binding 0
Decorate 275(g_tTex1di4) DescriptorSet 0
Decorate 278(g_tTex1du4) DescriptorSet 0
Decorate 281(g_tTex3df4) DescriptorSet 0
Decorate 284(g_tTex3di4) DescriptorSet 0
Decorate 287(g_tTex3du4) DescriptorSet 0
Decorate 290(g_tTexcdf4) DescriptorSet 0
Decorate 293(g_tTexcdi4) DescriptorSet 0
Decorate 296(g_tTexcdu4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4): 11(ptr) Variable UniformConstant
14: TypeSampler
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 2
21: TypePointer UniformConstant 20(fvec2)
22(c2): 21(ptr) Variable UniformConstant
24: TypeInt 32 1
25: TypeVector 24(int) 2
26: TypePointer UniformConstant 25(ivec2)
27(o2): 26(ptr) Variable UniformConstant
29: 24(int) Constant 0
31: TypeVector 24(int) 4
32: TypePointer Function 31(ivec4)
34: TypeImage 24(int) 2D sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex2di4): 35(ptr) Variable UniformConstant
39: TypeSampledImage 34
44: TypeInt 32 0
45: TypeVector 44(int) 4
46: TypePointer Function 45(ivec4)
48: TypeImage 44(int) 2D sampled format:Unknown
49: TypePointer UniformConstant 48
50(g_tTex2du4): 49(ptr) Variable UniformConstant
53: TypeSampledImage 48
67: 44(int) Constant 4
68: TypeArray 25(ivec2) 67
99: 24(int) Constant 1
154: 24(int) Constant 2
209: 24(int) Constant 3
258(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
259: TypePointer Function 258(PS_OUTPUT)
261: 6(float) Constant 1065353216
262: 7(fvec4) ConstantComposite 261 261 261 261
264: TypePointer Function 6(float)
268(g_sSamp2d): 15(ptr) Variable UniformConstant
269: TypeImage 6(float) 1D sampled format:Unknown
270: TypePointer UniformConstant 269
271(g_tTex1df4a): 270(ptr) Variable UniformConstant
272(g_tTex1df4): 270(ptr) Variable UniformConstant
273: TypeImage 24(int) 1D sampled format:Unknown
274: TypePointer UniformConstant 273
275(g_tTex1di4): 274(ptr) Variable UniformConstant
276: TypeImage 44(int) 1D sampled format:Unknown
277: TypePointer UniformConstant 276
278(g_tTex1du4): 277(ptr) Variable UniformConstant
279: TypeImage 6(float) 3D sampled format:Unknown
280: TypePointer UniformConstant 279
281(g_tTex3df4): 280(ptr) Variable UniformConstant
282: TypeImage 24(int) 3D sampled format:Unknown
283: TypePointer UniformConstant 282
284(g_tTex3di4): 283(ptr) Variable UniformConstant
285: TypeImage 44(int) 3D sampled format:Unknown
286: TypePointer UniformConstant 285
287(g_tTex3du4): 286(ptr) Variable UniformConstant
288: TypeImage 6(float) Cube sampled format:Unknown
289: TypePointer UniformConstant 288
290(g_tTexcdf4): 289(ptr) Variable UniformConstant
291: TypeImage 24(int) Cube sampled format:Unknown
292: TypePointer UniformConstant 291
293(g_tTexcdi4): 292(ptr) Variable UniformConstant
294: TypeImage 44(int) Cube sampled format:Unknown
295: TypePointer UniformConstant 294
296(g_tTexcdu4): 295(ptr) Variable UniformConstant
297: TypePointer UniformConstant 6(float)
298(c1): 297(ptr) Variable UniformConstant
299: TypeVector 6(float) 3
300: TypePointer UniformConstant 299(fvec3)
301(c3): 300(ptr) Variable UniformConstant
302: TypePointer UniformConstant 7(fvec4)
303(c4): 302(ptr) Variable UniformConstant
304: TypePointer UniformConstant 24(int)
305(o1): 304(ptr) Variable UniformConstant
306: TypeVector 24(int) 3
307: TypePointer UniformConstant 306(ivec3)
308(o3): 307(ptr) Variable UniformConstant
309: TypePointer UniformConstant 31(ivec4)
310(o4): 309(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval001): 8(ptr) Variable Function
33(txval011): 32(ptr) Variable Function
47(txval021): 46(ptr) Variable Function
58(txval004): 8(ptr) Variable Function
71(txval014): 32(ptr) Variable Function
82(txval024): 46(ptr) Variable Function
93(txval101): 8(ptr) Variable Function
101(txval111): 32(ptr) Variable Function
108(txval121): 46(ptr) Variable Function
115(txval104): 8(ptr) Variable Function
126(txval114): 32(ptr) Variable Function
137(txval124): 46(ptr) Variable Function
148(txval201): 8(ptr) Variable Function
156(txval211): 32(ptr) Variable Function
163(txval221): 46(ptr) Variable Function
170(txval204): 8(ptr) Variable Function
181(txval214): 32(ptr) Variable Function
192(txval224): 46(ptr) Variable Function
203(txval301): 8(ptr) Variable Function
211(txval311): 32(ptr) Variable Function
218(txval321): 46(ptr) Variable Function
225(txval304): 8(ptr) Variable Function
236(txval314): 32(ptr) Variable Function
247(txval324): 46(ptr) Variable Function
260(psout): 259(ptr) Variable Function
13: 10 Load 12(g_tTex2df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
23: 20(fvec2) Load 22(c2)
28: 25(ivec2) Load 27(o2)
30: 7(fvec4) ImageGather 19 23 29 Offset 28
Store 9(txval001) 30
37: 34 Load 36(g_tTex2di4)
38: 14 Load 16(g_sSamp)
40: 39 SampledImage 37 38
41: 20(fvec2) Load 22(c2)
42: 25(ivec2) Load 27(o2)
43: 31(ivec4) ImageGather 40 41 29 Offset 42
Store 33(txval011) 43
51: 48 Load 50(g_tTex2du4)
52: 14 Load 16(g_sSamp)
54: 53 SampledImage 51 52
55: 20(fvec2) Load 22(c2)
56: 25(ivec2) Load 27(o2)
57: 45(ivec4) ImageGather 54 55 29 Offset 56
Store 47(txval021) 57
59: 10 Load 12(g_tTex2df4)
60: 14 Load 16(g_sSamp)
61: 18 SampledImage 59 60
62: 20(fvec2) Load 22(c2)
63: 25(ivec2) Load 27(o2)
64: 25(ivec2) Load 27(o2)
65: 25(ivec2) Load 27(o2)
66: 25(ivec2) Load 27(o2)
69: 68 CompositeConstruct 63 64 65 66
70: 7(fvec4) ImageGather 61 62 29 ConstOffsets 69
Store 58(txval004) 70
72: 34 Load 36(g_tTex2di4)
73: 14 Load 16(g_sSamp)
74: 39 SampledImage 72 73
75: 20(fvec2) Load 22(c2)
76: 25(ivec2) Load 27(o2)
77: 25(ivec2) Load 27(o2)
78: 25(ivec2) Load 27(o2)
79: 25(ivec2) Load 27(o2)
80: 68 CompositeConstruct 76 77 78 79
81: 31(ivec4) ImageGather 74 75 29 ConstOffsets 80
Store 71(txval014) 81
83: 48 Load 50(g_tTex2du4)
84: 14 Load 16(g_sSamp)
85: 53 SampledImage 83 84
86: 20(fvec2) Load 22(c2)
87: 25(ivec2) Load 27(o2)
88: 25(ivec2) Load 27(o2)
89: 25(ivec2) Load 27(o2)
90: 25(ivec2) Load 27(o2)
91: 68 CompositeConstruct 87 88 89 90
92: 45(ivec4) ImageGather 85 86 29 ConstOffsets 91
Store 82(txval024) 92
94: 10 Load 12(g_tTex2df4)
95: 14 Load 16(g_sSamp)
96: 18 SampledImage 94 95
97: 20(fvec2) Load 22(c2)
98: 25(ivec2) Load 27(o2)
100: 7(fvec4) ImageGather 96 97 99 Offset 98
Store 93(txval101) 100
102: 34 Load 36(g_tTex2di4)
103: 14 Load 16(g_sSamp)
104: 39 SampledImage 102 103
105: 20(fvec2) Load 22(c2)
106: 25(ivec2) Load 27(o2)
107: 31(ivec4) ImageGather 104 105 99 Offset 106
Store 101(txval111) 107
109: 48 Load 50(g_tTex2du4)
110: 14 Load 16(g_sSamp)
111: 53 SampledImage 109 110
112: 20(fvec2) Load 22(c2)
113: 25(ivec2) Load 27(o2)
114: 45(ivec4) ImageGather 111 112 99 Offset 113
Store 108(txval121) 114
116: 10 Load 12(g_tTex2df4)
117: 14 Load 16(g_sSamp)
118: 18 SampledImage 116 117
119: 20(fvec2) Load 22(c2)
120: 25(ivec2) Load 27(o2)
121: 25(ivec2) Load 27(o2)
122: 25(ivec2) Load 27(o2)
123: 25(ivec2) Load 27(o2)
124: 68 CompositeConstruct 120 121 122 123
125: 7(fvec4) ImageGather 118 119 99 ConstOffsets 124
Store 115(txval104) 125
127: 34 Load 36(g_tTex2di4)
128: 14 Load 16(g_sSamp)
129: 39 SampledImage 127 128
130: 20(fvec2) Load 22(c2)
131: 25(ivec2) Load 27(o2)
132: 25(ivec2) Load 27(o2)
133: 25(ivec2) Load 27(o2)
134: 25(ivec2) Load 27(o2)
135: 68 CompositeConstruct 131 132 133 134
136: 31(ivec4) ImageGather 129 130 99 ConstOffsets 135
Store 126(txval114) 136
138: 48 Load 50(g_tTex2du4)
139: 14 Load 16(g_sSamp)
140: 53 SampledImage 138 139
141: 20(fvec2) Load 22(c2)
142: 25(ivec2) Load 27(o2)
143: 25(ivec2) Load 27(o2)
144: 25(ivec2) Load 27(o2)
145: 25(ivec2) Load 27(o2)
146: 68 CompositeConstruct 142 143 144 145
147: 45(ivec4) ImageGather 140 141 99 ConstOffsets 146
Store 137(txval124) 147
149: 10 Load 12(g_tTex2df4)
150: 14 Load 16(g_sSamp)
151: 18 SampledImage 149 150
152: 20(fvec2) Load 22(c2)
153: 25(ivec2) Load 27(o2)
155: 7(fvec4) ImageGather 151 152 154 Offset 153
Store 148(txval201) 155
157: 34 Load 36(g_tTex2di4)
158: 14 Load 16(g_sSamp)
159: 39 SampledImage 157 158
160: 20(fvec2) Load 22(c2)
161: 25(ivec2) Load 27(o2)
162: 31(ivec4) ImageGather 159 160 154 Offset 161
Store 156(txval211) 162
164: 48 Load 50(g_tTex2du4)
165: 14 Load 16(g_sSamp)
166: 53 SampledImage 164 165
167: 20(fvec2) Load 22(c2)
168: 25(ivec2) Load 27(o2)
169: 45(ivec4) ImageGather 166 167 154 Offset 168
Store 163(txval221) 169
171: 10 Load 12(g_tTex2df4)
172: 14 Load 16(g_sSamp)
173: 18 SampledImage 171 172
174: 20(fvec2) Load 22(c2)
175: 25(ivec2) Load 27(o2)
176: 25(ivec2) Load 27(o2)
177: 25(ivec2) Load 27(o2)
178: 25(ivec2) Load 27(o2)
179: 68 CompositeConstruct 175 176 177 178
180: 7(fvec4) ImageGather 173 174 154 ConstOffsets 179
Store 170(txval204) 180
182: 34 Load 36(g_tTex2di4)
183: 14 Load 16(g_sSamp)
184: 39 SampledImage 182 183
185: 20(fvec2) Load 22(c2)
186: 25(ivec2) Load 27(o2)
187: 25(ivec2) Load 27(o2)
188: 25(ivec2) Load 27(o2)
189: 25(ivec2) Load 27(o2)
190: 68 CompositeConstruct 186 187 188 189
191: 31(ivec4) ImageGather 184 185 154 ConstOffsets 190
Store 181(txval214) 191
193: 48 Load 50(g_tTex2du4)
194: 14 Load 16(g_sSamp)
195: 53 SampledImage 193 194
196: 20(fvec2) Load 22(c2)
197: 25(ivec2) Load 27(o2)
198: 25(ivec2) Load 27(o2)
199: 25(ivec2) Load 27(o2)
200: 25(ivec2) Load 27(o2)
201: 68 CompositeConstruct 197 198 199 200
202: 45(ivec4) ImageGather 195 196 154 ConstOffsets 201
Store 192(txval224) 202
204: 10 Load 12(g_tTex2df4)
205: 14 Load 16(g_sSamp)
206: 18 SampledImage 204 205
207: 20(fvec2) Load 22(c2)
208: 25(ivec2) Load 27(o2)
210: 7(fvec4) ImageGather 206 207 209 Offset 208
Store 203(txval301) 210
212: 34 Load 36(g_tTex2di4)
213: 14 Load 16(g_sSamp)
214: 39 SampledImage 212 213
215: 20(fvec2) Load 22(c2)
216: 25(ivec2) Load 27(o2)
217: 31(ivec4) ImageGather 214 215 209 Offset 216
Store 211(txval311) 217
219: 48 Load 50(g_tTex2du4)
220: 14 Load 16(g_sSamp)
221: 53 SampledImage 219 220
222: 20(fvec2) Load 22(c2)
223: 25(ivec2) Load 27(o2)
224: 45(ivec4) ImageGather 221 222 209 Offset 223
Store 218(txval321) 224
226: 10 Load 12(g_tTex2df4)
227: 14 Load 16(g_sSamp)
228: 18 SampledImage 226 227
229: 20(fvec2) Load 22(c2)
230: 25(ivec2) Load 27(o2)
231: 25(ivec2) Load 27(o2)
232: 25(ivec2) Load 27(o2)
233: 25(ivec2) Load 27(o2)
234: 68 CompositeConstruct 230 231 232 233
235: 7(fvec4) ImageGather 228 229 209 ConstOffsets 234
Store 225(txval304) 235
237: 34 Load 36(g_tTex2di4)
238: 14 Load 16(g_sSamp)
239: 39 SampledImage 237 238
240: 20(fvec2) Load 22(c2)
241: 25(ivec2) Load 27(o2)
242: 25(ivec2) Load 27(o2)
243: 25(ivec2) Load 27(o2)
244: 25(ivec2) Load 27(o2)
245: 68 CompositeConstruct 241 242 243 244
246: 31(ivec4) ImageGather 239 240 209 ConstOffsets 245
Store 236(txval314) 246
248: 48 Load 50(g_tTex2du4)
249: 14 Load 16(g_sSamp)
250: 53 SampledImage 248 249
251: 20(fvec2) Load 22(c2)
252: 25(ivec2) Load 27(o2)
253: 25(ivec2) Load 27(o2)
254: 25(ivec2) Load 27(o2)
255: 25(ivec2) Load 27(o2)
256: 68 CompositeConstruct 252 253 254 255
257: 45(ivec4) ImageGather 250 251 209 ConstOffsets 256
Store 247(txval324) 257
263: 8(ptr) AccessChain 260(psout) 29
Store 263 262
265: 264(ptr) AccessChain 260(psout) 99
Store 265 261
266:258(PS_OUTPUT) Load 260(psout)
ReturnValue 266
FunctionEnd
hlsl.gatherRGBA.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:111 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:33 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of float)
0:40 'txval001' (temp 4-component vector of float)
0:40 textureGatherOffset (global 4-component vector of float)
0:40 Construct combined texture-sampler (temp sampler2DArray)
0:40 'g_tTex2df4a' (uniform texture2DArray)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:40 'c3' (uniform 3-component vector of float)
0:40 'o2' (uniform 2-component vector of int)
0:40 Constant:
0:40 0 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of int)
0:41 'txval011' (temp 4-component vector of int)
0:41 textureGatherOffset (global 4-component vector of int)
0:41 Construct combined texture-sampler (temp isampler2DArray)
0:41 'g_tTex2di4a' (uniform itexture2DArray)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41 'c3' (uniform 3-component vector of float)
0:41 'o2' (uniform 2-component vector of int)
0:41 Constant:
0:41 0 (const int)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of uint)
0:42 'txval021' (temp 4-component vector of uint)
0:42 textureGatherOffset (global 4-component vector of uint)
0:42 Construct combined texture-sampler (temp usampler2DArray)
0:42 'g_tTex2du4a' (uniform utexture2DArray)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42 'c3' (uniform 3-component vector of float)
0:42 'o2' (uniform 2-component vector of int)
0:42 Constant:
0:42 0 (const int)
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of float)
0:44 'txval004' (temp 4-component vector of float)
0:44 textureGatherOffsets (global 4-component vector of float)
0:44 Construct combined texture-sampler (temp sampler2DArray)
0:44 'g_tTex2df4a' (uniform texture2DArray)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44 'c3' (uniform 3-component vector of float)
0:44 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 Constant:
0:44 0 (const int)
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of int)
0:45 'txval014' (temp 4-component vector of int)
0:45 textureGatherOffsets (global 4-component vector of int)
0:45 Construct combined texture-sampler (temp isampler2DArray)
0:45 'g_tTex2di4a' (uniform itexture2DArray)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45 'c3' (uniform 3-component vector of float)
0:45 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 Constant:
0:45 0 (const int)
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of uint)
0:46 'txval024' (temp 4-component vector of uint)
0:46 textureGatherOffsets (global 4-component vector of uint)
0:46 Construct combined texture-sampler (temp usampler2DArray)
0:46 'g_tTex2du4a' (uniform utexture2DArray)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46 'c3' (uniform 3-component vector of float)
0:46 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 Constant:
0:46 0 (const int)
0:56 Sequence
0:56 move second child to first child (temp 4-component vector of float)
0:56 'txval101' (temp 4-component vector of float)
0:56 textureGatherOffset (global 4-component vector of float)
0:56 Construct combined texture-sampler (temp sampler2DArray)
0:56 'g_tTex2df4a' (uniform texture2DArray)
0:56 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:56 'c3' (uniform 3-component vector of float)
0:56 'o2' (uniform 2-component vector of int)
0:56 Constant:
0:56 1 (const int)
0:57 Sequence
0:57 move second child to first child (temp 4-component vector of int)
0:57 'txval111' (temp 4-component vector of int)
0:57 textureGatherOffset (global 4-component vector of int)
0:57 Construct combined texture-sampler (temp isampler2DArray)
0:57 'g_tTex2di4a' (uniform itexture2DArray)
0:57 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57 'c3' (uniform 3-component vector of float)
0:57 'o2' (uniform 2-component vector of int)
0:57 Constant:
0:57 1 (const int)
0:58 Sequence
0:58 move second child to first child (temp 4-component vector of uint)
0:58 'txval121' (temp 4-component vector of uint)
0:58 textureGatherOffset (global 4-component vector of uint)
0:58 Construct combined texture-sampler (temp usampler2DArray)
0:58 'g_tTex2du4a' (uniform utexture2DArray)
0:58 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:58 'c3' (uniform 3-component vector of float)
0:58 'o2' (uniform 2-component vector of int)
0:58 Constant:
0:58 1 (const int)
0:60 Sequence
0:60 move second child to first child (temp 4-component vector of float)
0:60 'txval104' (temp 4-component vector of float)
0:60 textureGatherOffsets (global 4-component vector of float)
0:60 Construct combined texture-sampler (temp sampler2DArray)
0:60 'g_tTex2df4a' (uniform texture2DArray)
0:60 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:60 'c3' (uniform 3-component vector of float)
0:60 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 Constant:
0:60 1 (const int)
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of int)
0:61 'txval114' (temp 4-component vector of int)
0:61 textureGatherOffsets (global 4-component vector of int)
0:61 Construct combined texture-sampler (temp isampler2DArray)
0:61 'g_tTex2di4a' (uniform itexture2DArray)
0:61 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61 'c3' (uniform 3-component vector of float)
0:61 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 Constant:
0:61 1 (const int)
0:62 Sequence
0:62 move second child to first child (temp 4-component vector of uint)
0:62 'txval124' (temp 4-component vector of uint)
0:62 textureGatherOffsets (global 4-component vector of uint)
0:62 Construct combined texture-sampler (temp usampler2DArray)
0:62 'g_tTex2du4a' (uniform utexture2DArray)
0:62 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62 'c3' (uniform 3-component vector of float)
0:62 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 Constant:
0:62 1 (const int)
0:72 Sequence
0:72 move second child to first child (temp 4-component vector of float)
0:72 'txval201' (temp 4-component vector of float)
0:72 textureGatherOffset (global 4-component vector of float)
0:72 Construct combined texture-sampler (temp sampler2DArray)
0:72 'g_tTex2df4a' (uniform texture2DArray)
0:72 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:72 'c3' (uniform 3-component vector of float)
0:72 'o2' (uniform 2-component vector of int)
0:72 Constant:
0:72 2 (const int)
0:73 Sequence
0:73 move second child to first child (temp 4-component vector of int)
0:73 'txval211' (temp 4-component vector of int)
0:73 textureGatherOffset (global 4-component vector of int)
0:73 Construct combined texture-sampler (temp isampler2DArray)
0:73 'g_tTex2di4a' (uniform itexture2DArray)
0:73 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:73 'c3' (uniform 3-component vector of float)
0:73 'o2' (uniform 2-component vector of int)
0:73 Constant:
0:73 2 (const int)
0:74 Sequence
0:74 move second child to first child (temp 4-component vector of uint)
0:74 'txval221' (temp 4-component vector of uint)
0:74 textureGatherOffset (global 4-component vector of uint)
0:74 Construct combined texture-sampler (temp usampler2DArray)
0:74 'g_tTex2du4a' (uniform utexture2DArray)
0:74 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:74 'c3' (uniform 3-component vector of float)
0:74 'o2' (uniform 2-component vector of int)
0:74 Constant:
0:74 2 (const int)
0:76 Sequence
0:76 move second child to first child (temp 4-component vector of float)
0:76 'txval204' (temp 4-component vector of float)
0:76 textureGatherOffsets (global 4-component vector of float)
0:76 Construct combined texture-sampler (temp sampler2DArray)
0:76 'g_tTex2df4a' (uniform texture2DArray)
0:76 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:76 'c3' (uniform 3-component vector of float)
0:76 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 Constant:
0:76 2 (const int)
0:77 Sequence
0:77 move second child to first child (temp 4-component vector of int)
0:77 'txval214' (temp 4-component vector of int)
0:77 textureGatherOffsets (global 4-component vector of int)
0:77 Construct combined texture-sampler (temp isampler2DArray)
0:77 'g_tTex2di4a' (uniform itexture2DArray)
0:77 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:77 'c3' (uniform 3-component vector of float)
0:77 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 Constant:
0:77 2 (const int)
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of uint)
0:78 'txval224' (temp 4-component vector of uint)
0:78 textureGatherOffsets (global 4-component vector of uint)
0:78 Construct combined texture-sampler (temp usampler2DArray)
0:78 'g_tTex2du4a' (uniform utexture2DArray)
0:78 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:78 'c3' (uniform 3-component vector of float)
0:78 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 Constant:
0:78 2 (const int)
0:88 Sequence
0:88 move second child to first child (temp 4-component vector of float)
0:88 'txval301' (temp 4-component vector of float)
0:88 textureGatherOffset (global 4-component vector of float)
0:88 Construct combined texture-sampler (temp sampler2DArray)
0:88 'g_tTex2df4a' (uniform texture2DArray)
0:88 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:88 'c3' (uniform 3-component vector of float)
0:88 'o2' (uniform 2-component vector of int)
0:88 Constant:
0:88 3 (const int)
0:89 Sequence
0:89 move second child to first child (temp 4-component vector of int)
0:89 'txval311' (temp 4-component vector of int)
0:89 textureGatherOffset (global 4-component vector of int)
0:89 Construct combined texture-sampler (temp isampler2DArray)
0:89 'g_tTex2di4a' (uniform itexture2DArray)
0:89 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:89 'c3' (uniform 3-component vector of float)
0:89 'o2' (uniform 2-component vector of int)
0:89 Constant:
0:89 3 (const int)
0:90 Sequence
0:90 move second child to first child (temp 4-component vector of uint)
0:90 'txval321' (temp 4-component vector of uint)
0:90 textureGatherOffset (global 4-component vector of uint)
0:90 Construct combined texture-sampler (temp usampler2DArray)
0:90 'g_tTex2du4a' (uniform utexture2DArray)
0:90 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:90 'c3' (uniform 3-component vector of float)
0:90 'o2' (uniform 2-component vector of int)
0:90 Constant:
0:90 3 (const int)
0:92 Sequence
0:92 move second child to first child (temp 4-component vector of float)
0:92 'txval304' (temp 4-component vector of float)
0:92 textureGatherOffsets (global 4-component vector of float)
0:92 Construct combined texture-sampler (temp sampler2DArray)
0:92 'g_tTex2df4a' (uniform texture2DArray)
0:92 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:92 'c3' (uniform 3-component vector of float)
0:92 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 Constant:
0:92 3 (const int)
0:93 Sequence
0:93 move second child to first child (temp 4-component vector of int)
0:93 'txval314' (temp 4-component vector of int)
0:93 textureGatherOffsets (global 4-component vector of int)
0:93 Construct combined texture-sampler (temp isampler2DArray)
0:93 'g_tTex2di4a' (uniform itexture2DArray)
0:93 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:93 'c3' (uniform 3-component vector of float)
0:93 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 Constant:
0:93 3 (const int)
0:94 Sequence
0:94 move second child to first child (temp 4-component vector of uint)
0:94 'txval324' (temp 4-component vector of uint)
0:94 textureGatherOffsets (global 4-component vector of uint)
0:94 Construct combined texture-sampler (temp usampler2DArray)
0:94 'g_tTex2du4a' (uniform utexture2DArray)
0:94 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:94 'c3' (uniform 3-component vector of float)
0:94 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 Constant:
0:94 3 (const int)
0:106 move second child to first child (temp 4-component vector of float)
0:106 Color: direct index for structure (temp 4-component vector of float)
0:106 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:106 Constant:
0:106 0 (const int)
0:106 Constant:
0:106 1.000000
0:106 1.000000
0:106 1.000000
0:106 1.000000
0:107 move second child to first child (temp float)
0:107 Depth: direct index for structure (temp float FragDepth)
0:107 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:107 Constant:
0:107 1 (const int)
0:107 Constant:
0:107 1.000000
0:109 Branch: Return with expression
0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) 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:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:111 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:33 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of float)
0:40 'txval001' (temp 4-component vector of float)
0:40 textureGatherOffset (global 4-component vector of float)
0:40 Construct combined texture-sampler (temp sampler2DArray)
0:40 'g_tTex2df4a' (uniform texture2DArray)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:40 'c3' (uniform 3-component vector of float)
0:40 'o2' (uniform 2-component vector of int)
0:40 Constant:
0:40 0 (const int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of int)
0:41 'txval011' (temp 4-component vector of int)
0:41 textureGatherOffset (global 4-component vector of int)
0:41 Construct combined texture-sampler (temp isampler2DArray)
0:41 'g_tTex2di4a' (uniform itexture2DArray)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41 'c3' (uniform 3-component vector of float)
0:41 'o2' (uniform 2-component vector of int)
0:41 Constant:
0:41 0 (const int)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of uint)
0:42 'txval021' (temp 4-component vector of uint)
0:42 textureGatherOffset (global 4-component vector of uint)
0:42 Construct combined texture-sampler (temp usampler2DArray)
0:42 'g_tTex2du4a' (uniform utexture2DArray)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42 'c3' (uniform 3-component vector of float)
0:42 'o2' (uniform 2-component vector of int)
0:42 Constant:
0:42 0 (const int)
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of float)
0:44 'txval004' (temp 4-component vector of float)
0:44 textureGatherOffsets (global 4-component vector of float)
0:44 Construct combined texture-sampler (temp sampler2DArray)
0:44 'g_tTex2df4a' (uniform texture2DArray)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44 'c3' (uniform 3-component vector of float)
0:44 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 'o2' (uniform 2-component vector of int)
0:44 Constant:
0:44 0 (const int)
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of int)
0:45 'txval014' (temp 4-component vector of int)
0:45 textureGatherOffsets (global 4-component vector of int)
0:45 Construct combined texture-sampler (temp isampler2DArray)
0:45 'g_tTex2di4a' (uniform itexture2DArray)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45 'c3' (uniform 3-component vector of float)
0:45 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 'o2' (uniform 2-component vector of int)
0:45 Constant:
0:45 0 (const int)
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of uint)
0:46 'txval024' (temp 4-component vector of uint)
0:46 textureGatherOffsets (global 4-component vector of uint)
0:46 Construct combined texture-sampler (temp usampler2DArray)
0:46 'g_tTex2du4a' (uniform utexture2DArray)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46 'c3' (uniform 3-component vector of float)
0:46 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 'o2' (uniform 2-component vector of int)
0:46 Constant:
0:46 0 (const int)
0:56 Sequence
0:56 move second child to first child (temp 4-component vector of float)
0:56 'txval101' (temp 4-component vector of float)
0:56 textureGatherOffset (global 4-component vector of float)
0:56 Construct combined texture-sampler (temp sampler2DArray)
0:56 'g_tTex2df4a' (uniform texture2DArray)
0:56 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:56 'c3' (uniform 3-component vector of float)
0:56 'o2' (uniform 2-component vector of int)
0:56 Constant:
0:56 1 (const int)
0:57 Sequence
0:57 move second child to first child (temp 4-component vector of int)
0:57 'txval111' (temp 4-component vector of int)
0:57 textureGatherOffset (global 4-component vector of int)
0:57 Construct combined texture-sampler (temp isampler2DArray)
0:57 'g_tTex2di4a' (uniform itexture2DArray)
0:57 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57 'c3' (uniform 3-component vector of float)
0:57 'o2' (uniform 2-component vector of int)
0:57 Constant:
0:57 1 (const int)
0:58 Sequence
0:58 move second child to first child (temp 4-component vector of uint)
0:58 'txval121' (temp 4-component vector of uint)
0:58 textureGatherOffset (global 4-component vector of uint)
0:58 Construct combined texture-sampler (temp usampler2DArray)
0:58 'g_tTex2du4a' (uniform utexture2DArray)
0:58 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:58 'c3' (uniform 3-component vector of float)
0:58 'o2' (uniform 2-component vector of int)
0:58 Constant:
0:58 1 (const int)
0:60 Sequence
0:60 move second child to first child (temp 4-component vector of float)
0:60 'txval104' (temp 4-component vector of float)
0:60 textureGatherOffsets (global 4-component vector of float)
0:60 Construct combined texture-sampler (temp sampler2DArray)
0:60 'g_tTex2df4a' (uniform texture2DArray)
0:60 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:60 'c3' (uniform 3-component vector of float)
0:60 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 'o2' (uniform 2-component vector of int)
0:60 Constant:
0:60 1 (const int)
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of int)
0:61 'txval114' (temp 4-component vector of int)
0:61 textureGatherOffsets (global 4-component vector of int)
0:61 Construct combined texture-sampler (temp isampler2DArray)
0:61 'g_tTex2di4a' (uniform itexture2DArray)
0:61 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61 'c3' (uniform 3-component vector of float)
0:61 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 'o2' (uniform 2-component vector of int)
0:61 Constant:
0:61 1 (const int)
0:62 Sequence
0:62 move second child to first child (temp 4-component vector of uint)
0:62 'txval124' (temp 4-component vector of uint)
0:62 textureGatherOffsets (global 4-component vector of uint)
0:62 Construct combined texture-sampler (temp usampler2DArray)
0:62 'g_tTex2du4a' (uniform utexture2DArray)
0:62 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62 'c3' (uniform 3-component vector of float)
0:62 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 'o2' (uniform 2-component vector of int)
0:62 Constant:
0:62 1 (const int)
0:72 Sequence
0:72 move second child to first child (temp 4-component vector of float)
0:72 'txval201' (temp 4-component vector of float)
0:72 textureGatherOffset (global 4-component vector of float)
0:72 Construct combined texture-sampler (temp sampler2DArray)
0:72 'g_tTex2df4a' (uniform texture2DArray)
0:72 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:72 'c3' (uniform 3-component vector of float)
0:72 'o2' (uniform 2-component vector of int)
0:72 Constant:
0:72 2 (const int)
0:73 Sequence
0:73 move second child to first child (temp 4-component vector of int)
0:73 'txval211' (temp 4-component vector of int)
0:73 textureGatherOffset (global 4-component vector of int)
0:73 Construct combined texture-sampler (temp isampler2DArray)
0:73 'g_tTex2di4a' (uniform itexture2DArray)
0:73 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:73 'c3' (uniform 3-component vector of float)
0:73 'o2' (uniform 2-component vector of int)
0:73 Constant:
0:73 2 (const int)
0:74 Sequence
0:74 move second child to first child (temp 4-component vector of uint)
0:74 'txval221' (temp 4-component vector of uint)
0:74 textureGatherOffset (global 4-component vector of uint)
0:74 Construct combined texture-sampler (temp usampler2DArray)
0:74 'g_tTex2du4a' (uniform utexture2DArray)
0:74 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:74 'c3' (uniform 3-component vector of float)
0:74 'o2' (uniform 2-component vector of int)
0:74 Constant:
0:74 2 (const int)
0:76 Sequence
0:76 move second child to first child (temp 4-component vector of float)
0:76 'txval204' (temp 4-component vector of float)
0:76 textureGatherOffsets (global 4-component vector of float)
0:76 Construct combined texture-sampler (temp sampler2DArray)
0:76 'g_tTex2df4a' (uniform texture2DArray)
0:76 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:76 'c3' (uniform 3-component vector of float)
0:76 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 'o2' (uniform 2-component vector of int)
0:76 Constant:
0:76 2 (const int)
0:77 Sequence
0:77 move second child to first child (temp 4-component vector of int)
0:77 'txval214' (temp 4-component vector of int)
0:77 textureGatherOffsets (global 4-component vector of int)
0:77 Construct combined texture-sampler (temp isampler2DArray)
0:77 'g_tTex2di4a' (uniform itexture2DArray)
0:77 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:77 'c3' (uniform 3-component vector of float)
0:77 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 'o2' (uniform 2-component vector of int)
0:77 Constant:
0:77 2 (const int)
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of uint)
0:78 'txval224' (temp 4-component vector of uint)
0:78 textureGatherOffsets (global 4-component vector of uint)
0:78 Construct combined texture-sampler (temp usampler2DArray)
0:78 'g_tTex2du4a' (uniform utexture2DArray)
0:78 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:78 'c3' (uniform 3-component vector of float)
0:78 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 'o2' (uniform 2-component vector of int)
0:78 Constant:
0:78 2 (const int)
0:88 Sequence
0:88 move second child to first child (temp 4-component vector of float)
0:88 'txval301' (temp 4-component vector of float)
0:88 textureGatherOffset (global 4-component vector of float)
0:88 Construct combined texture-sampler (temp sampler2DArray)
0:88 'g_tTex2df4a' (uniform texture2DArray)
0:88 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:88 'c3' (uniform 3-component vector of float)
0:88 'o2' (uniform 2-component vector of int)
0:88 Constant:
0:88 3 (const int)
0:89 Sequence
0:89 move second child to first child (temp 4-component vector of int)
0:89 'txval311' (temp 4-component vector of int)
0:89 textureGatherOffset (global 4-component vector of int)
0:89 Construct combined texture-sampler (temp isampler2DArray)
0:89 'g_tTex2di4a' (uniform itexture2DArray)
0:89 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:89 'c3' (uniform 3-component vector of float)
0:89 'o2' (uniform 2-component vector of int)
0:89 Constant:
0:89 3 (const int)
0:90 Sequence
0:90 move second child to first child (temp 4-component vector of uint)
0:90 'txval321' (temp 4-component vector of uint)
0:90 textureGatherOffset (global 4-component vector of uint)
0:90 Construct combined texture-sampler (temp usampler2DArray)
0:90 'g_tTex2du4a' (uniform utexture2DArray)
0:90 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:90 'c3' (uniform 3-component vector of float)
0:90 'o2' (uniform 2-component vector of int)
0:90 Constant:
0:90 3 (const int)
0:92 Sequence
0:92 move second child to first child (temp 4-component vector of float)
0:92 'txval304' (temp 4-component vector of float)
0:92 textureGatherOffsets (global 4-component vector of float)
0:92 Construct combined texture-sampler (temp sampler2DArray)
0:92 'g_tTex2df4a' (uniform texture2DArray)
0:92 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:92 'c3' (uniform 3-component vector of float)
0:92 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 'o2' (uniform 2-component vector of int)
0:92 Constant:
0:92 3 (const int)
0:93 Sequence
0:93 move second child to first child (temp 4-component vector of int)
0:93 'txval314' (temp 4-component vector of int)
0:93 textureGatherOffsets (global 4-component vector of int)
0:93 Construct combined texture-sampler (temp isampler2DArray)
0:93 'g_tTex2di4a' (uniform itexture2DArray)
0:93 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:93 'c3' (uniform 3-component vector of float)
0:93 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 'o2' (uniform 2-component vector of int)
0:93 Constant:
0:93 3 (const int)
0:94 Sequence
0:94 move second child to first child (temp 4-component vector of uint)
0:94 'txval324' (temp 4-component vector of uint)
0:94 textureGatherOffsets (global 4-component vector of uint)
0:94 Construct combined texture-sampler (temp usampler2DArray)
0:94 'g_tTex2du4a' (uniform utexture2DArray)
0:94 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:94 'c3' (uniform 3-component vector of float)
0:94 Construct ivec2 (temp 4-element array of 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 'o2' (uniform 2-component vector of int)
0:94 Constant:
0:94 3 (const int)
0:106 move second child to first child (temp 4-component vector of float)
0:106 Color: direct index for structure (temp 4-component vector of float)
0:106 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:106 Constant:
0:106 0 (const int)
0:106 Constant:
0:106 1.000000
0:106 1.000000
0:106 1.000000
0:106 1.000000
0:107 move second child to first child (temp float)
0:107 Depth: direct index for structure (temp float FragDepth)
0:107 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:107 Constant:
0:107 1 (const int)
0:107 Constant:
0:107 1.000000
0:109 Branch: Return with expression
0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) 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:? 'c1' (uniform float)
0:? 'c2' (uniform 2-component vector of float)
0:? 'c3' (uniform 3-component vector of float)
0:? 'c4' (uniform 4-component vector of float)
0:? 'o1' (uniform int)
0:? 'o2' (uniform 2-component vector of int)
0:? 'o3' (uniform 3-component vector of int)
0:? 'o4' (uniform 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 301
Capability Shader
Capability ImageGatherExtended
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
Name 4 "main"
Name 9 "txval001"
Name 12 "g_tTex2df4a"
Name 16 "g_sSamp"
Name 22 "c3"
Name 27 "o2"
Name 33 "txval011"
Name 36 "g_tTex2di4a"
Name 47 "txval021"
Name 50 "g_tTex2du4a"
Name 58 "txval004"
Name 71 "txval014"
Name 82 "txval024"
Name 93 "txval101"
Name 101 "txval111"
Name 108 "txval121"
Name 115 "txval104"
Name 126 "txval114"
Name 137 "txval124"
Name 148 "txval201"
Name 156 "txval211"
Name 163 "txval221"
Name 170 "txval204"
Name 181 "txval214"
Name 192 "txval224"
Name 203 "txval301"
Name 211 "txval311"
Name 218 "txval321"
Name 225 "txval304"
Name 236 "txval314"
Name 247 "txval324"
Name 258 "PS_OUTPUT"
MemberName 258(PS_OUTPUT) 0 "Color"
MemberName 258(PS_OUTPUT) 1 "Depth"
Name 260 "psout"
Name 268 "g_sSamp2d"
Name 271 "g_tTex1df4a"
Name 274 "g_tTex1di4a"
Name 277 "g_tTex1du4a"
Name 280 "g_tTexcdf4a"
Name 283 "g_tTexcdi4a"
Name 286 "g_tTexcdu4a"
Name 288 "c1"
Name 291 "c2"
Name 293 "c4"
Name 295 "o1"
Name 298 "o3"
Name 300 "o4"
Decorate 12(g_tTex2df4a) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 36(g_tTex2di4a) DescriptorSet 0
Decorate 50(g_tTex2du4a) DescriptorSet 0
MemberDecorate 258(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 268(g_sSamp2d) DescriptorSet 0
Decorate 271(g_tTex1df4a) DescriptorSet 0
Decorate 271(g_tTex1df4a) Binding 0
Decorate 274(g_tTex1di4a) DescriptorSet 0
Decorate 277(g_tTex1du4a) DescriptorSet 0
Decorate 280(g_tTexcdf4a) DescriptorSet 0
Decorate 283(g_tTexcdi4a) DescriptorSet 0
Decorate 286(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D array sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4a): 11(ptr) Variable UniformConstant
14: TypeSampler
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 3
21: TypePointer UniformConstant 20(fvec3)
22(c3): 21(ptr) Variable UniformConstant
24: TypeInt 32 1
25: TypeVector 24(int) 2
26: TypePointer UniformConstant 25(ivec2)
27(o2): 26(ptr) Variable UniformConstant
29: 24(int) Constant 0
31: TypeVector 24(int) 4
32: TypePointer Function 31(ivec4)
34: TypeImage 24(int) 2D array sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex2di4a): 35(ptr) Variable UniformConstant
39: TypeSampledImage 34
44: TypeInt 32 0
45: TypeVector 44(int) 4
46: TypePointer Function 45(ivec4)
48: TypeImage 44(int) 2D array sampled format:Unknown
49: TypePointer UniformConstant 48
50(g_tTex2du4a): 49(ptr) Variable UniformConstant
53: TypeSampledImage 48
67: 44(int) Constant 4
68: TypeArray 25(ivec2) 67
99: 24(int) Constant 1
154: 24(int) Constant 2
209: 24(int) Constant 3
258(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
259: TypePointer Function 258(PS_OUTPUT)
261: 6(float) Constant 1065353216
262: 7(fvec4) ConstantComposite 261 261 261 261
264: TypePointer Function 6(float)
268(g_sSamp2d): 15(ptr) Variable UniformConstant
269: TypeImage 6(float) 1D array sampled format:Unknown
270: TypePointer UniformConstant 269
271(g_tTex1df4a): 270(ptr) Variable UniformConstant
272: TypeImage 24(int) 1D array sampled format:Unknown
273: TypePointer UniformConstant 272
274(g_tTex1di4a): 273(ptr) Variable UniformConstant
275: TypeImage 44(int) 1D array sampled format:Unknown
276: TypePointer UniformConstant 275
277(g_tTex1du4a): 276(ptr) Variable UniformConstant
278: TypeImage 6(float) Cube array sampled format:Unknown
279: TypePointer UniformConstant 278
280(g_tTexcdf4a): 279(ptr) Variable UniformConstant
281: TypeImage 24(int) Cube array sampled format:Unknown
282: TypePointer UniformConstant 281
283(g_tTexcdi4a): 282(ptr) Variable UniformConstant
284: TypeImage 44(int) Cube array sampled format:Unknown
285: TypePointer UniformConstant 284
286(g_tTexcdu4a): 285(ptr) Variable UniformConstant
287: TypePointer UniformConstant 6(float)
288(c1): 287(ptr) Variable UniformConstant
289: TypeVector 6(float) 2
290: TypePointer UniformConstant 289(fvec2)
291(c2): 290(ptr) Variable UniformConstant
292: TypePointer UniformConstant 7(fvec4)
293(c4): 292(ptr) Variable UniformConstant
294: TypePointer UniformConstant 24(int)
295(o1): 294(ptr) Variable UniformConstant
296: TypeVector 24(int) 3
297: TypePointer UniformConstant 296(ivec3)
298(o3): 297(ptr) Variable UniformConstant
299: TypePointer UniformConstant 31(ivec4)
300(o4): 299(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval001): 8(ptr) Variable Function
33(txval011): 32(ptr) Variable Function
47(txval021): 46(ptr) Variable Function
58(txval004): 8(ptr) Variable Function
71(txval014): 32(ptr) Variable Function
82(txval024): 46(ptr) Variable Function
93(txval101): 8(ptr) Variable Function
101(txval111): 32(ptr) Variable Function
108(txval121): 46(ptr) Variable Function
115(txval104): 8(ptr) Variable Function
126(txval114): 32(ptr) Variable Function
137(txval124): 46(ptr) Variable Function
148(txval201): 8(ptr) Variable Function
156(txval211): 32(ptr) Variable Function
163(txval221): 46(ptr) Variable Function
170(txval204): 8(ptr) Variable Function
181(txval214): 32(ptr) Variable Function
192(txval224): 46(ptr) Variable Function
203(txval301): 8(ptr) Variable Function
211(txval311): 32(ptr) Variable Function
218(txval321): 46(ptr) Variable Function
225(txval304): 8(ptr) Variable Function
236(txval314): 32(ptr) Variable Function
247(txval324): 46(ptr) Variable Function
260(psout): 259(ptr) Variable Function
13: 10 Load 12(g_tTex2df4a)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
23: 20(fvec3) Load 22(c3)
28: 25(ivec2) Load 27(o2)
30: 7(fvec4) ImageGather 19 23 29 Offset 28
Store 9(txval001) 30
37: 34 Load 36(g_tTex2di4a)
38: 14 Load 16(g_sSamp)
40: 39 SampledImage 37 38
41: 20(fvec3) Load 22(c3)
42: 25(ivec2) Load 27(o2)
43: 31(ivec4) ImageGather 40 41 29 Offset 42
Store 33(txval011) 43
51: 48 Load 50(g_tTex2du4a)
52: 14 Load 16(g_sSamp)
54: 53 SampledImage 51 52
55: 20(fvec3) Load 22(c3)
56: 25(ivec2) Load 27(o2)
57: 45(ivec4) ImageGather 54 55 29 Offset 56
Store 47(txval021) 57
59: 10 Load 12(g_tTex2df4a)
60: 14 Load 16(g_sSamp)
61: 18 SampledImage 59 60
62: 20(fvec3) Load 22(c3)
63: 25(ivec2) Load 27(o2)
64: 25(ivec2) Load 27(o2)
65: 25(ivec2) Load 27(o2)
66: 25(ivec2) Load 27(o2)
69: 68 CompositeConstruct 63 64 65 66
70: 7(fvec4) ImageGather 61 62 29 ConstOffsets 69
Store 58(txval004) 70
72: 34 Load 36(g_tTex2di4a)
73: 14 Load 16(g_sSamp)
74: 39 SampledImage 72 73
75: 20(fvec3) Load 22(c3)
76: 25(ivec2) Load 27(o2)
77: 25(ivec2) Load 27(o2)
78: 25(ivec2) Load 27(o2)
79: 25(ivec2) Load 27(o2)
80: 68 CompositeConstruct 76 77 78 79
81: 31(ivec4) ImageGather 74 75 29 ConstOffsets 80
Store 71(txval014) 81
83: 48 Load 50(g_tTex2du4a)
84: 14 Load 16(g_sSamp)
85: 53 SampledImage 83 84
86: 20(fvec3) Load 22(c3)
87: 25(ivec2) Load 27(o2)
88: 25(ivec2) Load 27(o2)
89: 25(ivec2) Load 27(o2)
90: 25(ivec2) Load 27(o2)
91: 68 CompositeConstruct 87 88 89 90
92: 45(ivec4) ImageGather 85 86 29 ConstOffsets 91
Store 82(txval024) 92
94: 10 Load 12(g_tTex2df4a)
95: 14 Load 16(g_sSamp)
96: 18 SampledImage 94 95
97: 20(fvec3) Load 22(c3)
98: 25(ivec2) Load 27(o2)
100: 7(fvec4) ImageGather 96 97 99 Offset 98
Store 93(txval101) 100
102: 34 Load 36(g_tTex2di4a)
103: 14 Load 16(g_sSamp)
104: 39 SampledImage 102 103
105: 20(fvec3) Load 22(c3)
106: 25(ivec2) Load 27(o2)
107: 31(ivec4) ImageGather 104 105 99 Offset 106
Store 101(txval111) 107
109: 48 Load 50(g_tTex2du4a)
110: 14 Load 16(g_sSamp)
111: 53 SampledImage 109 110
112: 20(fvec3) Load 22(c3)
113: 25(ivec2) Load 27(o2)
114: 45(ivec4) ImageGather 111 112 99 Offset 113
Store 108(txval121) 114
116: 10 Load 12(g_tTex2df4a)
117: 14 Load 16(g_sSamp)
118: 18 SampledImage 116 117
119: 20(fvec3) Load 22(c3)
120: 25(ivec2) Load 27(o2)
121: 25(ivec2) Load 27(o2)
122: 25(ivec2) Load 27(o2)
123: 25(ivec2) Load 27(o2)
124: 68 CompositeConstruct 120 121 122 123
125: 7(fvec4) ImageGather 118 119 99 ConstOffsets 124
Store 115(txval104) 125
127: 34 Load 36(g_tTex2di4a)
128: 14 Load 16(g_sSamp)
129: 39 SampledImage 127 128
130: 20(fvec3) Load 22(c3)
131: 25(ivec2) Load 27(o2)
132: 25(ivec2) Load 27(o2)
133: 25(ivec2) Load 27(o2)
134: 25(ivec2) Load 27(o2)
135: 68 CompositeConstruct 131 132 133 134
136: 31(ivec4) ImageGather 129 130 99 ConstOffsets 135
Store 126(txval114) 136
138: 48 Load 50(g_tTex2du4a)
139: 14 Load 16(g_sSamp)
140: 53 SampledImage 138 139
141: 20(fvec3) Load 22(c3)
142: 25(ivec2) Load 27(o2)
143: 25(ivec2) Load 27(o2)
144: 25(ivec2) Load 27(o2)
145: 25(ivec2) Load 27(o2)
146: 68 CompositeConstruct 142 143 144 145
147: 45(ivec4) ImageGather 140 141 99 ConstOffsets 146
Store 137(txval124) 147
149: 10 Load 12(g_tTex2df4a)
150: 14 Load 16(g_sSamp)
151: 18 SampledImage 149 150
152: 20(fvec3) Load 22(c3)
153: 25(ivec2) Load 27(o2)
155: 7(fvec4) ImageGather 151 152 154 Offset 153
Store 148(txval201) 155
157: 34 Load 36(g_tTex2di4a)
158: 14 Load 16(g_sSamp)
159: 39 SampledImage 157 158
160: 20(fvec3) Load 22(c3)
161: 25(ivec2) Load 27(o2)
162: 31(ivec4) ImageGather 159 160 154 Offset 161
Store 156(txval211) 162
164: 48 Load 50(g_tTex2du4a)
165: 14 Load 16(g_sSamp)
166: 53 SampledImage 164 165
167: 20(fvec3) Load 22(c3)
168: 25(ivec2) Load 27(o2)
169: 45(ivec4) ImageGather 166 167 154 Offset 168
Store 163(txval221) 169
171: 10 Load 12(g_tTex2df4a)
172: 14 Load 16(g_sSamp)
173: 18 SampledImage 171 172
174: 20(fvec3) Load 22(c3)
175: 25(ivec2) Load 27(o2)
176: 25(ivec2) Load 27(o2)
177: 25(ivec2) Load 27(o2)
178: 25(ivec2) Load 27(o2)
179: 68 CompositeConstruct 175 176 177 178
180: 7(fvec4) ImageGather 173 174 154 ConstOffsets 179
Store 170(txval204) 180
182: 34 Load 36(g_tTex2di4a)
183: 14 Load 16(g_sSamp)
184: 39 SampledImage 182 183
185: 20(fvec3) Load 22(c3)
186: 25(ivec2) Load 27(o2)
187: 25(ivec2) Load 27(o2)
188: 25(ivec2) Load 27(o2)
189: 25(ivec2) Load 27(o2)
190: 68 CompositeConstruct 186 187 188 189
191: 31(ivec4) ImageGather 184 185 154 ConstOffsets 190
Store 181(txval214) 191
193: 48 Load 50(g_tTex2du4a)
194: 14 Load 16(g_sSamp)
195: 53 SampledImage 193 194
196: 20(fvec3) Load 22(c3)
197: 25(ivec2) Load 27(o2)
198: 25(ivec2) Load 27(o2)
199: 25(ivec2) Load 27(o2)
200: 25(ivec2) Load 27(o2)
201: 68 CompositeConstruct 197 198 199 200
202: 45(ivec4) ImageGather 195 196 154 ConstOffsets 201
Store 192(txval224) 202
204: 10 Load 12(g_tTex2df4a)
205: 14 Load 16(g_sSamp)
206: 18 SampledImage 204 205
207: 20(fvec3) Load 22(c3)
208: 25(ivec2) Load 27(o2)
210: 7(fvec4) ImageGather 206 207 209 Offset 208
Store 203(txval301) 210
212: 34 Load 36(g_tTex2di4a)
213: 14 Load 16(g_sSamp)
214: 39 SampledImage 212 213
215: 20(fvec3) Load 22(c3)
216: 25(ivec2) Load 27(o2)
217: 31(ivec4) ImageGather 214 215 209 Offset 216
Store 211(txval311) 217
219: 48 Load 50(g_tTex2du4a)
220: 14 Load 16(g_sSamp)
221: 53 SampledImage 219 220
222: 20(fvec3) Load 22(c3)
223: 25(ivec2) Load 27(o2)
224: 45(ivec4) ImageGather 221 222 209 Offset 223
Store 218(txval321) 224
226: 10 Load 12(g_tTex2df4a)
227: 14 Load 16(g_sSamp)
228: 18 SampledImage 226 227
229: 20(fvec3) Load 22(c3)
230: 25(ivec2) Load 27(o2)
231: 25(ivec2) Load 27(o2)
232: 25(ivec2) Load 27(o2)
233: 25(ivec2) Load 27(o2)
234: 68 CompositeConstruct 230 231 232 233
235: 7(fvec4) ImageGather 228 229 209 ConstOffsets 234
Store 225(txval304) 235
237: 34 Load 36(g_tTex2di4a)
238: 14 Load 16(g_sSamp)
239: 39 SampledImage 237 238
240: 20(fvec3) Load 22(c3)
241: 25(ivec2) Load 27(o2)
242: 25(ivec2) Load 27(o2)
243: 25(ivec2) Load 27(o2)
244: 25(ivec2) Load 27(o2)
245: 68 CompositeConstruct 241 242 243 244
246: 31(ivec4) ImageGather 239 240 209 ConstOffsets 245
Store 236(txval314) 246
248: 48 Load 50(g_tTex2du4a)
249: 14 Load 16(g_sSamp)
250: 53 SampledImage 248 249
251: 20(fvec3) Load 22(c3)
252: 25(ivec2) Load 27(o2)
253: 25(ivec2) Load 27(o2)
254: 25(ivec2) Load 27(o2)
255: 25(ivec2) Load 27(o2)
256: 68 CompositeConstruct 252 253 254 255
257: 45(ivec4) ImageGather 250 251 209 ConstOffsets 256
Store 247(txval324) 257
263: 8(ptr) AccessChain 260(psout) 29
Store 263 262
265: 264(ptr) AccessChain 260(psout) 99
Store 265 261
266:258(PS_OUTPUT) Load 260(psout)
ReturnValue 266
FunctionEnd
SamplerState g_sSamp : register(s0);
uniform sampler2D g_sSamp2d;
uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
Texture1DArray <int4> g_tTex1di4a;
Texture1DArray <uint4> g_tTex1du4a;
Texture2DArray <float4> g_tTex2df4a;
Texture2DArray <int4> g_tTex2di4a;
Texture2DArray <uint4> g_tTex2du4a;
TextureCubeArray <float4> g_tTexcdf4a;
TextureCubeArray <int4> g_tTexcdi4a;
TextureCubeArray <uint4> g_tTexcdu4a;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
// no 1D gathers
float4 txval00 = g_tTex2df4a . GatherRed(g_sSamp, c3);
int4 txval01 = g_tTex2di4a . GatherRed(g_sSamp, c3);
uint4 txval02 = g_tTex2du4a . GatherRed(g_sSamp, c3);
float4 txval10 = g_tTex2df4a . GatherGreen(g_sSamp, c3);
int4 txval11 = g_tTex2di4a . GatherGreen(g_sSamp, c3);
uint4 txval12 = g_tTex2du4a . GatherGreen(g_sSamp, c3);
float4 txval20 = g_tTex2df4a . GatherBlue(g_sSamp, c3);
int4 txval21 = g_tTex2di4a . GatherBlue(g_sSamp, c3);
uint4 txval22 = g_tTex2du4a . GatherBlue(g_sSamp, c3);
float4 txval30 = g_tTex2df4a . GatherAlpha(g_sSamp, c3);
int4 txval31 = g_tTex2di4a . GatherAlpha(g_sSamp, c3);
uint4 txval32 = g_tTex2du4a . GatherAlpha(g_sSamp, c3);
// no 3D gathers
float4 txval40 = g_tTexcdf4a . GatherRed(g_sSamp, c4);
int4 txval41 = g_tTexcdi4a . GatherRed(g_sSamp, c4);
uint4 txval42 = g_tTexcdu4a . GatherRed(g_sSamp, c4);
float4 txval50 = g_tTexcdf4a . GatherGreen(g_sSamp, c4);
int4 txval51 = g_tTexcdi4a . GatherGreen(g_sSamp, c4);
uint4 txval52 = g_tTexcdu4a . GatherGreen(g_sSamp, c4);
float4 txval60 = g_tTexcdf4a . GatherBlue(g_sSamp, c4);
int4 txval61 = g_tTexcdi4a . GatherBlue(g_sSamp, c4);
uint4 txval62 = g_tTexcdu4a . GatherBlue(g_sSamp, c4);
float4 txval70 = g_tTexcdf4a . GatherAlpha(g_sSamp, c4);
int4 txval71 = g_tTexcdi4a . GatherAlpha(g_sSamp, c4);
uint4 txval72 = g_tTexcdu4a . GatherAlpha(g_sSamp, c4);
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
SamplerState g_sSamp : register(s0);
uniform sampler2D g_sSamp2d;
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
// no 1D gathers
float4 txval00 = g_tTex2df4 . GatherRed(g_sSamp, c2);
int4 txval01 = g_tTex2di4 . GatherRed(g_sSamp, c2);
uint4 txval02 = g_tTex2du4 . GatherRed(g_sSamp, c2);
float4 txval10 = g_tTex2df4 . GatherGreen(g_sSamp, c2);
int4 txval11 = g_tTex2di4 . GatherGreen(g_sSamp, c2);
uint4 txval12 = g_tTex2du4 . GatherGreen(g_sSamp, c2);
float4 txval20 = g_tTex2df4 . GatherBlue(g_sSamp, c2);
int4 txval21 = g_tTex2di4 . GatherBlue(g_sSamp, c2);
uint4 txval22 = g_tTex2du4 . GatherBlue(g_sSamp, c2);
float4 txval30 = g_tTex2df4 . GatherAlpha(g_sSamp, c2);
int4 txval31 = g_tTex2di4 . GatherAlpha(g_sSamp, c2);
uint4 txval32 = g_tTex2du4 . GatherAlpha(g_sSamp, c2);
// no 3D gathers
float4 txval40 = g_tTexcdf4 . GatherRed(g_sSamp, c3);
int4 txval41 = g_tTexcdi4 . GatherRed(g_sSamp, c3);
uint4 txval42 = g_tTexcdu4 . GatherRed(g_sSamp, c3);
float4 txval50 = g_tTexcdf4 . GatherGreen(g_sSamp, c3);
int4 txval51 = g_tTexcdi4 . GatherGreen(g_sSamp, c3);
uint4 txval52 = g_tTexcdu4 . GatherGreen(g_sSamp, c3);
float4 txval60 = g_tTexcdf4 . GatherBlue(g_sSamp, c3);
int4 txval61 = g_tTexcdi4 . GatherBlue(g_sSamp, c3);
uint4 txval62 = g_tTexcdu4 . GatherBlue(g_sSamp, c3);
float4 txval70 = g_tTexcdf4 . GatherAlpha(g_sSamp, c3);
int4 txval71 = g_tTexcdi4 . GatherAlpha(g_sSamp, c3);
uint4 txval72 = g_tTexcdu4 . GatherAlpha(g_sSamp, c3);
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
SamplerState g_sSamp : register(s0);
uniform sampler2D g_sSamp2d;
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
uniform int o1;
uniform int2 o2;
uniform int3 o3;
uniform int4 o4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
uint status;
// no 1D gathers
float4 txval001 = g_tTex2df4 . GatherRed(g_sSamp, c2, o2);
int4 txval011 = g_tTex2di4 . GatherRed(g_sSamp, c2, o2);
uint4 txval021 = g_tTex2du4 . GatherRed(g_sSamp, c2, o2);
float4 txval004 = g_tTex2df4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2);
int4 txval014 = g_tTex2di4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2);
uint4 txval024 = g_tTex2du4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2);
// float4 txval00s = g_tTex2df4 . GatherRed(g_sSamp, c2, o2, status);
// int4 txval01s = g_tTex2di4 . GatherRed(g_sSamp, c2, o2, status);
// uint4 txval02s = g_tTex2du4 . GatherRed(g_sSamp, c2, o2, status);
// float4 txval004s = g_tTex2df4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2, status);
// int4 txval014s = g_tTex2di4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2, status);
// uint4 txval024s = g_tTex2du4 . GatherRed(g_sSamp, c2, o2, o2, o2, o2, status);
float4 txval101 = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2);
int4 txval111 = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2);
uint4 txval121 = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2);
float4 txval104 = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2);
int4 txval114 = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2);
uint4 txval124 = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2);
// float4 txval10s = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2, status);
// int4 txval11s = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2, status);
// uint4 txval12s = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2, status);
// float4 txval104 = g_tTex2df4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2, status);
// int4 txval114 = g_tTex2di4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2, status);
// uint4 txval124 = g_tTex2du4 . GatherGreen(g_sSamp, c2, o2, o2, o2, o2, status);
float4 txval201 = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2);
int4 txval211 = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2);
uint4 txval221 = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2);
float4 txval204 = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2);
int4 txval214 = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2);
uint4 txval224 = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2);
// float4 txval204s = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2, status);
// int4 txval214s = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2, status);
// uint4 txval224s = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2, o2, o2, o2, status);
// float4 txval20s = g_tTex2df4 . GatherBlue(g_sSamp, c2, o2, status);
// int4 txval21s = g_tTex2di4 . GatherBlue(g_sSamp, c2, o2, status);
// uint4 txval22s = g_tTex2du4 . GatherBlue(g_sSamp, c2, o2, status);
float4 txval301 = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2);
int4 txval311 = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2);
uint4 txval321 = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2);
float4 txval304 = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2);
int4 txval314 = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2);
uint4 txval324 = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2);
// float4 txval304s = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2, status);
// int4 txval314s = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2, status);
// uint4 txval324s = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2, o2, o2, o2, status);
// float4 txval30s = g_tTex2df4 . GatherAlpha(g_sSamp, c2, o2, status);
// int4 txval31s = g_tTex2di4 . GatherAlpha(g_sSamp, c2, o2, status);
// uint4 txval32s = g_tTex2du4 . GatherAlpha(g_sSamp, c2, o2, status);
// no 3D gathers with offset
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
SamplerState g_sSamp : register(s0);
uniform sampler2D g_sSamp2d;
uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
Texture1DArray <int4> g_tTex1di4a;
Texture1DArray <uint4> g_tTex1du4a;
Texture2DArray <float4> g_tTex2df4a;
Texture2DArray <int4> g_tTex2di4a;
Texture2DArray <uint4> g_tTex2du4a;
TextureCubeArray <float4> g_tTexcdf4a;
TextureCubeArray <int4> g_tTexcdi4a;
TextureCubeArray <uint4> g_tTexcdu4a;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
uniform int o1;
uniform int2 o2;
uniform int3 o3;
uniform int4 o4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
uint status;
// no 1D gathers
float4 txval001 = g_tTex2df4a . GatherRed(g_sSamp, c3, o2);
int4 txval011 = g_tTex2di4a . GatherRed(g_sSamp, c3, o2);
uint4 txval021 = g_tTex2du4a . GatherRed(g_sSamp, c3, o2);
float4 txval004 = g_tTex2df4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2);
int4 txval014 = g_tTex2di4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2);
uint4 txval024 = g_tTex2du4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2);
// float4 txval00s = g_tTex2df4a . GatherRed(g_sSamp, c3, o2, status);
// int4 txval01s = g_tTex2di4a . GatherRed(g_sSamp, c3, o2, status);
// uint4 txval02s = g_tTex2du4a . GatherRed(g_sSamp, c3, o2, status);
// float4 txval004s = g_tTex2df4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2, status);
// int4 txval014s = g_tTex2di4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2, status);
// uint4 txval024s = g_tTex2du4a . GatherRed(g_sSamp, c3, o2, o2, o2, o2, status);
float4 txval101 = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2);
int4 txval111 = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2);
uint4 txval121 = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2);
float4 txval104 = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2);
int4 txval114 = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2);
uint4 txval124 = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2);
// float4 txval10s = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2, status);
// int4 txval11s = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2, status);
// uint4 txval12s = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2, status);
// float4 txval104 = g_tTex2df4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2, status);
// int4 txval114 = g_tTex2di4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2, status);
// uint4 txval124 = g_tTex2du4a . GatherGreen(g_sSamp, c3, o2, o2, o2, o2, status);
float4 txval201 = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2);
int4 txval211 = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2);
uint4 txval221 = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2);
float4 txval204 = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2);
int4 txval214 = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2);
uint4 txval224 = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2);
// float4 txval204s = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2, status);
// int4 txval214s = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2, status);
// uint4 txval224s = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2, o2, o2, o2, status);
// float4 txval20s = g_tTex2df4a . GatherBlue(g_sSamp, c3, o2, status);
// int4 txval21s = g_tTex2di4a . GatherBlue(g_sSamp, c3, o2, status);
// uint4 txval22s = g_tTex2du4a . GatherBlue(g_sSamp, c3, o2, status);
float4 txval301 = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2);
int4 txval311 = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2);
uint4 txval321 = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2);
float4 txval304 = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2);
int4 txval314 = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2);
uint4 txval324 = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2);
// float4 txval304s = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2, status);
// int4 txval314s = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2, status);
// uint4 txval324s = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2, o2, o2, o2, status);
// float4 txval30s = g_tTex2df4a . GatherAlpha(g_sSamp, c3, o2, status);
// int4 txval31s = g_tTex2di4a . GatherAlpha(g_sSamp, c3, o2, status);
// uint4 txval32s = g_tTex2du4a . GatherAlpha(g_sSamp, c3, o2, status);
// no 3D gathers with offset
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
SamplerComparisonState g_sSampCmp : register(s0);
uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
Texture1DArray <int4> g_tTex1di4a;
Texture1DArray <uint4> g_tTex1du4a;
Texture2DArray <float4> g_tTex2df4a;
Texture2DArray <int4> g_tTex2di4a;
Texture2DArray <uint4> g_tTex2du4a;
TextureCubeArray <float4> g_tTexcdf4a;
TextureCubeArray <int4> g_tTexcdi4a;
TextureCubeArray <uint4> g_tTexcdu4a;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
// no 1D gathers
float4 txval00 = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, .75);
int4 txval01 = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, .75);
uint4 txval02 = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, .75);
float4 txval10 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, .75);
int4 txval11 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, .75);
uint4 txval12 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, .75);
float4 txval20 = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, .75);
int4 txval21 = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, .75);
uint4 txval22 = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, .75);
float4 txval30 = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, .75);
int4 txval31 = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, .75);
uint4 txval32 = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, .75);
// no 3D gathers
float4 txval40 = g_tTexcdf4a . GatherCmpRed(g_sSampCmp, c4, .75);
int4 txval41 = g_tTexcdi4a . GatherCmpRed(g_sSampCmp, c4, .75);
uint4 txval42 = g_tTexcdu4a . GatherCmpRed(g_sSampCmp, c4, .75);
float4 txval50 = g_tTexcdf4a . GatherCmpGreen(g_sSampCmp, c4, .75);
int4 txval51 = g_tTexcdi4a . GatherCmpGreen(g_sSampCmp, c4, .75);
uint4 txval52 = g_tTexcdu4a . GatherCmpGreen(g_sSampCmp, c4, .75);
float4 txval60 = g_tTexcdf4a . GatherCmpBlue(g_sSampCmp, c4, .75);
int4 txval61 = g_tTexcdi4a . GatherCmpBlue(g_sSampCmp, c4, .75);
uint4 txval62 = g_tTexcdu4a . GatherCmpBlue(g_sSampCmp, c4, .75);
float4 txval70 = g_tTexcdf4a . GatherCmpAlpha(g_sSampCmp, c4, .75);
int4 txval71 = g_tTexcdi4a . GatherCmpAlpha(g_sSampCmp, c4, .75);
uint4 txval72 = g_tTexcdu4a . GatherCmpAlpha(g_sSampCmp, c4, .75);
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
SamplerComparisonState g_sSampCmp : register(s0);
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
// no 1D gathers
float4 txval00 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75);
int4 txval01 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75);
uint4 txval02 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75);
float4 txval10 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75);
int4 txval11 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75);
uint4 txval12 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75);
float4 txval20 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75);
int4 txval21 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75);
uint4 txval22 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75);
float4 txval30 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75);
int4 txval31 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75);
uint4 txval32 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75);
// no 3D gathers
float4 txval40 = g_tTexcdf4 . GatherCmpRed(g_sSampCmp, c3, 0.75);
int4 txval41 = g_tTexcdi4 . GatherCmpRed(g_sSampCmp, c3, 0.75);
uint4 txval42 = g_tTexcdu4 . GatherCmpRed(g_sSampCmp, c3, 0.75);
float4 txval50 = g_tTexcdf4 . GatherCmpGreen(g_sSampCmp, c3, 0.75);
int4 txval51 = g_tTexcdi4 . GatherCmpGreen(g_sSampCmp, c3, 0.75);
uint4 txval52 = g_tTexcdu4 . GatherCmpGreen(g_sSampCmp, c3, 0.75);
float4 txval60 = g_tTexcdf4 . GatherCmpBlue(g_sSampCmp, c3, 0.75);
int4 txval61 = g_tTexcdi4 . GatherCmpBlue(g_sSampCmp, c3, 0.75);
uint4 txval62 = g_tTexcdu4 . GatherCmpBlue(g_sSampCmp, c3, 0.75);
float4 txval70 = g_tTexcdf4 . GatherCmpAlpha(g_sSampCmp, c3, 0.75);
int4 txval71 = g_tTexcdi4 . GatherCmpAlpha(g_sSampCmp, c3, 0.75);
uint4 txval72 = g_tTexcdu4 . GatherCmpAlpha(g_sSampCmp, c3, 0.75);
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
SamplerComparisonState g_sSampCmp : register(s0);
Texture1D g_tTex1df4a : register(t1);
uniform Texture1D <float4> g_tTex1df4 : register(t0);
Texture1D <int4> g_tTex1di4;
Texture1D <uint4> g_tTex1du4;
Texture2D <float4> g_tTex2df4;
Texture2D <int4> g_tTex2di4;
Texture2D <uint4> g_tTex2du4;
Texture3D <float4> g_tTex3df4;
Texture3D <int4> g_tTex3di4;
Texture3D <uint4> g_tTex3du4;
TextureCube <float4> g_tTexcdf4;
TextureCube <int4> g_tTexcdi4;
TextureCube <uint4> g_tTexcdu4;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
uniform int o1;
uniform int2 o2;
uniform int3 o3;
uniform int4 o4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
uint status;
// no 1D gathers
float4 txval001 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2);
int4 txval011 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2);
uint4 txval021 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2);
float4 txval004 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
int4 txval014 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
uint4 txval024 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
// float4 txval00s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval01s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval02s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status);
// float4 txval004s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval014s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval024s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
float4 txval101 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2);
int4 txval111 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2);
uint4 txval121 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2);
float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
// float4 txval10s = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval11s = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval12s = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status);
// float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
float4 txval201 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2);
int4 txval211 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2);
uint4 txval221 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2);
float4 txval204 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
int4 txval214 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
uint4 txval224 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
// float4 txval204s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval214s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval224s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// float4 txval20s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval21s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval22s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status);
float4 txval301 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2);
int4 txval311 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2);
uint4 txval321 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2);
float4 txval304 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
int4 txval314 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
uint4 txval324 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2);
// float4 txval304s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// int4 txval314s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// uint4 txval324s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status);
// float4 txval30s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
// int4 txval31s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
// uint4 txval32s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status);
// no 3D gathers with offset
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
SamplerComparisonState g_sSampCmp : register(s0);
uniform Texture1DArray <float4> g_tTex1df4a : register(t0);
Texture1DArray <int4> g_tTex1di4a;
Texture1DArray <uint4> g_tTex1du4a;
Texture2DArray <float4> g_tTex2df4a;
Texture2DArray <int4> g_tTex2di4a;
Texture2DArray <uint4> g_tTex2du4a;
TextureCubeArray <float4> g_tTexcdf4a;
TextureCubeArray <int4> g_tTexcdi4a;
TextureCubeArray <uint4> g_tTexcdu4a;
struct PS_OUTPUT
{
float4 Color : SV_Target0;
float Depth : SV_Depth;
};
uniform float c1;
uniform float2 c2;
uniform float3 c3;
uniform float4 c4;
uniform int o1;
uniform int2 o2;
uniform int3 o3;
uniform int4 o4;
PS_OUTPUT main()
{
PS_OUTPUT psout;
uint status;
// no 1D gathers
float4 txval001 = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2);
int4 txval011 = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2);
uint4 txval021 = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2);
float4 txval004 = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
int4 txval014 = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
uint4 txval024 = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
// float4 txval00s = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, status);
// int4 txval01s = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, status);
// uint4 txval02s = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, status);
// float4 txval004s = g_tTex2df4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// int4 txval014s = g_tTex2di4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// uint4 txval024s = g_tTex2du4a . GatherCmpRed(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
float4 txval101 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2);
int4 txval111 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2);
uint4 txval121 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2);
float4 txval104 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
int4 txval114 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
uint4 txval124 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
// float4 txval10s = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, status);
// int4 txval11s = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, status);
// uint4 txval12s = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, status);
// float4 txval104 = g_tTex2df4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// int4 txval114 = g_tTex2di4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// uint4 txval124 = g_tTex2du4a . GatherCmpGreen(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
float4 txval201 = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2);
int4 txval211 = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2);
uint4 txval221 = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2);
float4 txval204 = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
int4 txval214 = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
uint4 txval224 = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
// float4 txval204s = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// int4 txval214s = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// uint4 txval224s = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// float4 txval20s = g_tTex2df4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, status);
// int4 txval21s = g_tTex2di4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, status);
// uint4 txval22s = g_tTex2du4a . GatherCmpBlue(g_sSampCmp, c3, 0.75, o2, status);
float4 txval301 = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2);
int4 txval311 = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2);
uint4 txval321 = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2);
float4 txval304 = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
int4 txval314 = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
uint4 txval324 = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2);
// float4 txval304s = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// int4 txval314s = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// uint4 txval324s = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, o2, o2, o2, status);
// float4 txval30s = g_tTex2df4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, status);
// int4 txval31s = g_tTex2di4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, status);
// uint4 txval32s = g_tTex2du4a . GatherCmpAlpha(g_sSampCmp, c3, 0.75, o2, status);
// no 3D gathers with offset
psout.Color = 1.0;
psout.Depth = 1.0;
return psout;
}
......@@ -568,6 +568,17 @@ enum TOperator {
EOpMethodGather, // ...
EOpMethodCalculateLevelOfDetail, // ...
EOpMethodCalculateLevelOfDetailUnclamped, // ...
// SM5 texture methods
EOpMethodGatherRed, // These are covered under the above EOpMethodSample comment about
EOpMethodGatherGreen, // translation to existing AST opcodes. They exist temporarily
EOpMethodGatherBlue, // because HLSL arguments are slightly different.
EOpMethodGatherAlpha, // ...
EOpMethodGatherCmp, // ...
EOpMethodGatherCmpRed, // ...
EOpMethodGatherCmpGreen, // ...
EOpMethodGatherCmpBlue, // ...
EOpMethodGatherCmpAlpha, // ...
};
class TIntermTraverser;
......
......@@ -91,6 +91,10 @@ INSTANTIATE_TEST_CASE_P(
{"hlsl.gather.basic.dx10.vert", "main"},
{"hlsl.gather.offset.dx10.frag", "main"},
{"hlsl.gather.offsetarray.dx10.frag", "main"},
{"hlsl.gatherRGBA.array.dx10.frag", "main"},
{"hlsl.gatherRGBA.basic.dx10.frag", "main"},
{"hlsl.gatherRGBA.offset.dx10.frag", "main"},
{"hlsl.gatherRGBA.offsetarray.dx10.frag", "main"},
{"hlsl.getdimensions.dx10.frag", "main"},
{"hlsl.getdimensions.dx10.vert", "main"},
{"hlsl.getsampleposition.dx10.frag", "main"},
......
......@@ -581,6 +581,15 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt
} else if (field == "CalculateLevelOfDetail" ||
field == "CalculateLevelOfDetailUnclamped" ||
field == "Gather" ||
field == "GatherRed" ||
field == "GatherGreen" ||
field == "GatherBlue" ||
field == "GatherAlpha" ||
field == "GatherCmp" ||
field == "GatherCmpRed" ||
field == "GatherCmpGreen" ||
field == "GatherCmpBlue" ||
field == "GatherCmpAlpha" ||
field == "GetDimensions" ||
field == "GetSamplePosition" ||
field == "Load" ||
......@@ -1251,7 +1260,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
TIntermTyped* argOffset = nullptr;
// Offset is optional
if (argAggregate->getSequence().size() == 4)
if (argAggregate->getSequence().size() > 3)
argOffset = argAggregate->getSequence()[3]->getAsTyped();
const TOperator textureOp = (argOffset == nullptr ? EOpTextureGather : EOpTextureGatherOffset);
......@@ -1261,6 +1270,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
txgather->getSequence().push_back(txcombine);
txgather->getSequence().push_back(argCoord);
// Offset if not given is implicitly channel 0 (red)
if (argOffset != nullptr)
txgather->getSequence().push_back(argOffset);
......@@ -1272,6 +1282,131 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
break;
}
case EOpMethodGatherRed: // fall through...
case EOpMethodGatherGreen: // ...
case EOpMethodGatherBlue: // ...
case EOpMethodGatherAlpha: // ...
case EOpMethodGatherCmpRed: // ...
case EOpMethodGatherCmpGreen: // ...
case EOpMethodGatherCmpBlue: // ...
case EOpMethodGatherCmpAlpha: // ...
{
int channel = 0; // the channel we are gathering
int cmpValues = 0; // 1 if there is a compare value (handier than a bool below)
switch (op) {
case EOpMethodGatherCmpRed: cmpValues = 1; // fall through
case EOpMethodGatherRed: channel = 0; break;
case EOpMethodGatherCmpGreen: cmpValues = 1; // fall through
case EOpMethodGatherGreen: channel = 1; break;
case EOpMethodGatherCmpBlue: cmpValues = 1; // fall through
case EOpMethodGatherBlue: channel = 2; break;
case EOpMethodGatherCmpAlpha: cmpValues = 1; // fall through
case EOpMethodGatherAlpha: channel = 3; break;
default: assert(0); break;
}
// For now, we have nothing to map the component-wise comparison forms
// to, because neither GLSL nor SPIR-V has such an opcode. Issue an
// unimplemented error instead. Most of the machinery is here if that
// should ever become available.
if (cmpValues) {
error(loc, "unimplemented: component-level gather compare", "", "");
return;
}
int arg = 0;
TIntermTyped* argTex = argAggregate->getSequence()[arg++]->getAsTyped();
TIntermTyped* argSamp = argAggregate->getSequence()[arg++]->getAsTyped();
TIntermTyped* argCoord = argAggregate->getSequence()[arg++]->getAsTyped();
TIntermTyped* argOffset = nullptr;
TIntermTyped* argOffsets[4] = { nullptr, nullptr, nullptr, nullptr };
// TIntermTyped* argStatus = nullptr; // TODO: residency
TIntermTyped* argCmp = nullptr;
const TSamplerDim dim = argTex->getType().getSampler().dim;
const int argSize = argAggregate->getSequence().size();
bool hasStatus = (argSize == (5+cmpValues) || argSize == (8+cmpValues));
bool hasOffset1 = false;
bool hasOffset4 = false;
// Only 2D forms can have offsets. Discover if we have 0, 1 or 4 offsets.
if (dim == Esd2D) {
hasOffset1 = (argSize == (4+cmpValues) || argSize == (5+cmpValues));
hasOffset4 = (argSize == (7+cmpValues) || argSize == (8+cmpValues));
}
assert(!(hasOffset1 && hasOffset4));
TOperator textureOp = EOpTextureGather;
// Compare forms have compare value
if (cmpValues != 0)
argCmp = argOffset = argAggregate->getSequence()[arg++]->getAsTyped();
// Some forms have single offset
if (hasOffset1) {
textureOp = EOpTextureGatherOffset; // single offset form
argOffset = argAggregate->getSequence()[arg++]->getAsTyped();
}
// Some forms have 4 gather offsets
if (hasOffset4) {
textureOp = EOpTextureGatherOffsets; // note plural, for 4 offset form
for (int offsetNum = 0; offsetNum < 4; ++offsetNum)
argOffsets[offsetNum] = argAggregate->getSequence()[arg++]->getAsTyped();
}
// Residency status
if (hasStatus) {
// argStatus = argAggregate->getSequence()[arg++]->getAsTyped();
error(loc, "unimplemented: residency status", "", "");
return;
}
TIntermAggregate* txgather = new TIntermAggregate(textureOp);
TIntermAggregate* txcombine = handleSamplerTextureCombine(loc, argTex, argSamp);
TIntermTyped* argChannel = intermediate.addConstantUnion(channel, loc, true);
txgather->getSequence().push_back(txcombine);
txgather->getSequence().push_back(argCoord);
// AST wants an array of 4 offsets, where HLSL has separate args. Here
// we construct an array from the separate args.
if (hasOffset4) {
TType arrayType(EbtInt, EvqTemporary, 2);
TArraySizes arraySizes;
arraySizes.addInnerSize(4);
arrayType.newArraySizes(arraySizes);
TIntermAggregate* initList = new TIntermAggregate(EOpNull);
for (int offsetNum = 0; offsetNum < 4; ++offsetNum)
initList->getSequence().push_back(argOffsets[offsetNum]);
argOffset = addConstructor(loc, initList, arrayType);
}
// Add comparison value if we have one
if (argTex->getType().getSampler().isShadow())
txgather->getSequence().push_back(argCmp);
// Add offset (either 1, or an array of 4) if we have one
if (argOffset != nullptr)
txgather->getSequence().push_back(argOffset);
txgather->getSequence().push_back(argChannel);
txgather->setType(node->getType());
txgather->setLoc(loc);
node = txgather;
break;
}
case EOpMethodCalculateLevelOfDetail:
case EOpMethodCalculateLevelOfDetailUnclamped:
{
......
......@@ -101,12 +101,29 @@ bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim
return true;
}
const bool isGather =
(name == "Gather" ||
name == "GatherRed" ||
name == "GatherGreen" ||
name == "GatherBlue" ||
name == "GatherAlpha");
const bool isGatherCmp =
(name == "GatherCmpRed" ||
name == "GatherCmpGreen" ||
name == "GatherCmpBlue" ||
name == "GatherCmpAlpha");
// Reject invalid Gathers
if (name == "Gather") {
if (isGather || isGatherCmp) {
if (dim0 == 1 || dim0 == 3) // there are no 1D or 3D gathers
return true;
if (dim0 == 4 && numArgs == 4) // there are no Cube gathers with offset
return true;
// no offset on cube or cube array gathers
if (dim0 == 4) {
if ((isGather && numArgs > 3) || (isGatherCmp && numArgs > 4))
return true;
}
}
// Reject invalid Loads
......@@ -648,15 +665,14 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
{ "Load", /* +sampleidex*/ "V4", nullptr, "$&,V,S", "FIU,I,I", EShLangAll },
{ "Load", /* +samplindex, offset*/ "V4", nullptr, "$&,V,S,V", "FIU,I,I,I", EShLangAll },
{ "Gather", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangVSPSGS },
{ "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangVSPSGS },
{ "Gather", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll },
{ "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangAll },
{ "CalculateLevelOfDetail", "S", "F", "%@,S,V", "FUI,S,F", EShLangFragmentMask },
{ "CalculateLevelOfDetailUnclamped", "S", "F", "%@,S,V", "FUI,S,F", EShLangFragmentMask },
{ "GetSamplePosition", "V2", "F", "$&2,S", "FUI,I", EShLangVSPSGS },
// table of overloads from: https://msdn.microsoft.com/en-us/library/windows/desktop/bb509693(v=vs.85).aspx
//
// UINT Width
// UINT MipLevel, UINT Width, UINT NumberOfLevels
......@@ -709,10 +725,61 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
// UINT Width, UINT Height, UINT Samples
// UINT Width, UINT Height, UINT Elements, UINT Samples
{ "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll },
{ "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll },
{ "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll },
{ "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll },
{ "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll },
{ "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll },
{ "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll },
{ "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll },
// SM5 texture methods
{ "GatherRed", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll },
{ "GatherRed", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll },
{ "GatherRed", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll },
{ "GatherRed", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll },
{ "GatherRed", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll },
{ "GatherGreen", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll },
{ "GatherGreen", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll },
{ "GatherGreen", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll },
{ "GatherGreen", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll },
{ "GatherGreen", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll },
{ "GatherBlue", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll },
{ "GatherBlue", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll },
{ "GatherBlue", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll },
{ "GatherBlue", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll },
{ "GatherBlue", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll },
{ "GatherAlpha", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll },
{ "GatherAlpha", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll },
{ "GatherAlpha", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll },
{ "GatherAlpha", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll },
{ "GatherAlpha", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll },
{ "GatherCmpRed", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll },
{ "GatherCmpRed", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll },
{ "GatherCmpRed", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll },
{ "GatherCmpRed", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll },
{ "GatherCmpRed", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,V,S","FIU,s,F,,I,,,,U",EShLangAll },
{ "GatherCmpGreen", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll },
{ "GatherCmpGreen", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll },
{ "GatherCmpGreen", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll },
{ "GatherCmpGreen", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll },
{ "GatherCmpGreen", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll },
{ "GatherCmpBlue", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll },
{ "GatherCmpBlue", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll },
{ "GatherCmpBlue", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll },
{ "GatherCmpBlue", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll },
{ "GatherCmpBlue", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll },
{ "GatherCmpAlpha", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll },
{ "GatherCmpAlpha", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll },
{ "GatherCmpAlpha", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll },
{ "GatherCmpAlpha", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll },
{ "GatherCmpAlpha", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll },
// TODO: Cmp forms
// Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet.
{ nullptr, nullptr, nullptr, nullptr, nullptr, 0 },
......@@ -1012,6 +1079,16 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
symbolTable.relateToOperator("Gather", EOpMethodGather);
symbolTable.relateToOperator("CalculateLevelOfDetail", EOpMethodCalculateLevelOfDetail);
symbolTable.relateToOperator("CalculateLevelOfDetailUnclamped", EOpMethodCalculateLevelOfDetailUnclamped);
// SM5 Texture methods
symbolTable.relateToOperator("GatherRed", EOpMethodGatherRed);
symbolTable.relateToOperator("GatherGreen", EOpMethodGatherGreen);
symbolTable.relateToOperator("GatherBlue", EOpMethodGatherBlue);
symbolTable.relateToOperator("GatherAlpha", EOpMethodGatherAlpha);
symbolTable.relateToOperator("GatherCmpRed", EOpMethodGatherCmpRed);
symbolTable.relateToOperator("GatherCmpGreen", EOpMethodGatherCmpGreen);
symbolTable.relateToOperator("GatherCmpBlue", EOpMethodGatherCmpBlue);
symbolTable.relateToOperator("GatherCmpAlpha", EOpMethodGatherCmpAlpha);
}
//
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment