mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms
This commit is contained in:
parent
98a2e92f0c
commit
7dfcf4d1ad
884
Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
Normal file
884
Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
Normal file
@ -0,0 +1,884 @@
|
||||
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
|
910
Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
Normal file
910
Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
Normal file
@ -0,0 +1,910 @@
|
||||
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
|
1148
Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
Normal file
1148
Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
1122
Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
Normal file
1122
Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
71
Test/hlsl.gatherRGBA.array.dx10.frag
Normal file
71
Test/hlsl.gatherRGBA.array.dx10.frag
Normal file
@ -0,0 +1,71 @@
|
||||
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;
|
||||
}
|
77
Test/hlsl.gatherRGBA.basic.dx10.frag
Normal file
77
Test/hlsl.gatherRGBA.basic.dx10.frag
Normal file
@ -0,0 +1,77 @@
|
||||
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;
|
||||
}
|
116
Test/hlsl.gatherRGBA.offset.dx10.frag
Normal file
116
Test/hlsl.gatherRGBA.offset.dx10.frag
Normal file
@ -0,0 +1,116 @@
|
||||
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;
|
||||
}
|
110
Test/hlsl.gatherRGBA.offsetarray.dx10.frag
Normal file
110
Test/hlsl.gatherRGBA.offsetarray.dx10.frag
Normal file
@ -0,0 +1,110 @@
|
||||
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;
|
||||
}
|
70
Test/hlsl.gathercmpRGBA.array.dx10.frag
Normal file
70
Test/hlsl.gathercmpRGBA.array.dx10.frag
Normal file
@ -0,0 +1,70 @@
|
||||
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;
|
||||
}
|
76
Test/hlsl.gathercmpRGBA.basic.dx10.frag
Normal file
76
Test/hlsl.gathercmpRGBA.basic.dx10.frag
Normal file
@ -0,0 +1,76 @@
|
||||
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;
|
||||
}
|
115
Test/hlsl.gathercmpRGBA.offset.dx10.frag
Normal file
115
Test/hlsl.gathercmpRGBA.offset.dx10.frag
Normal file
@ -0,0 +1,115 @@
|
||||
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;
|
||||
}
|
109
Test/hlsl.gathercmpRGBA.offsetarray.dx10.frag
Normal file
109
Test/hlsl.gathercmpRGBA.offsetarray.dx10.frag
Normal file
@ -0,0 +1,109 @@
|
||||
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);
|
||||
}
|
||||
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user