Merge pull request #429 from steve-lunarg/samplers.sm5
HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms
This commit is contained in:
commit
cfc5fbb967
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, // ...
|
EOpMethodGather, // ...
|
||||||
EOpMethodCalculateLevelOfDetail, // ...
|
EOpMethodCalculateLevelOfDetail, // ...
|
||||||
EOpMethodCalculateLevelOfDetailUnclamped, // ...
|
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;
|
class TIntermTraverser;
|
||||||
|
@ -91,6 +91,10 @@ INSTANTIATE_TEST_CASE_P(
|
|||||||
{"hlsl.gather.basic.dx10.vert", "main"},
|
{"hlsl.gather.basic.dx10.vert", "main"},
|
||||||
{"hlsl.gather.offset.dx10.frag", "main"},
|
{"hlsl.gather.offset.dx10.frag", "main"},
|
||||||
{"hlsl.gather.offsetarray.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.frag", "main"},
|
||||||
{"hlsl.getdimensions.dx10.vert", "main"},
|
{"hlsl.getdimensions.dx10.vert", "main"},
|
||||||
{"hlsl.getsampleposition.dx10.frag", "main"},
|
{"hlsl.getsampleposition.dx10.frag", "main"},
|
||||||
|
@ -581,6 +581,15 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt
|
|||||||
} else if (field == "CalculateLevelOfDetail" ||
|
} else if (field == "CalculateLevelOfDetail" ||
|
||||||
field == "CalculateLevelOfDetailUnclamped" ||
|
field == "CalculateLevelOfDetailUnclamped" ||
|
||||||
field == "Gather" ||
|
field == "Gather" ||
|
||||||
|
field == "GatherRed" ||
|
||||||
|
field == "GatherGreen" ||
|
||||||
|
field == "GatherBlue" ||
|
||||||
|
field == "GatherAlpha" ||
|
||||||
|
field == "GatherCmp" ||
|
||||||
|
field == "GatherCmpRed" ||
|
||||||
|
field == "GatherCmpGreen" ||
|
||||||
|
field == "GatherCmpBlue" ||
|
||||||
|
field == "GatherCmpAlpha" ||
|
||||||
field == "GetDimensions" ||
|
field == "GetDimensions" ||
|
||||||
field == "GetSamplePosition" ||
|
field == "GetSamplePosition" ||
|
||||||
field == "Load" ||
|
field == "Load" ||
|
||||||
@ -1251,7 +1260,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
|
|||||||
TIntermTyped* argOffset = nullptr;
|
TIntermTyped* argOffset = nullptr;
|
||||||
|
|
||||||
// Offset is optional
|
// Offset is optional
|
||||||
if (argAggregate->getSequence().size() == 4)
|
if (argAggregate->getSequence().size() > 3)
|
||||||
argOffset = argAggregate->getSequence()[3]->getAsTyped();
|
argOffset = argAggregate->getSequence()[3]->getAsTyped();
|
||||||
|
|
||||||
const TOperator textureOp = (argOffset == nullptr ? EOpTextureGather : EOpTextureGatherOffset);
|
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(txcombine);
|
||||||
txgather->getSequence().push_back(argCoord);
|
txgather->getSequence().push_back(argCoord);
|
||||||
|
// Offset if not given is implicitly channel 0 (red)
|
||||||
|
|
||||||
if (argOffset != nullptr)
|
if (argOffset != nullptr)
|
||||||
txgather->getSequence().push_back(argOffset);
|
txgather->getSequence().push_back(argOffset);
|
||||||
@ -1272,6 +1282,131 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
|
|||||||
break;
|
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 EOpMethodCalculateLevelOfDetail:
|
||||||
case EOpMethodCalculateLevelOfDetailUnclamped:
|
case EOpMethodCalculateLevelOfDetailUnclamped:
|
||||||
{
|
{
|
||||||
|
@ -101,13 +101,30 @@ bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim
|
|||||||
return true;
|
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
|
// Reject invalid Gathers
|
||||||
if (name == "Gather") {
|
if (isGather || isGatherCmp) {
|
||||||
if (dim0 == 1 || dim0 == 3) // there are no 1D or 3D gathers
|
if (dim0 == 1 || dim0 == 3) // there are no 1D or 3D gathers
|
||||||
return true;
|
return true;
|
||||||
if (dim0 == 4 && numArgs == 4) // there are no Cube gathers with offset
|
|
||||||
|
// no offset on cube or cube array gathers
|
||||||
|
if (dim0 == 4) {
|
||||||
|
if ((isGather && numArgs > 3) || (isGatherCmp && numArgs > 4))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Reject invalid Loads
|
// Reject invalid Loads
|
||||||
if (name == "Load" && dim0 == 4)
|
if (name == "Load" && dim0 == 4)
|
||||||
@ -648,15 +665,14 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
|
|||||||
{ "Load", /* +sampleidex*/ "V4", nullptr, "$&,V,S", "FIU,I,I", EShLangAll },
|
{ "Load", /* +sampleidex*/ "V4", nullptr, "$&,V,S", "FIU,I,I", EShLangAll },
|
||||||
{ "Load", /* +samplindex, offset*/ "V4", nullptr, "$&,V,S,V", "FIU,I,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", "FIU,S,F", EShLangAll },
|
||||||
{ "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangVSPSGS },
|
{ "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangAll },
|
||||||
|
|
||||||
{ "CalculateLevelOfDetail", "S", "F", "%@,S,V", "FUI,S,F", EShLangFragmentMask },
|
{ "CalculateLevelOfDetail", "S", "F", "%@,S,V", "FUI,S,F", EShLangFragmentMask },
|
||||||
{ "CalculateLevelOfDetailUnclamped", "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 },
|
{ "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 Width
|
||||||
// UINT MipLevel, UINT Width, UINT NumberOfLevels
|
// UINT MipLevel, UINT Width, UINT NumberOfLevels
|
||||||
@ -714,6 +730,57 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
|
|||||||
{ "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll },
|
{ "GetDimensions", /* 2DMSArray */ "-", "-", "&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.
|
// 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 },
|
{ nullptr, nullptr, nullptr, nullptr, nullptr, 0 },
|
||||||
};
|
};
|
||||||
@ -1012,6 +1079,16 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
|
|||||||
symbolTable.relateToOperator("Gather", EOpMethodGather);
|
symbolTable.relateToOperator("Gather", EOpMethodGather);
|
||||||
symbolTable.relateToOperator("CalculateLevelOfDetail", EOpMethodCalculateLevelOfDetail);
|
symbolTable.relateToOperator("CalculateLevelOfDetail", EOpMethodCalculateLevelOfDetail);
|
||||||
symbolTable.relateToOperator("CalculateLevelOfDetailUnclamped", EOpMethodCalculateLevelOfDetailUnclamped);
|
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…
x
Reference in New Issue
Block a user