diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out new file mode 100644 index 00000000..c1556b44 --- /dev/null +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -0,0 +1,2595 @@ +hlsl.getdimensions.dx10.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:238 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Function Parameters: +0:? Sequence +0:57 Sequence +0:57 move second child to first child (temp uint) +0:57 'sizeQueryTemp' (temp uint) +0:57 textureSize (temp uint) +0:57 'g_tTex1df4' (uniform texture1D) +0:57 move second child to first child (temp uint) +0:57 'WidthU' (temp uint) +0:57 'sizeQueryTemp' (temp uint) +0:58 Sequence +0:58 move second child to first child (temp uint) +0:58 'sizeQueryTemp' (temp uint) +0:58 textureSize (temp uint) +0:58 'g_tTex1df4' (uniform texture1D) +0:58 Constant: +0:58 6 (const uint) +0:58 move second child to first child (temp uint) +0:58 'WidthU' (temp uint) +0:58 'sizeQueryTemp' (temp uint) +0:58 move second child to first child (temp uint) +0:58 'NumberOfLevelsU' (temp uint) +0:58 textureQueryLevels (temp uint) +0:58 'g_tTex1df4' (uniform texture1D) +0:61 Sequence +0:61 move second child to first child (temp uint) +0:61 'sizeQueryTemp' (temp uint) +0:61 textureSize (temp uint) +0:61 'g_tTex1di4' (uniform itexture1D) +0:61 move second child to first child (temp uint) +0:61 'WidthU' (temp uint) +0:61 'sizeQueryTemp' (temp uint) +0:62 Sequence +0:62 move second child to first child (temp uint) +0:62 'sizeQueryTemp' (temp uint) +0:62 textureSize (temp uint) +0:62 'g_tTex1di4' (uniform itexture1D) +0:62 Constant: +0:62 6 (const uint) +0:62 move second child to first child (temp uint) +0:62 'WidthU' (temp uint) +0:62 'sizeQueryTemp' (temp uint) +0:62 move second child to first child (temp uint) +0:62 'NumberOfLevelsU' (temp uint) +0:62 textureQueryLevels (temp uint) +0:62 'g_tTex1di4' (uniform itexture1D) +0:65 Sequence +0:65 move second child to first child (temp uint) +0:65 'sizeQueryTemp' (temp uint) +0:65 textureSize (temp uint) +0:65 'g_tTex1du4' (uniform utexture1D) +0:65 move second child to first child (temp uint) +0:65 'WidthU' (temp uint) +0:65 'sizeQueryTemp' (temp uint) +0:66 Sequence +0:66 move second child to first child (temp uint) +0:66 'sizeQueryTemp' (temp uint) +0:66 textureSize (temp uint) +0:66 'g_tTex1du4' (uniform utexture1D) +0:66 Constant: +0:66 6 (const uint) +0:66 move second child to first child (temp uint) +0:66 'WidthU' (temp uint) +0:66 'sizeQueryTemp' (temp uint) +0:66 move second child to first child (temp uint) +0:66 'NumberOfLevelsU' (temp uint) +0:66 textureQueryLevels (temp uint) +0:66 'g_tTex1du4' (uniform utexture1D) +0:69 Sequence +0:69 move second child to first child (temp 2-component vector of uint) +0:69 'sizeQueryTemp' (temp 2-component vector of uint) +0:69 textureSize (temp 2-component vector of uint) +0:69 'g_tTex1df4a' (uniform texture1DArray) +0:69 move second child to first child (temp uint) +0:69 'WidthU' (temp uint) +0:69 direct index (temp uint) +0:69 'sizeQueryTemp' (temp 2-component vector of uint) +0:69 Constant: +0:69 0 (const int) +0:69 move second child to first child (temp uint) +0:69 'ElementsU' (temp uint) +0:69 direct index (temp uint) +0:69 'sizeQueryTemp' (temp 2-component vector of uint) +0:69 Constant: +0:69 1 (const int) +0:70 Sequence +0:70 move second child to first child (temp 2-component vector of uint) +0:70 'sizeQueryTemp' (temp 2-component vector of uint) +0:70 textureSize (temp 2-component vector of uint) +0:70 'g_tTex1df4a' (uniform texture1DArray) +0:70 Constant: +0:70 6 (const uint) +0:70 move second child to first child (temp uint) +0:70 'WidthU' (temp uint) +0:70 direct index (temp uint) +0:70 'sizeQueryTemp' (temp 2-component vector of uint) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child (temp uint) +0:70 'ElementsU' (temp uint) +0:70 direct index (temp uint) +0:70 'sizeQueryTemp' (temp 2-component vector of uint) +0:70 Constant: +0:70 1 (const int) +0:70 move second child to first child (temp uint) +0:70 'NumberOfLevelsU' (temp uint) +0:70 textureQueryLevels (temp uint) +0:70 'g_tTex1df4a' (uniform texture1DArray) +0:73 Sequence +0:73 move second child to first child (temp 2-component vector of uint) +0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 textureSize (temp 2-component vector of uint) +0:73 'g_tTex1di4a' (uniform itexture1DArray) +0:73 move second child to first child (temp uint) +0:73 'WidthU' (temp uint) +0:73 direct index (temp uint) +0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 Constant: +0:73 0 (const int) +0:73 move second child to first child (temp uint) +0:73 'ElementsU' (temp uint) +0:73 direct index (temp uint) +0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 Constant: +0:73 1 (const int) +0:74 Sequence +0:74 move second child to first child (temp 2-component vector of uint) +0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 textureSize (temp 2-component vector of uint) +0:74 'g_tTex1di4a' (uniform itexture1DArray) +0:74 Constant: +0:74 6 (const uint) +0:74 move second child to first child (temp uint) +0:74 'WidthU' (temp uint) +0:74 direct index (temp uint) +0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 Constant: +0:74 0 (const int) +0:74 move second child to first child (temp uint) +0:74 'ElementsU' (temp uint) +0:74 direct index (temp uint) +0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 Constant: +0:74 1 (const int) +0:74 move second child to first child (temp uint) +0:74 'NumberOfLevelsU' (temp uint) +0:74 textureQueryLevels (temp uint) +0:74 'g_tTex1di4a' (uniform itexture1DArray) +0:77 Sequence +0:77 move second child to first child (temp 2-component vector of uint) +0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 textureSize (temp 2-component vector of uint) +0:77 'g_tTex1du4a' (uniform utexture1DArray) +0:77 move second child to first child (temp uint) +0:77 'WidthU' (temp uint) +0:77 direct index (temp uint) +0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 Constant: +0:77 0 (const int) +0:77 move second child to first child (temp uint) +0:77 'ElementsU' (temp uint) +0:77 direct index (temp uint) +0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 Constant: +0:77 1 (const int) +0:78 Sequence +0:78 move second child to first child (temp 2-component vector of uint) +0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 textureSize (temp 2-component vector of uint) +0:78 'g_tTex1du4a' (uniform utexture1DArray) +0:78 Constant: +0:78 6 (const uint) +0:78 move second child to first child (temp uint) +0:78 'WidthU' (temp uint) +0:78 direct index (temp uint) +0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 Constant: +0:78 0 (const int) +0:78 move second child to first child (temp uint) +0:78 'ElementsU' (temp uint) +0:78 direct index (temp uint) +0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 Constant: +0:78 1 (const int) +0:78 move second child to first child (temp uint) +0:78 'NumberOfLevelsU' (temp uint) +0:78 textureQueryLevels (temp uint) +0:78 'g_tTex1du4a' (uniform utexture1DArray) +0:81 Sequence +0:81 move second child to first child (temp 2-component vector of uint) +0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 textureSize (temp 2-component vector of uint) +0:81 'g_tTex2df4' (uniform texture2D) +0:81 move second child to first child (temp uint) +0:81 'WidthU' (temp uint) +0:81 direct index (temp uint) +0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 Constant: +0:81 0 (const int) +0:81 move second child to first child (temp uint) +0:81 'HeightU' (temp uint) +0:81 direct index (temp uint) +0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 Constant: +0:81 1 (const int) +0:82 Sequence +0:82 move second child to first child (temp 2-component vector of uint) +0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 textureSize (temp 2-component vector of uint) +0:82 'g_tTex2df4' (uniform texture2D) +0:82 Constant: +0:82 6 (const uint) +0:82 move second child to first child (temp uint) +0:82 'WidthU' (temp uint) +0:82 direct index (temp uint) +0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 Constant: +0:82 0 (const int) +0:82 move second child to first child (temp uint) +0:82 'HeightU' (temp uint) +0:82 direct index (temp uint) +0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 Constant: +0:82 1 (const int) +0:82 move second child to first child (temp uint) +0:82 'NumberOfLevelsU' (temp uint) +0:82 textureQueryLevels (temp uint) +0:82 'g_tTex2df4' (uniform texture2D) +0:85 Sequence +0:85 move second child to first child (temp 2-component vector of uint) +0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 textureSize (temp 2-component vector of uint) +0:85 'g_tTex2di4' (uniform itexture2D) +0:85 move second child to first child (temp uint) +0:85 'WidthU' (temp uint) +0:85 direct index (temp uint) +0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 Constant: +0:85 0 (const int) +0:85 move second child to first child (temp uint) +0:85 'HeightU' (temp uint) +0:85 direct index (temp uint) +0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 Constant: +0:85 1 (const int) +0:86 Sequence +0:86 move second child to first child (temp 2-component vector of uint) +0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 textureSize (temp 2-component vector of uint) +0:86 'g_tTex2di4' (uniform itexture2D) +0:86 Constant: +0:86 6 (const uint) +0:86 move second child to first child (temp uint) +0:86 'WidthU' (temp uint) +0:86 direct index (temp uint) +0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 Constant: +0:86 0 (const int) +0:86 move second child to first child (temp uint) +0:86 'HeightU' (temp uint) +0:86 direct index (temp uint) +0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 Constant: +0:86 1 (const int) +0:86 move second child to first child (temp uint) +0:86 'NumberOfLevelsU' (temp uint) +0:86 textureQueryLevels (temp uint) +0:86 'g_tTex2di4' (uniform itexture2D) +0:89 Sequence +0:89 move second child to first child (temp 2-component vector of uint) +0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 textureSize (temp 2-component vector of uint) +0:89 'g_tTex2du4' (uniform utexture2D) +0:89 move second child to first child (temp uint) +0:89 'WidthU' (temp uint) +0:89 direct index (temp uint) +0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 Constant: +0:89 0 (const int) +0:89 move second child to first child (temp uint) +0:89 'HeightU' (temp uint) +0:89 direct index (temp uint) +0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 Constant: +0:89 1 (const int) +0:90 Sequence +0:90 move second child to first child (temp 2-component vector of uint) +0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 textureSize (temp 2-component vector of uint) +0:90 'g_tTex2du4' (uniform utexture2D) +0:90 Constant: +0:90 6 (const uint) +0:90 move second child to first child (temp uint) +0:90 'WidthU' (temp uint) +0:90 direct index (temp uint) +0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 Constant: +0:90 0 (const int) +0:90 move second child to first child (temp uint) +0:90 'HeightU' (temp uint) +0:90 direct index (temp uint) +0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 Constant: +0:90 1 (const int) +0:90 move second child to first child (temp uint) +0:90 'NumberOfLevelsU' (temp uint) +0:90 textureQueryLevels (temp uint) +0:90 'g_tTex2du4' (uniform utexture2D) +0:93 Sequence +0:93 move second child to first child (temp 3-component vector of uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 textureSize (temp 3-component vector of uint) +0:93 'g_tTex2df4a' (uniform texture2DArray) +0:93 move second child to first child (temp uint) +0:93 'WidthU' (temp uint) +0:93 direct index (temp uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 Constant: +0:93 0 (const int) +0:93 move second child to first child (temp uint) +0:93 'HeightU' (temp uint) +0:93 direct index (temp uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 Constant: +0:93 1 (const int) +0:93 move second child to first child (temp uint) +0:93 'ElementsU' (temp uint) +0:93 direct index (temp uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 Constant: +0:93 2 (const int) +0:94 Sequence +0:94 move second child to first child (temp 3-component vector of uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 textureSize (temp 3-component vector of uint) +0:94 'g_tTex2df4a' (uniform texture2DArray) +0:94 Constant: +0:94 6 (const uint) +0:94 move second child to first child (temp uint) +0:94 'WidthU' (temp uint) +0:94 direct index (temp uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 Constant: +0:94 0 (const int) +0:94 move second child to first child (temp uint) +0:94 'HeightU' (temp uint) +0:94 direct index (temp uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 Constant: +0:94 1 (const int) +0:94 move second child to first child (temp uint) +0:94 'ElementsU' (temp uint) +0:94 direct index (temp uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 Constant: +0:94 2 (const int) +0:94 move second child to first child (temp uint) +0:94 'NumberOfLevelsU' (temp uint) +0:94 textureQueryLevels (temp uint) +0:94 'g_tTex2df4a' (uniform texture2DArray) +0:97 Sequence +0:97 move second child to first child (temp 3-component vector of uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 textureSize (temp 3-component vector of uint) +0:97 'g_tTex2di4a' (uniform itexture2DArray) +0:97 move second child to first child (temp uint) +0:97 'WidthU' (temp uint) +0:97 direct index (temp uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 Constant: +0:97 0 (const int) +0:97 move second child to first child (temp uint) +0:97 'HeightU' (temp uint) +0:97 direct index (temp uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 Constant: +0:97 1 (const int) +0:97 move second child to first child (temp uint) +0:97 'ElementsU' (temp uint) +0:97 direct index (temp uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 Constant: +0:97 2 (const int) +0:98 Sequence +0:98 move second child to first child (temp 3-component vector of uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 textureSize (temp 3-component vector of uint) +0:98 'g_tTex2di4a' (uniform itexture2DArray) +0:98 Constant: +0:98 6 (const uint) +0:98 move second child to first child (temp uint) +0:98 'WidthU' (temp uint) +0:98 direct index (temp uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 Constant: +0:98 0 (const int) +0:98 move second child to first child (temp uint) +0:98 'HeightU' (temp uint) +0:98 direct index (temp uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 Constant: +0:98 1 (const int) +0:98 move second child to first child (temp uint) +0:98 'ElementsU' (temp uint) +0:98 direct index (temp uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 Constant: +0:98 2 (const int) +0:98 move second child to first child (temp uint) +0:98 'NumberOfLevelsU' (temp uint) +0:98 textureQueryLevels (temp uint) +0:98 'g_tTex2di4a' (uniform itexture2DArray) +0:101 Sequence +0:101 move second child to first child (temp 3-component vector of uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 textureSize (temp 3-component vector of uint) +0:101 'g_tTex2du4a' (uniform utexture2DArray) +0:101 move second child to first child (temp uint) +0:101 'WidthU' (temp uint) +0:101 direct index (temp uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 Constant: +0:101 0 (const int) +0:101 move second child to first child (temp uint) +0:101 'HeightU' (temp uint) +0:101 direct index (temp uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 Constant: +0:101 1 (const int) +0:101 move second child to first child (temp uint) +0:101 'ElementsU' (temp uint) +0:101 direct index (temp uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 Constant: +0:101 2 (const int) +0:102 Sequence +0:102 move second child to first child (temp 3-component vector of uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 textureSize (temp 3-component vector of uint) +0:102 'g_tTex2du4a' (uniform utexture2DArray) +0:102 Constant: +0:102 6 (const uint) +0:102 move second child to first child (temp uint) +0:102 'WidthU' (temp uint) +0:102 direct index (temp uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 Constant: +0:102 0 (const int) +0:102 move second child to first child (temp uint) +0:102 'HeightU' (temp uint) +0:102 direct index (temp uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 Constant: +0:102 1 (const int) +0:102 move second child to first child (temp uint) +0:102 'ElementsU' (temp uint) +0:102 direct index (temp uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 Constant: +0:102 2 (const int) +0:102 move second child to first child (temp uint) +0:102 'NumberOfLevelsU' (temp uint) +0:102 textureQueryLevels (temp uint) +0:102 'g_tTex2du4a' (uniform utexture2DArray) +0:105 Sequence +0:105 move second child to first child (temp 3-component vector of uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 textureSize (temp 3-component vector of uint) +0:105 'g_tTex3df4' (uniform texture3D) +0:105 move second child to first child (temp uint) +0:105 'WidthU' (temp uint) +0:105 direct index (temp uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 Constant: +0:105 0 (const int) +0:105 move second child to first child (temp uint) +0:105 'HeightU' (temp uint) +0:105 direct index (temp uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 Constant: +0:105 1 (const int) +0:105 move second child to first child (temp uint) +0:105 'DepthU' (temp uint) +0:105 direct index (temp uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 Constant: +0:105 2 (const int) +0:106 Sequence +0:106 move second child to first child (temp 3-component vector of uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 textureSize (temp 3-component vector of uint) +0:106 'g_tTex3df4' (uniform texture3D) +0:106 Constant: +0:106 6 (const uint) +0:106 move second child to first child (temp uint) +0:106 'WidthU' (temp uint) +0:106 direct index (temp uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 Constant: +0:106 0 (const int) +0:106 move second child to first child (temp uint) +0:106 'HeightU' (temp uint) +0:106 direct index (temp uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 Constant: +0:106 1 (const int) +0:106 move second child to first child (temp uint) +0:106 'DepthU' (temp uint) +0:106 direct index (temp uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 Constant: +0:106 2 (const int) +0:106 move second child to first child (temp uint) +0:106 'NumberOfLevelsU' (temp uint) +0:106 textureQueryLevels (temp uint) +0:106 'g_tTex3df4' (uniform texture3D) +0:109 Sequence +0:109 move second child to first child (temp 3-component vector of uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 textureSize (temp 3-component vector of uint) +0:109 'g_tTex3di4' (uniform itexture3D) +0:109 move second child to first child (temp uint) +0:109 'WidthU' (temp uint) +0:109 direct index (temp uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 Constant: +0:109 0 (const int) +0:109 move second child to first child (temp uint) +0:109 'HeightU' (temp uint) +0:109 direct index (temp uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 Constant: +0:109 1 (const int) +0:109 move second child to first child (temp uint) +0:109 'DepthU' (temp uint) +0:109 direct index (temp uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 Constant: +0:109 2 (const int) +0:110 Sequence +0:110 move second child to first child (temp 3-component vector of uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 textureSize (temp 3-component vector of uint) +0:110 'g_tTex3di4' (uniform itexture3D) +0:110 Constant: +0:110 6 (const uint) +0:110 move second child to first child (temp uint) +0:110 'WidthU' (temp uint) +0:110 direct index (temp uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 Constant: +0:110 0 (const int) +0:110 move second child to first child (temp uint) +0:110 'HeightU' (temp uint) +0:110 direct index (temp uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 Constant: +0:110 1 (const int) +0:110 move second child to first child (temp uint) +0:110 'DepthU' (temp uint) +0:110 direct index (temp uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 Constant: +0:110 2 (const int) +0:110 move second child to first child (temp uint) +0:110 'NumberOfLevelsU' (temp uint) +0:110 textureQueryLevels (temp uint) +0:110 'g_tTex3di4' (uniform itexture3D) +0:113 Sequence +0:113 move second child to first child (temp 3-component vector of uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 textureSize (temp 3-component vector of uint) +0:113 'g_tTex3du4' (uniform utexture3D) +0:113 move second child to first child (temp uint) +0:113 'WidthU' (temp uint) +0:113 direct index (temp uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 Constant: +0:113 0 (const int) +0:113 move second child to first child (temp uint) +0:113 'HeightU' (temp uint) +0:113 direct index (temp uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 Constant: +0:113 1 (const int) +0:113 move second child to first child (temp uint) +0:113 'DepthU' (temp uint) +0:113 direct index (temp uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 Constant: +0:113 2 (const int) +0:114 Sequence +0:114 move second child to first child (temp 3-component vector of uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 textureSize (temp 3-component vector of uint) +0:114 'g_tTex3du4' (uniform utexture3D) +0:114 Constant: +0:114 6 (const uint) +0:114 move second child to first child (temp uint) +0:114 'WidthU' (temp uint) +0:114 direct index (temp uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 Constant: +0:114 0 (const int) +0:114 move second child to first child (temp uint) +0:114 'HeightU' (temp uint) +0:114 direct index (temp uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 Constant: +0:114 1 (const int) +0:114 move second child to first child (temp uint) +0:114 'DepthU' (temp uint) +0:114 direct index (temp uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 Constant: +0:114 2 (const int) +0:114 move second child to first child (temp uint) +0:114 'NumberOfLevelsU' (temp uint) +0:114 textureQueryLevels (temp uint) +0:114 'g_tTex3du4' (uniform utexture3D) +0:117 Sequence +0:117 move second child to first child (temp 2-component vector of uint) +0:117 'sizeQueryTemp' (temp 2-component vector of uint) +0:117 textureSize (temp 2-component vector of uint) +0:117 'g_tTexcdf4' (uniform textureCube) +0:117 move second child to first child (temp uint) +0:117 'WidthU' (temp uint) +0:117 direct index (temp uint) +0:117 'sizeQueryTemp' (temp 2-component vector of uint) +0:117 Constant: +0:117 0 (const int) +0:117 move second child to first child (temp uint) +0:117 'HeightU' (temp uint) +0:117 direct index (temp uint) +0:117 'sizeQueryTemp' (temp 2-component vector of uint) +0:117 Constant: +0:117 1 (const int) +0:118 Sequence +0:118 move second child to first child (temp 2-component vector of uint) +0:118 'sizeQueryTemp' (temp 2-component vector of uint) +0:118 textureSize (temp 2-component vector of uint) +0:118 'g_tTexcdf4' (uniform textureCube) +0:118 Constant: +0:118 6 (const uint) +0:118 move second child to first child (temp uint) +0:118 'WidthU' (temp uint) +0:118 direct index (temp uint) +0:118 'sizeQueryTemp' (temp 2-component vector of uint) +0:118 Constant: +0:118 0 (const int) +0:118 move second child to first child (temp uint) +0:118 'HeightU' (temp uint) +0:118 direct index (temp uint) +0:118 'sizeQueryTemp' (temp 2-component vector of uint) +0:118 Constant: +0:118 1 (const int) +0:118 move second child to first child (temp uint) +0:118 'NumberOfLevelsU' (temp uint) +0:118 textureQueryLevels (temp uint) +0:118 'g_tTexcdf4' (uniform textureCube) +0:121 Sequence +0:121 move second child to first child (temp 2-component vector of uint) +0:121 'sizeQueryTemp' (temp 2-component vector of uint) +0:121 textureSize (temp 2-component vector of uint) +0:121 'g_tTexcdi4' (uniform itextureCube) +0:121 move second child to first child (temp uint) +0:121 'WidthU' (temp uint) +0:121 direct index (temp uint) +0:121 'sizeQueryTemp' (temp 2-component vector of uint) +0:121 Constant: +0:121 0 (const int) +0:121 move second child to first child (temp uint) +0:121 'HeightU' (temp uint) +0:121 direct index (temp uint) +0:121 'sizeQueryTemp' (temp 2-component vector of uint) +0:121 Constant: +0:121 1 (const int) +0:122 Sequence +0:122 move second child to first child (temp 2-component vector of uint) +0:122 'sizeQueryTemp' (temp 2-component vector of uint) +0:122 textureSize (temp 2-component vector of uint) +0:122 'g_tTexcdi4' (uniform itextureCube) +0:122 Constant: +0:122 6 (const uint) +0:122 move second child to first child (temp uint) +0:122 'WidthU' (temp uint) +0:122 direct index (temp uint) +0:122 'sizeQueryTemp' (temp 2-component vector of uint) +0:122 Constant: +0:122 0 (const int) +0:122 move second child to first child (temp uint) +0:122 'HeightU' (temp uint) +0:122 direct index (temp uint) +0:122 'sizeQueryTemp' (temp 2-component vector of uint) +0:122 Constant: +0:122 1 (const int) +0:122 move second child to first child (temp uint) +0:122 'NumberOfLevelsU' (temp uint) +0:122 textureQueryLevels (temp uint) +0:122 'g_tTexcdi4' (uniform itextureCube) +0:125 Sequence +0:125 move second child to first child (temp 2-component vector of uint) +0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 textureSize (temp 2-component vector of uint) +0:125 'g_tTexcdu4' (uniform utextureCube) +0:125 move second child to first child (temp uint) +0:125 'WidthU' (temp uint) +0:125 direct index (temp uint) +0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 Constant: +0:125 0 (const int) +0:125 move second child to first child (temp uint) +0:125 'HeightU' (temp uint) +0:125 direct index (temp uint) +0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 Constant: +0:125 1 (const int) +0:126 Sequence +0:126 move second child to first child (temp 2-component vector of uint) +0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 textureSize (temp 2-component vector of uint) +0:126 'g_tTexcdu4' (uniform utextureCube) +0:126 Constant: +0:126 6 (const uint) +0:126 move second child to first child (temp uint) +0:126 'WidthU' (temp uint) +0:126 direct index (temp uint) +0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 Constant: +0:126 0 (const int) +0:126 move second child to first child (temp uint) +0:126 'HeightU' (temp uint) +0:126 direct index (temp uint) +0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 Constant: +0:126 1 (const int) +0:126 move second child to first child (temp uint) +0:126 'NumberOfLevelsU' (temp uint) +0:126 textureQueryLevels (temp uint) +0:126 'g_tTexcdu4' (uniform utextureCube) +0:129 Sequence +0:129 move second child to first child (temp 3-component vector of uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 textureSize (temp 3-component vector of uint) +0:129 'g_tTexcdf4a' (uniform textureCubeArray) +0:129 move second child to first child (temp uint) +0:129 'WidthU' (temp uint) +0:129 direct index (temp uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 Constant: +0:129 0 (const int) +0:129 move second child to first child (temp uint) +0:129 'HeightU' (temp uint) +0:129 direct index (temp uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 Constant: +0:129 1 (const int) +0:129 move second child to first child (temp uint) +0:129 'ElementsU' (temp uint) +0:129 direct index (temp uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 Constant: +0:129 2 (const int) +0:130 Sequence +0:130 move second child to first child (temp 3-component vector of uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 textureSize (temp 3-component vector of uint) +0:130 'g_tTexcdf4a' (uniform textureCubeArray) +0:130 Constant: +0:130 6 (const uint) +0:130 move second child to first child (temp uint) +0:130 'WidthU' (temp uint) +0:130 direct index (temp uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 Constant: +0:130 0 (const int) +0:130 move second child to first child (temp uint) +0:130 'HeightU' (temp uint) +0:130 direct index (temp uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 Constant: +0:130 1 (const int) +0:130 move second child to first child (temp uint) +0:130 'ElementsU' (temp uint) +0:130 direct index (temp uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 Constant: +0:130 2 (const int) +0:130 move second child to first child (temp uint) +0:130 'NumberOfLevelsU' (temp uint) +0:130 textureQueryLevels (temp uint) +0:130 'g_tTexcdf4a' (uniform textureCubeArray) +0:133 Sequence +0:133 move second child to first child (temp 3-component vector of uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 textureSize (temp 3-component vector of uint) +0:133 'g_tTexcdi4a' (uniform itextureCubeArray) +0:133 move second child to first child (temp uint) +0:133 'WidthU' (temp uint) +0:133 direct index (temp uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 Constant: +0:133 0 (const int) +0:133 move second child to first child (temp uint) +0:133 'HeightU' (temp uint) +0:133 direct index (temp uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 Constant: +0:133 1 (const int) +0:133 move second child to first child (temp uint) +0:133 'ElementsU' (temp uint) +0:133 direct index (temp uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 Constant: +0:133 2 (const int) +0:134 Sequence +0:134 move second child to first child (temp 3-component vector of uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 textureSize (temp 3-component vector of uint) +0:134 'g_tTexcdi4a' (uniform itextureCubeArray) +0:134 Constant: +0:134 6 (const uint) +0:134 move second child to first child (temp uint) +0:134 'WidthU' (temp uint) +0:134 direct index (temp uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 Constant: +0:134 0 (const int) +0:134 move second child to first child (temp uint) +0:134 'HeightU' (temp uint) +0:134 direct index (temp uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 Constant: +0:134 1 (const int) +0:134 move second child to first child (temp uint) +0:134 'ElementsU' (temp uint) +0:134 direct index (temp uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 Constant: +0:134 2 (const int) +0:134 move second child to first child (temp uint) +0:134 'NumberOfLevelsU' (temp uint) +0:134 textureQueryLevels (temp uint) +0:134 'g_tTexcdi4a' (uniform itextureCubeArray) +0:137 Sequence +0:137 move second child to first child (temp 3-component vector of uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 textureSize (temp 3-component vector of uint) +0:137 'g_tTexcdu4a' (uniform utextureCubeArray) +0:137 move second child to first child (temp uint) +0:137 'WidthU' (temp uint) +0:137 direct index (temp uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 Constant: +0:137 0 (const int) +0:137 move second child to first child (temp uint) +0:137 'HeightU' (temp uint) +0:137 direct index (temp uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 Constant: +0:137 1 (const int) +0:137 move second child to first child (temp uint) +0:137 'ElementsU' (temp uint) +0:137 direct index (temp uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 Constant: +0:137 2 (const int) +0:138 Sequence +0:138 move second child to first child (temp 3-component vector of uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 textureSize (temp 3-component vector of uint) +0:138 'g_tTexcdu4a' (uniform utextureCubeArray) +0:138 Constant: +0:138 6 (const uint) +0:138 move second child to first child (temp uint) +0:138 'WidthU' (temp uint) +0:138 direct index (temp uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 Constant: +0:138 0 (const int) +0:138 move second child to first child (temp uint) +0:138 'HeightU' (temp uint) +0:138 direct index (temp uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 Constant: +0:138 1 (const int) +0:138 move second child to first child (temp uint) +0:138 'ElementsU' (temp uint) +0:138 direct index (temp uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 Constant: +0:138 2 (const int) +0:138 move second child to first child (temp uint) +0:138 'NumberOfLevelsU' (temp uint) +0:138 textureQueryLevels (temp uint) +0:138 'g_tTexcdu4a' (uniform utextureCubeArray) +0:234 move second child to first child (temp float) +0:234 Depth: direct index for structure (temp float FragDepth) +0:234 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:234 Constant: +0:234 1 (const int) +0:234 Constant: +0:234 1.000000 +0:236 Branch: Return with expression +0:236 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Linker Objects +0:? 'g_sSamp' (uniform sampler) +0:? 'g_tTex1df4' (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:? 'g_tTex1df4a' (uniform texture1DArray) +0:? 'g_tTex1di4a' (uniform itexture1DArray) +0:? 'g_tTex1du4a' (uniform utexture1DArray) +0:? 'g_tTex2df4a' (uniform texture2DArray) +0:? 'g_tTex2di4a' (uniform itexture2DArray) +0:? 'g_tTex2du4a' (uniform utexture2DArray) +0:? 'g_tTexcdf4a' (uniform textureCubeArray) +0:? 'g_tTexcdi4a' (uniform itextureCubeArray) +0:? 'g_tTexcdu4a' (uniform utextureCubeArray) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:238 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Function Parameters: +0:? Sequence +0:57 Sequence +0:57 move second child to first child (temp uint) +0:57 'sizeQueryTemp' (temp uint) +0:57 textureSize (temp uint) +0:57 'g_tTex1df4' (uniform texture1D) +0:57 move second child to first child (temp uint) +0:57 'WidthU' (temp uint) +0:57 'sizeQueryTemp' (temp uint) +0:58 Sequence +0:58 move second child to first child (temp uint) +0:58 'sizeQueryTemp' (temp uint) +0:58 textureSize (temp uint) +0:58 'g_tTex1df4' (uniform texture1D) +0:58 Constant: +0:58 6 (const uint) +0:58 move second child to first child (temp uint) +0:58 'WidthU' (temp uint) +0:58 'sizeQueryTemp' (temp uint) +0:58 move second child to first child (temp uint) +0:58 'NumberOfLevelsU' (temp uint) +0:58 textureQueryLevels (temp uint) +0:58 'g_tTex1df4' (uniform texture1D) +0:61 Sequence +0:61 move second child to first child (temp uint) +0:61 'sizeQueryTemp' (temp uint) +0:61 textureSize (temp uint) +0:61 'g_tTex1di4' (uniform itexture1D) +0:61 move second child to first child (temp uint) +0:61 'WidthU' (temp uint) +0:61 'sizeQueryTemp' (temp uint) +0:62 Sequence +0:62 move second child to first child (temp uint) +0:62 'sizeQueryTemp' (temp uint) +0:62 textureSize (temp uint) +0:62 'g_tTex1di4' (uniform itexture1D) +0:62 Constant: +0:62 6 (const uint) +0:62 move second child to first child (temp uint) +0:62 'WidthU' (temp uint) +0:62 'sizeQueryTemp' (temp uint) +0:62 move second child to first child (temp uint) +0:62 'NumberOfLevelsU' (temp uint) +0:62 textureQueryLevels (temp uint) +0:62 'g_tTex1di4' (uniform itexture1D) +0:65 Sequence +0:65 move second child to first child (temp uint) +0:65 'sizeQueryTemp' (temp uint) +0:65 textureSize (temp uint) +0:65 'g_tTex1du4' (uniform utexture1D) +0:65 move second child to first child (temp uint) +0:65 'WidthU' (temp uint) +0:65 'sizeQueryTemp' (temp uint) +0:66 Sequence +0:66 move second child to first child (temp uint) +0:66 'sizeQueryTemp' (temp uint) +0:66 textureSize (temp uint) +0:66 'g_tTex1du4' (uniform utexture1D) +0:66 Constant: +0:66 6 (const uint) +0:66 move second child to first child (temp uint) +0:66 'WidthU' (temp uint) +0:66 'sizeQueryTemp' (temp uint) +0:66 move second child to first child (temp uint) +0:66 'NumberOfLevelsU' (temp uint) +0:66 textureQueryLevels (temp uint) +0:66 'g_tTex1du4' (uniform utexture1D) +0:69 Sequence +0:69 move second child to first child (temp 2-component vector of uint) +0:69 'sizeQueryTemp' (temp 2-component vector of uint) +0:69 textureSize (temp 2-component vector of uint) +0:69 'g_tTex1df4a' (uniform texture1DArray) +0:69 move second child to first child (temp uint) +0:69 'WidthU' (temp uint) +0:69 direct index (temp uint) +0:69 'sizeQueryTemp' (temp 2-component vector of uint) +0:69 Constant: +0:69 0 (const int) +0:69 move second child to first child (temp uint) +0:69 'ElementsU' (temp uint) +0:69 direct index (temp uint) +0:69 'sizeQueryTemp' (temp 2-component vector of uint) +0:69 Constant: +0:69 1 (const int) +0:70 Sequence +0:70 move second child to first child (temp 2-component vector of uint) +0:70 'sizeQueryTemp' (temp 2-component vector of uint) +0:70 textureSize (temp 2-component vector of uint) +0:70 'g_tTex1df4a' (uniform texture1DArray) +0:70 Constant: +0:70 6 (const uint) +0:70 move second child to first child (temp uint) +0:70 'WidthU' (temp uint) +0:70 direct index (temp uint) +0:70 'sizeQueryTemp' (temp 2-component vector of uint) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child (temp uint) +0:70 'ElementsU' (temp uint) +0:70 direct index (temp uint) +0:70 'sizeQueryTemp' (temp 2-component vector of uint) +0:70 Constant: +0:70 1 (const int) +0:70 move second child to first child (temp uint) +0:70 'NumberOfLevelsU' (temp uint) +0:70 textureQueryLevels (temp uint) +0:70 'g_tTex1df4a' (uniform texture1DArray) +0:73 Sequence +0:73 move second child to first child (temp 2-component vector of uint) +0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 textureSize (temp 2-component vector of uint) +0:73 'g_tTex1di4a' (uniform itexture1DArray) +0:73 move second child to first child (temp uint) +0:73 'WidthU' (temp uint) +0:73 direct index (temp uint) +0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 Constant: +0:73 0 (const int) +0:73 move second child to first child (temp uint) +0:73 'ElementsU' (temp uint) +0:73 direct index (temp uint) +0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 Constant: +0:73 1 (const int) +0:74 Sequence +0:74 move second child to first child (temp 2-component vector of uint) +0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 textureSize (temp 2-component vector of uint) +0:74 'g_tTex1di4a' (uniform itexture1DArray) +0:74 Constant: +0:74 6 (const uint) +0:74 move second child to first child (temp uint) +0:74 'WidthU' (temp uint) +0:74 direct index (temp uint) +0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 Constant: +0:74 0 (const int) +0:74 move second child to first child (temp uint) +0:74 'ElementsU' (temp uint) +0:74 direct index (temp uint) +0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 Constant: +0:74 1 (const int) +0:74 move second child to first child (temp uint) +0:74 'NumberOfLevelsU' (temp uint) +0:74 textureQueryLevels (temp uint) +0:74 'g_tTex1di4a' (uniform itexture1DArray) +0:77 Sequence +0:77 move second child to first child (temp 2-component vector of uint) +0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 textureSize (temp 2-component vector of uint) +0:77 'g_tTex1du4a' (uniform utexture1DArray) +0:77 move second child to first child (temp uint) +0:77 'WidthU' (temp uint) +0:77 direct index (temp uint) +0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 Constant: +0:77 0 (const int) +0:77 move second child to first child (temp uint) +0:77 'ElementsU' (temp uint) +0:77 direct index (temp uint) +0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 Constant: +0:77 1 (const int) +0:78 Sequence +0:78 move second child to first child (temp 2-component vector of uint) +0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 textureSize (temp 2-component vector of uint) +0:78 'g_tTex1du4a' (uniform utexture1DArray) +0:78 Constant: +0:78 6 (const uint) +0:78 move second child to first child (temp uint) +0:78 'WidthU' (temp uint) +0:78 direct index (temp uint) +0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 Constant: +0:78 0 (const int) +0:78 move second child to first child (temp uint) +0:78 'ElementsU' (temp uint) +0:78 direct index (temp uint) +0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 Constant: +0:78 1 (const int) +0:78 move second child to first child (temp uint) +0:78 'NumberOfLevelsU' (temp uint) +0:78 textureQueryLevels (temp uint) +0:78 'g_tTex1du4a' (uniform utexture1DArray) +0:81 Sequence +0:81 move second child to first child (temp 2-component vector of uint) +0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 textureSize (temp 2-component vector of uint) +0:81 'g_tTex2df4' (uniform texture2D) +0:81 move second child to first child (temp uint) +0:81 'WidthU' (temp uint) +0:81 direct index (temp uint) +0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 Constant: +0:81 0 (const int) +0:81 move second child to first child (temp uint) +0:81 'HeightU' (temp uint) +0:81 direct index (temp uint) +0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 Constant: +0:81 1 (const int) +0:82 Sequence +0:82 move second child to first child (temp 2-component vector of uint) +0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 textureSize (temp 2-component vector of uint) +0:82 'g_tTex2df4' (uniform texture2D) +0:82 Constant: +0:82 6 (const uint) +0:82 move second child to first child (temp uint) +0:82 'WidthU' (temp uint) +0:82 direct index (temp uint) +0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 Constant: +0:82 0 (const int) +0:82 move second child to first child (temp uint) +0:82 'HeightU' (temp uint) +0:82 direct index (temp uint) +0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 Constant: +0:82 1 (const int) +0:82 move second child to first child (temp uint) +0:82 'NumberOfLevelsU' (temp uint) +0:82 textureQueryLevels (temp uint) +0:82 'g_tTex2df4' (uniform texture2D) +0:85 Sequence +0:85 move second child to first child (temp 2-component vector of uint) +0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 textureSize (temp 2-component vector of uint) +0:85 'g_tTex2di4' (uniform itexture2D) +0:85 move second child to first child (temp uint) +0:85 'WidthU' (temp uint) +0:85 direct index (temp uint) +0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 Constant: +0:85 0 (const int) +0:85 move second child to first child (temp uint) +0:85 'HeightU' (temp uint) +0:85 direct index (temp uint) +0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 Constant: +0:85 1 (const int) +0:86 Sequence +0:86 move second child to first child (temp 2-component vector of uint) +0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 textureSize (temp 2-component vector of uint) +0:86 'g_tTex2di4' (uniform itexture2D) +0:86 Constant: +0:86 6 (const uint) +0:86 move second child to first child (temp uint) +0:86 'WidthU' (temp uint) +0:86 direct index (temp uint) +0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 Constant: +0:86 0 (const int) +0:86 move second child to first child (temp uint) +0:86 'HeightU' (temp uint) +0:86 direct index (temp uint) +0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 Constant: +0:86 1 (const int) +0:86 move second child to first child (temp uint) +0:86 'NumberOfLevelsU' (temp uint) +0:86 textureQueryLevels (temp uint) +0:86 'g_tTex2di4' (uniform itexture2D) +0:89 Sequence +0:89 move second child to first child (temp 2-component vector of uint) +0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 textureSize (temp 2-component vector of uint) +0:89 'g_tTex2du4' (uniform utexture2D) +0:89 move second child to first child (temp uint) +0:89 'WidthU' (temp uint) +0:89 direct index (temp uint) +0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 Constant: +0:89 0 (const int) +0:89 move second child to first child (temp uint) +0:89 'HeightU' (temp uint) +0:89 direct index (temp uint) +0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 Constant: +0:89 1 (const int) +0:90 Sequence +0:90 move second child to first child (temp 2-component vector of uint) +0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 textureSize (temp 2-component vector of uint) +0:90 'g_tTex2du4' (uniform utexture2D) +0:90 Constant: +0:90 6 (const uint) +0:90 move second child to first child (temp uint) +0:90 'WidthU' (temp uint) +0:90 direct index (temp uint) +0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 Constant: +0:90 0 (const int) +0:90 move second child to first child (temp uint) +0:90 'HeightU' (temp uint) +0:90 direct index (temp uint) +0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 Constant: +0:90 1 (const int) +0:90 move second child to first child (temp uint) +0:90 'NumberOfLevelsU' (temp uint) +0:90 textureQueryLevels (temp uint) +0:90 'g_tTex2du4' (uniform utexture2D) +0:93 Sequence +0:93 move second child to first child (temp 3-component vector of uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 textureSize (temp 3-component vector of uint) +0:93 'g_tTex2df4a' (uniform texture2DArray) +0:93 move second child to first child (temp uint) +0:93 'WidthU' (temp uint) +0:93 direct index (temp uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 Constant: +0:93 0 (const int) +0:93 move second child to first child (temp uint) +0:93 'HeightU' (temp uint) +0:93 direct index (temp uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 Constant: +0:93 1 (const int) +0:93 move second child to first child (temp uint) +0:93 'ElementsU' (temp uint) +0:93 direct index (temp uint) +0:93 'sizeQueryTemp' (temp 3-component vector of uint) +0:93 Constant: +0:93 2 (const int) +0:94 Sequence +0:94 move second child to first child (temp 3-component vector of uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 textureSize (temp 3-component vector of uint) +0:94 'g_tTex2df4a' (uniform texture2DArray) +0:94 Constant: +0:94 6 (const uint) +0:94 move second child to first child (temp uint) +0:94 'WidthU' (temp uint) +0:94 direct index (temp uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 Constant: +0:94 0 (const int) +0:94 move second child to first child (temp uint) +0:94 'HeightU' (temp uint) +0:94 direct index (temp uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 Constant: +0:94 1 (const int) +0:94 move second child to first child (temp uint) +0:94 'ElementsU' (temp uint) +0:94 direct index (temp uint) +0:94 'sizeQueryTemp' (temp 3-component vector of uint) +0:94 Constant: +0:94 2 (const int) +0:94 move second child to first child (temp uint) +0:94 'NumberOfLevelsU' (temp uint) +0:94 textureQueryLevels (temp uint) +0:94 'g_tTex2df4a' (uniform texture2DArray) +0:97 Sequence +0:97 move second child to first child (temp 3-component vector of uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 textureSize (temp 3-component vector of uint) +0:97 'g_tTex2di4a' (uniform itexture2DArray) +0:97 move second child to first child (temp uint) +0:97 'WidthU' (temp uint) +0:97 direct index (temp uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 Constant: +0:97 0 (const int) +0:97 move second child to first child (temp uint) +0:97 'HeightU' (temp uint) +0:97 direct index (temp uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 Constant: +0:97 1 (const int) +0:97 move second child to first child (temp uint) +0:97 'ElementsU' (temp uint) +0:97 direct index (temp uint) +0:97 'sizeQueryTemp' (temp 3-component vector of uint) +0:97 Constant: +0:97 2 (const int) +0:98 Sequence +0:98 move second child to first child (temp 3-component vector of uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 textureSize (temp 3-component vector of uint) +0:98 'g_tTex2di4a' (uniform itexture2DArray) +0:98 Constant: +0:98 6 (const uint) +0:98 move second child to first child (temp uint) +0:98 'WidthU' (temp uint) +0:98 direct index (temp uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 Constant: +0:98 0 (const int) +0:98 move second child to first child (temp uint) +0:98 'HeightU' (temp uint) +0:98 direct index (temp uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 Constant: +0:98 1 (const int) +0:98 move second child to first child (temp uint) +0:98 'ElementsU' (temp uint) +0:98 direct index (temp uint) +0:98 'sizeQueryTemp' (temp 3-component vector of uint) +0:98 Constant: +0:98 2 (const int) +0:98 move second child to first child (temp uint) +0:98 'NumberOfLevelsU' (temp uint) +0:98 textureQueryLevels (temp uint) +0:98 'g_tTex2di4a' (uniform itexture2DArray) +0:101 Sequence +0:101 move second child to first child (temp 3-component vector of uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 textureSize (temp 3-component vector of uint) +0:101 'g_tTex2du4a' (uniform utexture2DArray) +0:101 move second child to first child (temp uint) +0:101 'WidthU' (temp uint) +0:101 direct index (temp uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 Constant: +0:101 0 (const int) +0:101 move second child to first child (temp uint) +0:101 'HeightU' (temp uint) +0:101 direct index (temp uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 Constant: +0:101 1 (const int) +0:101 move second child to first child (temp uint) +0:101 'ElementsU' (temp uint) +0:101 direct index (temp uint) +0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 Constant: +0:101 2 (const int) +0:102 Sequence +0:102 move second child to first child (temp 3-component vector of uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 textureSize (temp 3-component vector of uint) +0:102 'g_tTex2du4a' (uniform utexture2DArray) +0:102 Constant: +0:102 6 (const uint) +0:102 move second child to first child (temp uint) +0:102 'WidthU' (temp uint) +0:102 direct index (temp uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 Constant: +0:102 0 (const int) +0:102 move second child to first child (temp uint) +0:102 'HeightU' (temp uint) +0:102 direct index (temp uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 Constant: +0:102 1 (const int) +0:102 move second child to first child (temp uint) +0:102 'ElementsU' (temp uint) +0:102 direct index (temp uint) +0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 Constant: +0:102 2 (const int) +0:102 move second child to first child (temp uint) +0:102 'NumberOfLevelsU' (temp uint) +0:102 textureQueryLevels (temp uint) +0:102 'g_tTex2du4a' (uniform utexture2DArray) +0:105 Sequence +0:105 move second child to first child (temp 3-component vector of uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 textureSize (temp 3-component vector of uint) +0:105 'g_tTex3df4' (uniform texture3D) +0:105 move second child to first child (temp uint) +0:105 'WidthU' (temp uint) +0:105 direct index (temp uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 Constant: +0:105 0 (const int) +0:105 move second child to first child (temp uint) +0:105 'HeightU' (temp uint) +0:105 direct index (temp uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 Constant: +0:105 1 (const int) +0:105 move second child to first child (temp uint) +0:105 'DepthU' (temp uint) +0:105 direct index (temp uint) +0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 Constant: +0:105 2 (const int) +0:106 Sequence +0:106 move second child to first child (temp 3-component vector of uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 textureSize (temp 3-component vector of uint) +0:106 'g_tTex3df4' (uniform texture3D) +0:106 Constant: +0:106 6 (const uint) +0:106 move second child to first child (temp uint) +0:106 'WidthU' (temp uint) +0:106 direct index (temp uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 Constant: +0:106 0 (const int) +0:106 move second child to first child (temp uint) +0:106 'HeightU' (temp uint) +0:106 direct index (temp uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 Constant: +0:106 1 (const int) +0:106 move second child to first child (temp uint) +0:106 'DepthU' (temp uint) +0:106 direct index (temp uint) +0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 Constant: +0:106 2 (const int) +0:106 move second child to first child (temp uint) +0:106 'NumberOfLevelsU' (temp uint) +0:106 textureQueryLevels (temp uint) +0:106 'g_tTex3df4' (uniform texture3D) +0:109 Sequence +0:109 move second child to first child (temp 3-component vector of uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 textureSize (temp 3-component vector of uint) +0:109 'g_tTex3di4' (uniform itexture3D) +0:109 move second child to first child (temp uint) +0:109 'WidthU' (temp uint) +0:109 direct index (temp uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 Constant: +0:109 0 (const int) +0:109 move second child to first child (temp uint) +0:109 'HeightU' (temp uint) +0:109 direct index (temp uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 Constant: +0:109 1 (const int) +0:109 move second child to first child (temp uint) +0:109 'DepthU' (temp uint) +0:109 direct index (temp uint) +0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 Constant: +0:109 2 (const int) +0:110 Sequence +0:110 move second child to first child (temp 3-component vector of uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 textureSize (temp 3-component vector of uint) +0:110 'g_tTex3di4' (uniform itexture3D) +0:110 Constant: +0:110 6 (const uint) +0:110 move second child to first child (temp uint) +0:110 'WidthU' (temp uint) +0:110 direct index (temp uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 Constant: +0:110 0 (const int) +0:110 move second child to first child (temp uint) +0:110 'HeightU' (temp uint) +0:110 direct index (temp uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 Constant: +0:110 1 (const int) +0:110 move second child to first child (temp uint) +0:110 'DepthU' (temp uint) +0:110 direct index (temp uint) +0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 Constant: +0:110 2 (const int) +0:110 move second child to first child (temp uint) +0:110 'NumberOfLevelsU' (temp uint) +0:110 textureQueryLevels (temp uint) +0:110 'g_tTex3di4' (uniform itexture3D) +0:113 Sequence +0:113 move second child to first child (temp 3-component vector of uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 textureSize (temp 3-component vector of uint) +0:113 'g_tTex3du4' (uniform utexture3D) +0:113 move second child to first child (temp uint) +0:113 'WidthU' (temp uint) +0:113 direct index (temp uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 Constant: +0:113 0 (const int) +0:113 move second child to first child (temp uint) +0:113 'HeightU' (temp uint) +0:113 direct index (temp uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 Constant: +0:113 1 (const int) +0:113 move second child to first child (temp uint) +0:113 'DepthU' (temp uint) +0:113 direct index (temp uint) +0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 Constant: +0:113 2 (const int) +0:114 Sequence +0:114 move second child to first child (temp 3-component vector of uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 textureSize (temp 3-component vector of uint) +0:114 'g_tTex3du4' (uniform utexture3D) +0:114 Constant: +0:114 6 (const uint) +0:114 move second child to first child (temp uint) +0:114 'WidthU' (temp uint) +0:114 direct index (temp uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 Constant: +0:114 0 (const int) +0:114 move second child to first child (temp uint) +0:114 'HeightU' (temp uint) +0:114 direct index (temp uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 Constant: +0:114 1 (const int) +0:114 move second child to first child (temp uint) +0:114 'DepthU' (temp uint) +0:114 direct index (temp uint) +0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 Constant: +0:114 2 (const int) +0:114 move second child to first child (temp uint) +0:114 'NumberOfLevelsU' (temp uint) +0:114 textureQueryLevels (temp uint) +0:114 'g_tTex3du4' (uniform utexture3D) +0:117 Sequence +0:117 move second child to first child (temp 2-component vector of uint) +0:117 'sizeQueryTemp' (temp 2-component vector of uint) +0:117 textureSize (temp 2-component vector of uint) +0:117 'g_tTexcdf4' (uniform textureCube) +0:117 move second child to first child (temp uint) +0:117 'WidthU' (temp uint) +0:117 direct index (temp uint) +0:117 'sizeQueryTemp' (temp 2-component vector of uint) +0:117 Constant: +0:117 0 (const int) +0:117 move second child to first child (temp uint) +0:117 'HeightU' (temp uint) +0:117 direct index (temp uint) +0:117 'sizeQueryTemp' (temp 2-component vector of uint) +0:117 Constant: +0:117 1 (const int) +0:118 Sequence +0:118 move second child to first child (temp 2-component vector of uint) +0:118 'sizeQueryTemp' (temp 2-component vector of uint) +0:118 textureSize (temp 2-component vector of uint) +0:118 'g_tTexcdf4' (uniform textureCube) +0:118 Constant: +0:118 6 (const uint) +0:118 move second child to first child (temp uint) +0:118 'WidthU' (temp uint) +0:118 direct index (temp uint) +0:118 'sizeQueryTemp' (temp 2-component vector of uint) +0:118 Constant: +0:118 0 (const int) +0:118 move second child to first child (temp uint) +0:118 'HeightU' (temp uint) +0:118 direct index (temp uint) +0:118 'sizeQueryTemp' (temp 2-component vector of uint) +0:118 Constant: +0:118 1 (const int) +0:118 move second child to first child (temp uint) +0:118 'NumberOfLevelsU' (temp uint) +0:118 textureQueryLevels (temp uint) +0:118 'g_tTexcdf4' (uniform textureCube) +0:121 Sequence +0:121 move second child to first child (temp 2-component vector of uint) +0:121 'sizeQueryTemp' (temp 2-component vector of uint) +0:121 textureSize (temp 2-component vector of uint) +0:121 'g_tTexcdi4' (uniform itextureCube) +0:121 move second child to first child (temp uint) +0:121 'WidthU' (temp uint) +0:121 direct index (temp uint) +0:121 'sizeQueryTemp' (temp 2-component vector of uint) +0:121 Constant: +0:121 0 (const int) +0:121 move second child to first child (temp uint) +0:121 'HeightU' (temp uint) +0:121 direct index (temp uint) +0:121 'sizeQueryTemp' (temp 2-component vector of uint) +0:121 Constant: +0:121 1 (const int) +0:122 Sequence +0:122 move second child to first child (temp 2-component vector of uint) +0:122 'sizeQueryTemp' (temp 2-component vector of uint) +0:122 textureSize (temp 2-component vector of uint) +0:122 'g_tTexcdi4' (uniform itextureCube) +0:122 Constant: +0:122 6 (const uint) +0:122 move second child to first child (temp uint) +0:122 'WidthU' (temp uint) +0:122 direct index (temp uint) +0:122 'sizeQueryTemp' (temp 2-component vector of uint) +0:122 Constant: +0:122 0 (const int) +0:122 move second child to first child (temp uint) +0:122 'HeightU' (temp uint) +0:122 direct index (temp uint) +0:122 'sizeQueryTemp' (temp 2-component vector of uint) +0:122 Constant: +0:122 1 (const int) +0:122 move second child to first child (temp uint) +0:122 'NumberOfLevelsU' (temp uint) +0:122 textureQueryLevels (temp uint) +0:122 'g_tTexcdi4' (uniform itextureCube) +0:125 Sequence +0:125 move second child to first child (temp 2-component vector of uint) +0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 textureSize (temp 2-component vector of uint) +0:125 'g_tTexcdu4' (uniform utextureCube) +0:125 move second child to first child (temp uint) +0:125 'WidthU' (temp uint) +0:125 direct index (temp uint) +0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 Constant: +0:125 0 (const int) +0:125 move second child to first child (temp uint) +0:125 'HeightU' (temp uint) +0:125 direct index (temp uint) +0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 Constant: +0:125 1 (const int) +0:126 Sequence +0:126 move second child to first child (temp 2-component vector of uint) +0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 textureSize (temp 2-component vector of uint) +0:126 'g_tTexcdu4' (uniform utextureCube) +0:126 Constant: +0:126 6 (const uint) +0:126 move second child to first child (temp uint) +0:126 'WidthU' (temp uint) +0:126 direct index (temp uint) +0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 Constant: +0:126 0 (const int) +0:126 move second child to first child (temp uint) +0:126 'HeightU' (temp uint) +0:126 direct index (temp uint) +0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 Constant: +0:126 1 (const int) +0:126 move second child to first child (temp uint) +0:126 'NumberOfLevelsU' (temp uint) +0:126 textureQueryLevels (temp uint) +0:126 'g_tTexcdu4' (uniform utextureCube) +0:129 Sequence +0:129 move second child to first child (temp 3-component vector of uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 textureSize (temp 3-component vector of uint) +0:129 'g_tTexcdf4a' (uniform textureCubeArray) +0:129 move second child to first child (temp uint) +0:129 'WidthU' (temp uint) +0:129 direct index (temp uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 Constant: +0:129 0 (const int) +0:129 move second child to first child (temp uint) +0:129 'HeightU' (temp uint) +0:129 direct index (temp uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 Constant: +0:129 1 (const int) +0:129 move second child to first child (temp uint) +0:129 'ElementsU' (temp uint) +0:129 direct index (temp uint) +0:129 'sizeQueryTemp' (temp 3-component vector of uint) +0:129 Constant: +0:129 2 (const int) +0:130 Sequence +0:130 move second child to first child (temp 3-component vector of uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 textureSize (temp 3-component vector of uint) +0:130 'g_tTexcdf4a' (uniform textureCubeArray) +0:130 Constant: +0:130 6 (const uint) +0:130 move second child to first child (temp uint) +0:130 'WidthU' (temp uint) +0:130 direct index (temp uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 Constant: +0:130 0 (const int) +0:130 move second child to first child (temp uint) +0:130 'HeightU' (temp uint) +0:130 direct index (temp uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 Constant: +0:130 1 (const int) +0:130 move second child to first child (temp uint) +0:130 'ElementsU' (temp uint) +0:130 direct index (temp uint) +0:130 'sizeQueryTemp' (temp 3-component vector of uint) +0:130 Constant: +0:130 2 (const int) +0:130 move second child to first child (temp uint) +0:130 'NumberOfLevelsU' (temp uint) +0:130 textureQueryLevels (temp uint) +0:130 'g_tTexcdf4a' (uniform textureCubeArray) +0:133 Sequence +0:133 move second child to first child (temp 3-component vector of uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 textureSize (temp 3-component vector of uint) +0:133 'g_tTexcdi4a' (uniform itextureCubeArray) +0:133 move second child to first child (temp uint) +0:133 'WidthU' (temp uint) +0:133 direct index (temp uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 Constant: +0:133 0 (const int) +0:133 move second child to first child (temp uint) +0:133 'HeightU' (temp uint) +0:133 direct index (temp uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 Constant: +0:133 1 (const int) +0:133 move second child to first child (temp uint) +0:133 'ElementsU' (temp uint) +0:133 direct index (temp uint) +0:133 'sizeQueryTemp' (temp 3-component vector of uint) +0:133 Constant: +0:133 2 (const int) +0:134 Sequence +0:134 move second child to first child (temp 3-component vector of uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 textureSize (temp 3-component vector of uint) +0:134 'g_tTexcdi4a' (uniform itextureCubeArray) +0:134 Constant: +0:134 6 (const uint) +0:134 move second child to first child (temp uint) +0:134 'WidthU' (temp uint) +0:134 direct index (temp uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 Constant: +0:134 0 (const int) +0:134 move second child to first child (temp uint) +0:134 'HeightU' (temp uint) +0:134 direct index (temp uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 Constant: +0:134 1 (const int) +0:134 move second child to first child (temp uint) +0:134 'ElementsU' (temp uint) +0:134 direct index (temp uint) +0:134 'sizeQueryTemp' (temp 3-component vector of uint) +0:134 Constant: +0:134 2 (const int) +0:134 move second child to first child (temp uint) +0:134 'NumberOfLevelsU' (temp uint) +0:134 textureQueryLevels (temp uint) +0:134 'g_tTexcdi4a' (uniform itextureCubeArray) +0:137 Sequence +0:137 move second child to first child (temp 3-component vector of uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 textureSize (temp 3-component vector of uint) +0:137 'g_tTexcdu4a' (uniform utextureCubeArray) +0:137 move second child to first child (temp uint) +0:137 'WidthU' (temp uint) +0:137 direct index (temp uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 Constant: +0:137 0 (const int) +0:137 move second child to first child (temp uint) +0:137 'HeightU' (temp uint) +0:137 direct index (temp uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 Constant: +0:137 1 (const int) +0:137 move second child to first child (temp uint) +0:137 'ElementsU' (temp uint) +0:137 direct index (temp uint) +0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 Constant: +0:137 2 (const int) +0:138 Sequence +0:138 move second child to first child (temp 3-component vector of uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 textureSize (temp 3-component vector of uint) +0:138 'g_tTexcdu4a' (uniform utextureCubeArray) +0:138 Constant: +0:138 6 (const uint) +0:138 move second child to first child (temp uint) +0:138 'WidthU' (temp uint) +0:138 direct index (temp uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 Constant: +0:138 0 (const int) +0:138 move second child to first child (temp uint) +0:138 'HeightU' (temp uint) +0:138 direct index (temp uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 Constant: +0:138 1 (const int) +0:138 move second child to first child (temp uint) +0:138 'ElementsU' (temp uint) +0:138 direct index (temp uint) +0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 Constant: +0:138 2 (const int) +0:138 move second child to first child (temp uint) +0:138 'NumberOfLevelsU' (temp uint) +0:138 textureQueryLevels (temp uint) +0:138 'g_tTexcdu4a' (uniform utextureCubeArray) +0:234 move second child to first child (temp float) +0:234 Depth: direct index for structure (temp float FragDepth) +0:234 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:234 Constant: +0:234 1 (const int) +0:234 Constant: +0:234 1.000000 +0:236 Branch: Return with expression +0:236 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? Linker Objects +0:? 'g_sSamp' (uniform sampler) +0:? 'g_tTex1df4' (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:? 'g_tTex1df4a' (uniform texture1DArray) +0:? 'g_tTex1di4a' (uniform itexture1DArray) +0:? 'g_tTex1du4a' (uniform utexture1DArray) +0:? 'g_tTex2df4a' (uniform texture2DArray) +0:? 'g_tTex2di4a' (uniform itexture2DArray) +0:? 'g_tTex2du4a' (uniform utexture2DArray) +0:? 'g_tTexcdf4a' (uniform textureCubeArray) +0:? 'g_tTexcdi4a' (uniform itextureCubeArray) +0:? 'g_tTexcdu4a' (uniform utextureCubeArray) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 455 + + Capability Shader + Capability Sampled1D + Capability SampledCubeArray + Capability ImageQuery + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" + ExecutionMode 4 OriginUpperLeft + Source HLSL 450 + Name 4 "main" + Name 8 "sizeQueryTemp" + Name 12 "g_tTex1df4" + Name 16 "WidthU" + Name 18 "sizeQueryTemp" + Name 23 "NumberOfLevelsU" + Name 26 "sizeQueryTemp" + Name 29 "g_tTex1di4" + Name 33 "sizeQueryTemp" + Name 39 "sizeQueryTemp" + Name 42 "g_tTex1du4" + Name 46 "sizeQueryTemp" + Name 54 "sizeQueryTemp" + Name 57 "g_tTex1df4a" + Name 64 "ElementsU" + Name 68 "sizeQueryTemp" + Name 77 "sizeQueryTemp" + Name 80 "g_tTex1di4a" + Name 87 "sizeQueryTemp" + Name 96 "sizeQueryTemp" + Name 99 "g_tTex1du4a" + Name 106 "sizeQueryTemp" + Name 115 "sizeQueryTemp" + Name 118 "g_tTex2df4" + Name 123 "HeightU" + Name 126 "sizeQueryTemp" + Name 135 "sizeQueryTemp" + Name 138 "g_tTex2di4" + Name 145 "sizeQueryTemp" + Name 154 "sizeQueryTemp" + Name 157 "g_tTex2du4" + Name 164 "sizeQueryTemp" + Name 175 "sizeQueryTemp" + Name 178 "g_tTex2df4a" + Name 189 "sizeQueryTemp" + Name 200 "sizeQueryTemp" + Name 203 "g_tTex2di4a" + Name 212 "sizeQueryTemp" + Name 223 "sizeQueryTemp" + Name 226 "g_tTex2du4a" + Name 235 "sizeQueryTemp" + Name 246 "sizeQueryTemp" + Name 249 "g_tTex3df4" + Name 256 "DepthU" + Name 259 "sizeQueryTemp" + Name 270 "sizeQueryTemp" + Name 273 "g_tTex3di4" + Name 282 "sizeQueryTemp" + Name 293 "sizeQueryTemp" + Name 296 "g_tTex3du4" + Name 305 "sizeQueryTemp" + Name 316 "sizeQueryTemp" + Name 319 "g_tTexcdf4" + Name 326 "sizeQueryTemp" + Name 335 "sizeQueryTemp" + Name 338 "g_tTexcdi4" + Name 345 "sizeQueryTemp" + Name 354 "sizeQueryTemp" + Name 357 "g_tTexcdu4" + Name 364 "sizeQueryTemp" + Name 373 "sizeQueryTemp" + Name 376 "g_tTexcdf4a" + Name 385 "sizeQueryTemp" + Name 396 "sizeQueryTemp" + Name 399 "g_tTexcdi4a" + Name 408 "sizeQueryTemp" + Name 419 "sizeQueryTemp" + Name 422 "g_tTexcdu4a" + Name 431 "sizeQueryTemp" + Name 443 "PS_OUTPUT" + MemberName 443(PS_OUTPUT) 0 "Color" + MemberName 443(PS_OUTPUT) 1 "Depth" + Name 445 "psout" + Name 454 "g_sSamp" + Decorate 12(g_tTex1df4) DescriptorSet 0 + Decorate 29(g_tTex1di4) DescriptorSet 0 + Decorate 42(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex1df4a) DescriptorSet 0 + Decorate 80(g_tTex1di4a) DescriptorSet 0 + Decorate 99(g_tTex1du4a) DescriptorSet 0 + Decorate 118(g_tTex2df4) DescriptorSet 0 + Decorate 138(g_tTex2di4) DescriptorSet 0 + Decorate 157(g_tTex2du4) DescriptorSet 0 + Decorate 178(g_tTex2df4a) DescriptorSet 0 + Decorate 203(g_tTex2di4a) DescriptorSet 0 + Decorate 226(g_tTex2du4a) DescriptorSet 0 + Decorate 249(g_tTex3df4) DescriptorSet 0 + Decorate 273(g_tTex3di4) DescriptorSet 0 + Decorate 296(g_tTex3du4) DescriptorSet 0 + Decorate 319(g_tTexcdf4) DescriptorSet 0 + Decorate 338(g_tTexcdi4) DescriptorSet 0 + Decorate 357(g_tTexcdu4) DescriptorSet 0 + Decorate 376(g_tTexcdf4a) DescriptorSet 0 + Decorate 399(g_tTexcdi4a) DescriptorSet 0 + Decorate 422(g_tTexcdu4a) DescriptorSet 0 + MemberDecorate 443(PS_OUTPUT) 1 BuiltIn FragDepth + Decorate 454(g_sSamp) DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 9: TypeFloat 32 + 10: TypeImage 9(float) 1D sampled format:Unknown + 11: TypePointer UniformConstant 10 + 12(g_tTex1df4): 11(ptr) Variable UniformConstant + 14: TypeInt 32 1 + 20: 6(int) Constant 6 + 27: TypeImage 14(int) 1D sampled format:Unknown + 28: TypePointer UniformConstant 27 + 29(g_tTex1di4): 28(ptr) Variable UniformConstant + 40: TypeImage 6(int) 1D sampled format:Unknown + 41: TypePointer UniformConstant 40 + 42(g_tTex1du4): 41(ptr) Variable UniformConstant + 52: TypeVector 6(int) 2 + 53: TypePointer Function 52(ivec2) + 55: TypeImage 9(float) 1D array sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex1df4a): 56(ptr) Variable UniformConstant + 59: TypeVector 14(int) 2 + 61: 6(int) Constant 0 + 65: 6(int) Constant 1 + 78: TypeImage 14(int) 1D array sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex1di4a): 79(ptr) Variable UniformConstant + 97: TypeImage 6(int) 1D array sampled format:Unknown + 98: TypePointer UniformConstant 97 + 99(g_tTex1du4a): 98(ptr) Variable UniformConstant + 116: TypeImage 9(float) 2D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex2df4): 117(ptr) Variable UniformConstant + 136: TypeImage 14(int) 2D sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTex2di4): 137(ptr) Variable UniformConstant + 155: TypeImage 6(int) 2D sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTex2du4): 156(ptr) Variable UniformConstant + 173: TypeVector 6(int) 3 + 174: TypePointer Function 173(ivec3) + 176: TypeImage 9(float) 2D array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTex2df4a): 177(ptr) Variable UniformConstant + 180: TypeVector 14(int) 3 + 186: 6(int) Constant 2 + 201: TypeImage 14(int) 2D array sampled format:Unknown + 202: TypePointer UniformConstant 201 +203(g_tTex2di4a): 202(ptr) Variable UniformConstant + 224: TypeImage 6(int) 2D array sampled format:Unknown + 225: TypePointer UniformConstant 224 +226(g_tTex2du4a): 225(ptr) Variable UniformConstant + 247: TypeImage 9(float) 3D sampled format:Unknown + 248: TypePointer UniformConstant 247 + 249(g_tTex3df4): 248(ptr) Variable UniformConstant + 271: TypeImage 14(int) 3D sampled format:Unknown + 272: TypePointer UniformConstant 271 + 273(g_tTex3di4): 272(ptr) Variable UniformConstant + 294: TypeImage 6(int) 3D sampled format:Unknown + 295: TypePointer UniformConstant 294 + 296(g_tTex3du4): 295(ptr) Variable UniformConstant + 317: TypeImage 9(float) Cube sampled format:Unknown + 318: TypePointer UniformConstant 317 + 319(g_tTexcdf4): 318(ptr) Variable UniformConstant + 336: TypeImage 14(int) Cube sampled format:Unknown + 337: TypePointer UniformConstant 336 + 338(g_tTexcdi4): 337(ptr) Variable UniformConstant + 355: TypeImage 6(int) Cube sampled format:Unknown + 356: TypePointer UniformConstant 355 + 357(g_tTexcdu4): 356(ptr) Variable UniformConstant + 374: TypeImage 9(float) Cube array sampled format:Unknown + 375: TypePointer UniformConstant 374 +376(g_tTexcdf4a): 375(ptr) Variable UniformConstant + 397: TypeImage 14(int) Cube array sampled format:Unknown + 398: TypePointer UniformConstant 397 +399(g_tTexcdi4a): 398(ptr) Variable UniformConstant + 420: TypeImage 6(int) Cube array sampled format:Unknown + 421: TypePointer UniformConstant 420 +422(g_tTexcdu4a): 421(ptr) Variable UniformConstant + 442: TypeVector 9(float) 4 + 443(PS_OUTPUT): TypeStruct 442(fvec4) 9(float) + 444: TypePointer Function 443(PS_OUTPUT) + 446: 14(int) Constant 1 + 447: 9(float) Constant 1065353216 + 448: TypePointer Function 9(float) + 452: TypeSampler + 453: TypePointer UniformConstant 452 + 454(g_sSamp): 453(ptr) Variable UniformConstant + 4(main): 2 Function None 3 + 5: Label +8(sizeQueryTemp): 7(ptr) Variable Function + 16(WidthU): 7(ptr) Variable Function +18(sizeQueryTemp): 7(ptr) Variable Function +23(NumberOfLevelsU): 7(ptr) Variable Function +26(sizeQueryTemp): 7(ptr) Variable Function +33(sizeQueryTemp): 7(ptr) Variable Function +39(sizeQueryTemp): 7(ptr) Variable Function +46(sizeQueryTemp): 7(ptr) Variable Function +54(sizeQueryTemp): 53(ptr) Variable Function + 64(ElementsU): 7(ptr) Variable Function +68(sizeQueryTemp): 53(ptr) Variable Function +77(sizeQueryTemp): 53(ptr) Variable Function +87(sizeQueryTemp): 53(ptr) Variable Function +96(sizeQueryTemp): 53(ptr) Variable Function +106(sizeQueryTemp): 53(ptr) Variable Function +115(sizeQueryTemp): 53(ptr) Variable Function + 123(HeightU): 7(ptr) Variable Function +126(sizeQueryTemp): 53(ptr) Variable Function +135(sizeQueryTemp): 53(ptr) Variable Function +145(sizeQueryTemp): 53(ptr) Variable Function +154(sizeQueryTemp): 53(ptr) Variable Function +164(sizeQueryTemp): 53(ptr) Variable Function +175(sizeQueryTemp): 174(ptr) Variable Function +189(sizeQueryTemp): 174(ptr) Variable Function +200(sizeQueryTemp): 174(ptr) Variable Function +212(sizeQueryTemp): 174(ptr) Variable Function +223(sizeQueryTemp): 174(ptr) Variable Function +235(sizeQueryTemp): 174(ptr) Variable Function +246(sizeQueryTemp): 174(ptr) Variable Function + 256(DepthU): 7(ptr) Variable Function +259(sizeQueryTemp): 174(ptr) Variable Function +270(sizeQueryTemp): 174(ptr) Variable Function +282(sizeQueryTemp): 174(ptr) Variable Function +293(sizeQueryTemp): 174(ptr) Variable Function +305(sizeQueryTemp): 174(ptr) Variable Function +316(sizeQueryTemp): 53(ptr) Variable Function +326(sizeQueryTemp): 53(ptr) Variable Function +335(sizeQueryTemp): 53(ptr) Variable Function +345(sizeQueryTemp): 53(ptr) Variable Function +354(sizeQueryTemp): 53(ptr) Variable Function +364(sizeQueryTemp): 53(ptr) Variable Function +373(sizeQueryTemp): 174(ptr) Variable Function +385(sizeQueryTemp): 174(ptr) Variable Function +396(sizeQueryTemp): 174(ptr) Variable Function +408(sizeQueryTemp): 174(ptr) Variable Function +419(sizeQueryTemp): 174(ptr) Variable Function +431(sizeQueryTemp): 174(ptr) Variable Function + 445(psout): 444(ptr) Variable Function + 13: 10 Load 12(g_tTex1df4) + 15: 14(int) ImageQuerySize 13 + Store 8(sizeQueryTemp) 15 + 17: 6(int) Load 8(sizeQueryTemp) + Store 16(WidthU) 17 + 19: 10 Load 12(g_tTex1df4) + 21: 14(int) ImageQuerySizeLod 19 20 + Store 18(sizeQueryTemp) 21 + 22: 6(int) Load 18(sizeQueryTemp) + Store 16(WidthU) 22 + 24: 10 Load 12(g_tTex1df4) + 25: 14(int) ImageQueryLevels 24 + Store 23(NumberOfLevelsU) 25 + 30: 27 Load 29(g_tTex1di4) + 31: 14(int) ImageQuerySize 30 + Store 26(sizeQueryTemp) 31 + 32: 6(int) Load 26(sizeQueryTemp) + Store 16(WidthU) 32 + 34: 27 Load 29(g_tTex1di4) + 35: 14(int) ImageQuerySizeLod 34 20 + Store 33(sizeQueryTemp) 35 + 36: 6(int) Load 33(sizeQueryTemp) + Store 16(WidthU) 36 + 37: 27 Load 29(g_tTex1di4) + 38: 14(int) ImageQueryLevels 37 + Store 23(NumberOfLevelsU) 38 + 43: 40 Load 42(g_tTex1du4) + 44: 14(int) ImageQuerySize 43 + Store 39(sizeQueryTemp) 44 + 45: 6(int) Load 39(sizeQueryTemp) + Store 16(WidthU) 45 + 47: 40 Load 42(g_tTex1du4) + 48: 14(int) ImageQuerySizeLod 47 20 + Store 46(sizeQueryTemp) 48 + 49: 6(int) Load 46(sizeQueryTemp) + Store 16(WidthU) 49 + 50: 40 Load 42(g_tTex1du4) + 51: 14(int) ImageQueryLevels 50 + Store 23(NumberOfLevelsU) 51 + 58: 55 Load 57(g_tTex1df4a) + 60: 59(ivec2) ImageQuerySize 58 + Store 54(sizeQueryTemp) 60 + 62: 7(ptr) AccessChain 54(sizeQueryTemp) 61 + 63: 6(int) Load 62 + Store 16(WidthU) 63 + 66: 7(ptr) AccessChain 54(sizeQueryTemp) 65 + 67: 6(int) Load 66 + Store 64(ElementsU) 67 + 69: 55 Load 57(g_tTex1df4a) + 70: 59(ivec2) ImageQuerySizeLod 69 20 + Store 68(sizeQueryTemp) 70 + 71: 7(ptr) AccessChain 68(sizeQueryTemp) 61 + 72: 6(int) Load 71 + Store 16(WidthU) 72 + 73: 7(ptr) AccessChain 68(sizeQueryTemp) 65 + 74: 6(int) Load 73 + Store 64(ElementsU) 74 + 75: 55 Load 57(g_tTex1df4a) + 76: 14(int) ImageQueryLevels 75 + Store 23(NumberOfLevelsU) 76 + 81: 78 Load 80(g_tTex1di4a) + 82: 59(ivec2) ImageQuerySize 81 + Store 77(sizeQueryTemp) 82 + 83: 7(ptr) AccessChain 77(sizeQueryTemp) 61 + 84: 6(int) Load 83 + Store 16(WidthU) 84 + 85: 7(ptr) AccessChain 77(sizeQueryTemp) 65 + 86: 6(int) Load 85 + Store 64(ElementsU) 86 + 88: 78 Load 80(g_tTex1di4a) + 89: 59(ivec2) ImageQuerySizeLod 88 20 + Store 87(sizeQueryTemp) 89 + 90: 7(ptr) AccessChain 87(sizeQueryTemp) 61 + 91: 6(int) Load 90 + Store 16(WidthU) 91 + 92: 7(ptr) AccessChain 87(sizeQueryTemp) 65 + 93: 6(int) Load 92 + Store 64(ElementsU) 93 + 94: 78 Load 80(g_tTex1di4a) + 95: 14(int) ImageQueryLevels 94 + Store 23(NumberOfLevelsU) 95 + 100: 97 Load 99(g_tTex1du4a) + 101: 59(ivec2) ImageQuerySize 100 + Store 96(sizeQueryTemp) 101 + 102: 7(ptr) AccessChain 96(sizeQueryTemp) 61 + 103: 6(int) Load 102 + Store 16(WidthU) 103 + 104: 7(ptr) AccessChain 96(sizeQueryTemp) 65 + 105: 6(int) Load 104 + Store 64(ElementsU) 105 + 107: 97 Load 99(g_tTex1du4a) + 108: 59(ivec2) ImageQuerySizeLod 107 20 + Store 106(sizeQueryTemp) 108 + 109: 7(ptr) AccessChain 106(sizeQueryTemp) 61 + 110: 6(int) Load 109 + Store 16(WidthU) 110 + 111: 7(ptr) AccessChain 106(sizeQueryTemp) 65 + 112: 6(int) Load 111 + Store 64(ElementsU) 112 + 113: 97 Load 99(g_tTex1du4a) + 114: 14(int) ImageQueryLevels 113 + Store 23(NumberOfLevelsU) 114 + 119: 116 Load 118(g_tTex2df4) + 120: 59(ivec2) ImageQuerySize 119 + Store 115(sizeQueryTemp) 120 + 121: 7(ptr) AccessChain 115(sizeQueryTemp) 61 + 122: 6(int) Load 121 + Store 16(WidthU) 122 + 124: 7(ptr) AccessChain 115(sizeQueryTemp) 65 + 125: 6(int) Load 124 + Store 123(HeightU) 125 + 127: 116 Load 118(g_tTex2df4) + 128: 59(ivec2) ImageQuerySizeLod 127 20 + Store 126(sizeQueryTemp) 128 + 129: 7(ptr) AccessChain 126(sizeQueryTemp) 61 + 130: 6(int) Load 129 + Store 16(WidthU) 130 + 131: 7(ptr) AccessChain 126(sizeQueryTemp) 65 + 132: 6(int) Load 131 + Store 123(HeightU) 132 + 133: 116 Load 118(g_tTex2df4) + 134: 14(int) ImageQueryLevels 133 + Store 23(NumberOfLevelsU) 134 + 139: 136 Load 138(g_tTex2di4) + 140: 59(ivec2) ImageQuerySize 139 + Store 135(sizeQueryTemp) 140 + 141: 7(ptr) AccessChain 135(sizeQueryTemp) 61 + 142: 6(int) Load 141 + Store 16(WidthU) 142 + 143: 7(ptr) AccessChain 135(sizeQueryTemp) 65 + 144: 6(int) Load 143 + Store 123(HeightU) 144 + 146: 136 Load 138(g_tTex2di4) + 147: 59(ivec2) ImageQuerySizeLod 146 20 + Store 145(sizeQueryTemp) 147 + 148: 7(ptr) AccessChain 145(sizeQueryTemp) 61 + 149: 6(int) Load 148 + Store 16(WidthU) 149 + 150: 7(ptr) AccessChain 145(sizeQueryTemp) 65 + 151: 6(int) Load 150 + Store 123(HeightU) 151 + 152: 136 Load 138(g_tTex2di4) + 153: 14(int) ImageQueryLevels 152 + Store 23(NumberOfLevelsU) 153 + 158: 155 Load 157(g_tTex2du4) + 159: 59(ivec2) ImageQuerySize 158 + Store 154(sizeQueryTemp) 159 + 160: 7(ptr) AccessChain 154(sizeQueryTemp) 61 + 161: 6(int) Load 160 + Store 16(WidthU) 161 + 162: 7(ptr) AccessChain 154(sizeQueryTemp) 65 + 163: 6(int) Load 162 + Store 123(HeightU) 163 + 165: 155 Load 157(g_tTex2du4) + 166: 59(ivec2) ImageQuerySizeLod 165 20 + Store 164(sizeQueryTemp) 166 + 167: 7(ptr) AccessChain 164(sizeQueryTemp) 61 + 168: 6(int) Load 167 + Store 16(WidthU) 168 + 169: 7(ptr) AccessChain 164(sizeQueryTemp) 65 + 170: 6(int) Load 169 + Store 123(HeightU) 170 + 171: 155 Load 157(g_tTex2du4) + 172: 14(int) ImageQueryLevels 171 + Store 23(NumberOfLevelsU) 172 + 179: 176 Load 178(g_tTex2df4a) + 181: 180(ivec3) ImageQuerySize 179 + Store 175(sizeQueryTemp) 181 + 182: 7(ptr) AccessChain 175(sizeQueryTemp) 61 + 183: 6(int) Load 182 + Store 16(WidthU) 183 + 184: 7(ptr) AccessChain 175(sizeQueryTemp) 65 + 185: 6(int) Load 184 + Store 123(HeightU) 185 + 187: 7(ptr) AccessChain 175(sizeQueryTemp) 186 + 188: 6(int) Load 187 + Store 64(ElementsU) 188 + 190: 176 Load 178(g_tTex2df4a) + 191: 180(ivec3) ImageQuerySizeLod 190 20 + Store 189(sizeQueryTemp) 191 + 192: 7(ptr) AccessChain 189(sizeQueryTemp) 61 + 193: 6(int) Load 192 + Store 16(WidthU) 193 + 194: 7(ptr) AccessChain 189(sizeQueryTemp) 65 + 195: 6(int) Load 194 + Store 123(HeightU) 195 + 196: 7(ptr) AccessChain 189(sizeQueryTemp) 186 + 197: 6(int) Load 196 + Store 64(ElementsU) 197 + 198: 176 Load 178(g_tTex2df4a) + 199: 14(int) ImageQueryLevels 198 + Store 23(NumberOfLevelsU) 199 + 204: 201 Load 203(g_tTex2di4a) + 205: 180(ivec3) ImageQuerySize 204 + Store 200(sizeQueryTemp) 205 + 206: 7(ptr) AccessChain 200(sizeQueryTemp) 61 + 207: 6(int) Load 206 + Store 16(WidthU) 207 + 208: 7(ptr) AccessChain 200(sizeQueryTemp) 65 + 209: 6(int) Load 208 + Store 123(HeightU) 209 + 210: 7(ptr) AccessChain 200(sizeQueryTemp) 186 + 211: 6(int) Load 210 + Store 64(ElementsU) 211 + 213: 201 Load 203(g_tTex2di4a) + 214: 180(ivec3) ImageQuerySizeLod 213 20 + Store 212(sizeQueryTemp) 214 + 215: 7(ptr) AccessChain 212(sizeQueryTemp) 61 + 216: 6(int) Load 215 + Store 16(WidthU) 216 + 217: 7(ptr) AccessChain 212(sizeQueryTemp) 65 + 218: 6(int) Load 217 + Store 123(HeightU) 218 + 219: 7(ptr) AccessChain 212(sizeQueryTemp) 186 + 220: 6(int) Load 219 + Store 64(ElementsU) 220 + 221: 201 Load 203(g_tTex2di4a) + 222: 14(int) ImageQueryLevels 221 + Store 23(NumberOfLevelsU) 222 + 227: 224 Load 226(g_tTex2du4a) + 228: 180(ivec3) ImageQuerySize 227 + Store 223(sizeQueryTemp) 228 + 229: 7(ptr) AccessChain 223(sizeQueryTemp) 61 + 230: 6(int) Load 229 + Store 16(WidthU) 230 + 231: 7(ptr) AccessChain 223(sizeQueryTemp) 65 + 232: 6(int) Load 231 + Store 123(HeightU) 232 + 233: 7(ptr) AccessChain 223(sizeQueryTemp) 186 + 234: 6(int) Load 233 + Store 64(ElementsU) 234 + 236: 224 Load 226(g_tTex2du4a) + 237: 180(ivec3) ImageQuerySizeLod 236 20 + Store 235(sizeQueryTemp) 237 + 238: 7(ptr) AccessChain 235(sizeQueryTemp) 61 + 239: 6(int) Load 238 + Store 16(WidthU) 239 + 240: 7(ptr) AccessChain 235(sizeQueryTemp) 65 + 241: 6(int) Load 240 + Store 123(HeightU) 241 + 242: 7(ptr) AccessChain 235(sizeQueryTemp) 186 + 243: 6(int) Load 242 + Store 64(ElementsU) 243 + 244: 224 Load 226(g_tTex2du4a) + 245: 14(int) ImageQueryLevels 244 + Store 23(NumberOfLevelsU) 245 + 250: 247 Load 249(g_tTex3df4) + 251: 180(ivec3) ImageQuerySize 250 + Store 246(sizeQueryTemp) 251 + 252: 7(ptr) AccessChain 246(sizeQueryTemp) 61 + 253: 6(int) Load 252 + Store 16(WidthU) 253 + 254: 7(ptr) AccessChain 246(sizeQueryTemp) 65 + 255: 6(int) Load 254 + Store 123(HeightU) 255 + 257: 7(ptr) AccessChain 246(sizeQueryTemp) 186 + 258: 6(int) Load 257 + Store 256(DepthU) 258 + 260: 247 Load 249(g_tTex3df4) + 261: 180(ivec3) ImageQuerySizeLod 260 20 + Store 259(sizeQueryTemp) 261 + 262: 7(ptr) AccessChain 259(sizeQueryTemp) 61 + 263: 6(int) Load 262 + Store 16(WidthU) 263 + 264: 7(ptr) AccessChain 259(sizeQueryTemp) 65 + 265: 6(int) Load 264 + Store 123(HeightU) 265 + 266: 7(ptr) AccessChain 259(sizeQueryTemp) 186 + 267: 6(int) Load 266 + Store 256(DepthU) 267 + 268: 247 Load 249(g_tTex3df4) + 269: 14(int) ImageQueryLevels 268 + Store 23(NumberOfLevelsU) 269 + 274: 271 Load 273(g_tTex3di4) + 275: 180(ivec3) ImageQuerySize 274 + Store 270(sizeQueryTemp) 275 + 276: 7(ptr) AccessChain 270(sizeQueryTemp) 61 + 277: 6(int) Load 276 + Store 16(WidthU) 277 + 278: 7(ptr) AccessChain 270(sizeQueryTemp) 65 + 279: 6(int) Load 278 + Store 123(HeightU) 279 + 280: 7(ptr) AccessChain 270(sizeQueryTemp) 186 + 281: 6(int) Load 280 + Store 256(DepthU) 281 + 283: 271 Load 273(g_tTex3di4) + 284: 180(ivec3) ImageQuerySizeLod 283 20 + Store 282(sizeQueryTemp) 284 + 285: 7(ptr) AccessChain 282(sizeQueryTemp) 61 + 286: 6(int) Load 285 + Store 16(WidthU) 286 + 287: 7(ptr) AccessChain 282(sizeQueryTemp) 65 + 288: 6(int) Load 287 + Store 123(HeightU) 288 + 289: 7(ptr) AccessChain 282(sizeQueryTemp) 186 + 290: 6(int) Load 289 + Store 256(DepthU) 290 + 291: 271 Load 273(g_tTex3di4) + 292: 14(int) ImageQueryLevels 291 + Store 23(NumberOfLevelsU) 292 + 297: 294 Load 296(g_tTex3du4) + 298: 180(ivec3) ImageQuerySize 297 + Store 293(sizeQueryTemp) 298 + 299: 7(ptr) AccessChain 293(sizeQueryTemp) 61 + 300: 6(int) Load 299 + Store 16(WidthU) 300 + 301: 7(ptr) AccessChain 293(sizeQueryTemp) 65 + 302: 6(int) Load 301 + Store 123(HeightU) 302 + 303: 7(ptr) AccessChain 293(sizeQueryTemp) 186 + 304: 6(int) Load 303 + Store 256(DepthU) 304 + 306: 294 Load 296(g_tTex3du4) + 307: 180(ivec3) ImageQuerySizeLod 306 20 + Store 305(sizeQueryTemp) 307 + 308: 7(ptr) AccessChain 305(sizeQueryTemp) 61 + 309: 6(int) Load 308 + Store 16(WidthU) 309 + 310: 7(ptr) AccessChain 305(sizeQueryTemp) 65 + 311: 6(int) Load 310 + Store 123(HeightU) 311 + 312: 7(ptr) AccessChain 305(sizeQueryTemp) 186 + 313: 6(int) Load 312 + Store 256(DepthU) 313 + 314: 294 Load 296(g_tTex3du4) + 315: 14(int) ImageQueryLevels 314 + Store 23(NumberOfLevelsU) 315 + 320: 317 Load 319(g_tTexcdf4) + 321: 59(ivec2) ImageQuerySize 320 + Store 316(sizeQueryTemp) 321 + 322: 7(ptr) AccessChain 316(sizeQueryTemp) 61 + 323: 6(int) Load 322 + Store 16(WidthU) 323 + 324: 7(ptr) AccessChain 316(sizeQueryTemp) 65 + 325: 6(int) Load 324 + Store 123(HeightU) 325 + 327: 317 Load 319(g_tTexcdf4) + 328: 59(ivec2) ImageQuerySizeLod 327 20 + Store 326(sizeQueryTemp) 328 + 329: 7(ptr) AccessChain 326(sizeQueryTemp) 61 + 330: 6(int) Load 329 + Store 16(WidthU) 330 + 331: 7(ptr) AccessChain 326(sizeQueryTemp) 65 + 332: 6(int) Load 331 + Store 123(HeightU) 332 + 333: 317 Load 319(g_tTexcdf4) + 334: 14(int) ImageQueryLevels 333 + Store 23(NumberOfLevelsU) 334 + 339: 336 Load 338(g_tTexcdi4) + 340: 59(ivec2) ImageQuerySize 339 + Store 335(sizeQueryTemp) 340 + 341: 7(ptr) AccessChain 335(sizeQueryTemp) 61 + 342: 6(int) Load 341 + Store 16(WidthU) 342 + 343: 7(ptr) AccessChain 335(sizeQueryTemp) 65 + 344: 6(int) Load 343 + Store 123(HeightU) 344 + 346: 336 Load 338(g_tTexcdi4) + 347: 59(ivec2) ImageQuerySizeLod 346 20 + Store 345(sizeQueryTemp) 347 + 348: 7(ptr) AccessChain 345(sizeQueryTemp) 61 + 349: 6(int) Load 348 + Store 16(WidthU) 349 + 350: 7(ptr) AccessChain 345(sizeQueryTemp) 65 + 351: 6(int) Load 350 + Store 123(HeightU) 351 + 352: 336 Load 338(g_tTexcdi4) + 353: 14(int) ImageQueryLevels 352 + Store 23(NumberOfLevelsU) 353 + 358: 355 Load 357(g_tTexcdu4) + 359: 59(ivec2) ImageQuerySize 358 + Store 354(sizeQueryTemp) 359 + 360: 7(ptr) AccessChain 354(sizeQueryTemp) 61 + 361: 6(int) Load 360 + Store 16(WidthU) 361 + 362: 7(ptr) AccessChain 354(sizeQueryTemp) 65 + 363: 6(int) Load 362 + Store 123(HeightU) 363 + 365: 355 Load 357(g_tTexcdu4) + 366: 59(ivec2) ImageQuerySizeLod 365 20 + Store 364(sizeQueryTemp) 366 + 367: 7(ptr) AccessChain 364(sizeQueryTemp) 61 + 368: 6(int) Load 367 + Store 16(WidthU) 368 + 369: 7(ptr) AccessChain 364(sizeQueryTemp) 65 + 370: 6(int) Load 369 + Store 123(HeightU) 370 + 371: 355 Load 357(g_tTexcdu4) + 372: 14(int) ImageQueryLevels 371 + Store 23(NumberOfLevelsU) 372 + 377: 374 Load 376(g_tTexcdf4a) + 378: 180(ivec3) ImageQuerySize 377 + Store 373(sizeQueryTemp) 378 + 379: 7(ptr) AccessChain 373(sizeQueryTemp) 61 + 380: 6(int) Load 379 + Store 16(WidthU) 380 + 381: 7(ptr) AccessChain 373(sizeQueryTemp) 65 + 382: 6(int) Load 381 + Store 123(HeightU) 382 + 383: 7(ptr) AccessChain 373(sizeQueryTemp) 186 + 384: 6(int) Load 383 + Store 64(ElementsU) 384 + 386: 374 Load 376(g_tTexcdf4a) + 387: 180(ivec3) ImageQuerySizeLod 386 20 + Store 385(sizeQueryTemp) 387 + 388: 7(ptr) AccessChain 385(sizeQueryTemp) 61 + 389: 6(int) Load 388 + Store 16(WidthU) 389 + 390: 7(ptr) AccessChain 385(sizeQueryTemp) 65 + 391: 6(int) Load 390 + Store 123(HeightU) 391 + 392: 7(ptr) AccessChain 385(sizeQueryTemp) 186 + 393: 6(int) Load 392 + Store 64(ElementsU) 393 + 394: 374 Load 376(g_tTexcdf4a) + 395: 14(int) ImageQueryLevels 394 + Store 23(NumberOfLevelsU) 395 + 400: 397 Load 399(g_tTexcdi4a) + 401: 180(ivec3) ImageQuerySize 400 + Store 396(sizeQueryTemp) 401 + 402: 7(ptr) AccessChain 396(sizeQueryTemp) 61 + 403: 6(int) Load 402 + Store 16(WidthU) 403 + 404: 7(ptr) AccessChain 396(sizeQueryTemp) 65 + 405: 6(int) Load 404 + Store 123(HeightU) 405 + 406: 7(ptr) AccessChain 396(sizeQueryTemp) 186 + 407: 6(int) Load 406 + Store 64(ElementsU) 407 + 409: 397 Load 399(g_tTexcdi4a) + 410: 180(ivec3) ImageQuerySizeLod 409 20 + Store 408(sizeQueryTemp) 410 + 411: 7(ptr) AccessChain 408(sizeQueryTemp) 61 + 412: 6(int) Load 411 + Store 16(WidthU) 412 + 413: 7(ptr) AccessChain 408(sizeQueryTemp) 65 + 414: 6(int) Load 413 + Store 123(HeightU) 414 + 415: 7(ptr) AccessChain 408(sizeQueryTemp) 186 + 416: 6(int) Load 415 + Store 64(ElementsU) 416 + 417: 397 Load 399(g_tTexcdi4a) + 418: 14(int) ImageQueryLevels 417 + Store 23(NumberOfLevelsU) 418 + 423: 420 Load 422(g_tTexcdu4a) + 424: 180(ivec3) ImageQuerySize 423 + Store 419(sizeQueryTemp) 424 + 425: 7(ptr) AccessChain 419(sizeQueryTemp) 61 + 426: 6(int) Load 425 + Store 16(WidthU) 426 + 427: 7(ptr) AccessChain 419(sizeQueryTemp) 65 + 428: 6(int) Load 427 + Store 123(HeightU) 428 + 429: 7(ptr) AccessChain 419(sizeQueryTemp) 186 + 430: 6(int) Load 429 + Store 64(ElementsU) 430 + 432: 420 Load 422(g_tTexcdu4a) + 433: 180(ivec3) ImageQuerySizeLod 432 20 + Store 431(sizeQueryTemp) 433 + 434: 7(ptr) AccessChain 431(sizeQueryTemp) 61 + 435: 6(int) Load 434 + Store 16(WidthU) 435 + 436: 7(ptr) AccessChain 431(sizeQueryTemp) 65 + 437: 6(int) Load 436 + Store 123(HeightU) 437 + 438: 7(ptr) AccessChain 431(sizeQueryTemp) 186 + 439: 6(int) Load 438 + Store 64(ElementsU) 439 + 440: 420 Load 422(g_tTexcdu4a) + 441: 14(int) ImageQueryLevels 440 + Store 23(NumberOfLevelsU) 441 + 449: 448(ptr) AccessChain 445(psout) 446 + Store 449 447 + 450:443(PS_OUTPUT) Load 445(psout) + ReturnValue 450 + FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out new file mode 100644 index 00000000..27d4dbe1 --- /dev/null +++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -0,0 +1,160 @@ +hlsl.getdimensions.dx10.vert +Shader version: 450 +0:? Sequence +0:28 Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos}) +0:11 Function Parameters: +0:? Sequence +0:21 Sequence +0:21 move second child to first child (temp uint) +0:21 'sizeQueryTemp' (temp uint) +0:21 textureSize (temp uint) +0:21 'g_tTex1df4' (uniform texture1D) +0:21 move second child to first child (temp uint) +0:21 'WidthU' (temp uint) +0:21 'sizeQueryTemp' (temp uint) +0:22 Sequence +0:22 move second child to first child (temp uint) +0:22 'sizeQueryTemp' (temp uint) +0:22 textureSize (temp uint) +0:22 'g_tTex1df4' (uniform texture1D) +0:22 Constant: +0:22 6 (const uint) +0:22 move second child to first child (temp uint) +0:22 'WidthU' (temp uint) +0:22 'sizeQueryTemp' (temp uint) +0:22 move second child to first child (temp uint) +0:22 'NumberOfLevelsU' (temp uint) +0:22 textureQueryLevels (temp uint) +0:22 'g_tTex1df4' (uniform texture1D) +0:24 move second child to first child (temp 4-component vector of float) +0:24 Pos: direct index for structure (temp 4-component vector of float FragCoord) +0:24 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:24 Constant: +0:24 0 (const int) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:26 Branch: Return with expression +0:26 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? Linker Objects +0:? 'g_sSamp' (uniform sampler) +0:? 'g_tTex1df4' (uniform texture1D) + + +Linked vertex stage: + + +Shader version: 450 +0:? Sequence +0:28 Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos}) +0:11 Function Parameters: +0:? Sequence +0:21 Sequence +0:21 move second child to first child (temp uint) +0:21 'sizeQueryTemp' (temp uint) +0:21 textureSize (temp uint) +0:21 'g_tTex1df4' (uniform texture1D) +0:21 move second child to first child (temp uint) +0:21 'WidthU' (temp uint) +0:21 'sizeQueryTemp' (temp uint) +0:22 Sequence +0:22 move second child to first child (temp uint) +0:22 'sizeQueryTemp' (temp uint) +0:22 textureSize (temp uint) +0:22 'g_tTex1df4' (uniform texture1D) +0:22 Constant: +0:22 6 (const uint) +0:22 move second child to first child (temp uint) +0:22 'WidthU' (temp uint) +0:22 'sizeQueryTemp' (temp uint) +0:22 move second child to first child (temp uint) +0:22 'NumberOfLevelsU' (temp uint) +0:22 textureQueryLevels (temp uint) +0:22 'g_tTex1df4' (uniform texture1D) +0:24 move second child to first child (temp 4-component vector of float) +0:24 Pos: direct index for structure (temp 4-component vector of float FragCoord) +0:24 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:24 Constant: +0:24 0 (const int) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:26 Branch: Return with expression +0:26 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? Linker Objects +0:? 'g_sSamp' (uniform sampler) +0:? 'g_tTex1df4' (uniform texture1D) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 40 + + Capability Shader + Capability Sampled1D + Capability ImageQuery + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" + Source HLSL 450 + Name 4 "main" + Name 8 "sizeQueryTemp" + Name 12 "g_tTex1df4" + Name 16 "WidthU" + Name 18 "sizeQueryTemp" + Name 23 "NumberOfLevelsU" + Name 27 "VS_OUTPUT" + MemberName 27(VS_OUTPUT) 0 "Pos" + Name 29 "vsout" + Name 39 "g_sSamp" + Decorate 12(g_tTex1df4) DescriptorSet 0 + MemberDecorate 27(VS_OUTPUT) 0 BuiltIn FragCoord + Decorate 39(g_sSamp) DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 9: TypeFloat 32 + 10: TypeImage 9(float) 1D sampled format:Unknown + 11: TypePointer UniformConstant 10 + 12(g_tTex1df4): 11(ptr) Variable UniformConstant + 14: TypeInt 32 1 + 20: 6(int) Constant 6 + 26: TypeVector 9(float) 4 + 27(VS_OUTPUT): TypeStruct 26(fvec4) + 28: TypePointer Function 27(VS_OUTPUT) + 30: 14(int) Constant 0 + 31: 9(float) Constant 0 + 32: 26(fvec4) ConstantComposite 31 31 31 31 + 33: TypePointer Function 26(fvec4) + 37: TypeSampler + 38: TypePointer UniformConstant 37 + 39(g_sSamp): 38(ptr) Variable UniformConstant + 4(main): 2 Function None 3 + 5: Label +8(sizeQueryTemp): 7(ptr) Variable Function + 16(WidthU): 7(ptr) Variable Function +18(sizeQueryTemp): 7(ptr) Variable Function +23(NumberOfLevelsU): 7(ptr) Variable Function + 29(vsout): 28(ptr) Variable Function + 13: 10 Load 12(g_tTex1df4) + 15: 14(int) ImageQuerySize 13 + Store 8(sizeQueryTemp) 15 + 17: 6(int) Load 8(sizeQueryTemp) + Store 16(WidthU) 17 + 19: 10 Load 12(g_tTex1df4) + 21: 14(int) ImageQuerySizeLod 19 20 + Store 18(sizeQueryTemp) 21 + 22: 6(int) Load 18(sizeQueryTemp) + Store 16(WidthU) 22 + 24: 10 Load 12(g_tTex1df4) + 25: 14(int) ImageQueryLevels 24 + Store 23(NumberOfLevelsU) 25 + 34: 33(ptr) AccessChain 29(vsout) 30 + Store 34 32 + 35:27(VS_OUTPUT) Load 29(vsout) + ReturnValue 35 + FunctionEnd diff --git a/Test/hlsl.getdimensions.dx10.frag b/Test/hlsl.getdimensions.dx10.frag new file mode 100644 index 00000000..1adc5e4f --- /dev/null +++ b/Test/hlsl.getdimensions.dx10.frag @@ -0,0 +1,237 @@ +SamplerState g_sSamp : register(s0); + +uniform Texture1D g_tTex1df4 : register(t0); +Texture1D g_tTex1di4; +Texture1D g_tTex1du4; + +Texture2D g_tTex2df4; +Texture2D g_tTex2di4; +Texture2D g_tTex2du4; + +Texture3D g_tTex3df4; +Texture3D g_tTex3di4; +Texture3D g_tTex3du4; + +TextureCube g_tTexcdf4; +TextureCube g_tTexcdi4; +TextureCube g_tTexcdu4; + +Texture1DArray g_tTex1df4a; +Texture1DArray g_tTex1di4a; +Texture1DArray g_tTex1du4a; + +Texture2DArray g_tTex2df4a; +Texture2DArray g_tTex2di4a; +Texture2DArray g_tTex2du4a; + +TextureCubeArray g_tTexcdf4a; +TextureCubeArray g_tTexcdi4a; +TextureCubeArray g_tTexcdu4a; + +struct PS_OUTPUT +{ + float4 Color : SV_Target0; + float Depth : SV_Depth; +}; + +PS_OUTPUT main() +{ + PS_OUTPUT psout; + + uint MipLevel; + uint WidthU; + uint HeightU; + uint ElementsU; + uint DepthU; + uint NumberOfLevelsU; + uint NumberOfSamplesU; + + float WidthF; + float HeightF; + float ElementsF; + float DepthF; + float NumberOfLevelsF; + float NumberOfSamplesF; + + // 1D, float tx, uint params + g_tTex1df4 . GetDimensions(WidthU); + g_tTex1df4 . GetDimensions(6, WidthU, NumberOfLevelsU); + + // 1D, int, uint params + g_tTex1di4 . GetDimensions(WidthU); + g_tTex1di4 . GetDimensions(6, WidthU, NumberOfLevelsU); + + // 1D, uint, uint params + g_tTex1du4 . GetDimensions(WidthU); + g_tTex1du4 . GetDimensions(6, WidthU, NumberOfLevelsU); + + // 1DArray, float tx, uint params + g_tTex1df4a . GetDimensions(WidthU, ElementsU); + g_tTex1df4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU); + + // 1DArray, int, uint params + g_tTex1di4a . GetDimensions(WidthU, ElementsU); + g_tTex1di4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU); + + // 1DArray, uint, uint params + g_tTex1du4a . GetDimensions(WidthU, ElementsU); + g_tTex1du4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU); + + // 2D, float tx, uint params + g_tTex2df4 . GetDimensions(WidthU, HeightU); + g_tTex2df4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); + + // 2D, int, uint params + g_tTex2di4 . GetDimensions(WidthU, HeightU); + g_tTex2di4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); + + // 2D, uint, uint params + g_tTex2du4 . GetDimensions(WidthU, HeightU); + g_tTex2du4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); + + // 2Darray, float tx, uint params + g_tTex2df4a . GetDimensions(WidthU, HeightU, ElementsU); + g_tTex2df4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); + + // 2Darray, int, uint params + g_tTex2di4a . GetDimensions(WidthU, HeightU, ElementsU); + g_tTex2di4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); + + // 2Darray, uint, uint params + g_tTex2du4a . GetDimensions(WidthU, HeightU, ElementsU); + g_tTex2du4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); + + // 3D, float tx, uint params + g_tTex3df4 . GetDimensions(WidthU, HeightU, DepthU); + g_tTex3df4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU); + + // 3D, int, uint params + g_tTex3di4 . GetDimensions(WidthU, HeightU, DepthU); + g_tTex3di4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU); + + // 3D, uint, uint params + g_tTex3du4 . GetDimensions(WidthU, HeightU, DepthU); + g_tTex3du4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU); + + // Cube, float tx, uint params + g_tTexcdf4 . GetDimensions(WidthU, HeightU); + g_tTexcdf4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); + + // Cube, int, uint params + g_tTexcdi4 . GetDimensions(WidthU, HeightU); + g_tTexcdi4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); + + // Cube, uint, uint params + g_tTexcdu4 . GetDimensions(WidthU, HeightU); + g_tTexcdu4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); + + // Cubearray, float tx, uint params + g_tTexcdf4a . GetDimensions(WidthU, HeightU, ElementsU); + g_tTexcdf4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); + + // Cubearray, int, uint params + g_tTexcdi4a . GetDimensions(WidthU, HeightU, ElementsU); + g_tTexcdi4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); + + // Cubearray, uint, uint params + g_tTexcdu4a . GetDimensions(WidthU, HeightU, ElementsU); + g_tTexcdu4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); + + + // TODO: *************************************************** + // Change this to 1 to enable float overloads when the HLSL + // function overload resolution is fixed. +#define OVERLOAD_FIX 0 + + // TODO: enable when function overload resolution rules are fixed +#if OVERLOAD_FIX + // 1D, float tx, float params + g_tTex1df4 . GetDimensions(WidthF); + g_tTex1df4 . GetDimensions(6, WidthF, NumberOfLevelsF); + + // 1D, int, float params + g_tTex1di4 . GetDimensions(WidthF); + g_tTex1di4 . GetDimensions(6, WidthF, NumberOfLevelsF); + + // 1D, uint, float params + g_tTex1du4 . GetDimensions(WidthF); + g_tTex1du4 . GetDimensions(6, WidthF, NumberOfLevelsF); + + // 1DArray, float tx, float params + g_tTex1df4a . GetDimensions(WidthF, ElementsF); + g_tTex1df4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF); + + // 1DArray, int, float params + g_tTex1di4a . GetDimensions(WidthF, ElementsF); + g_tTex1di4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF); + + // 1DArray, uint, float params + g_tTex1du4a . GetDimensions(WidthF, ElementsF); + g_tTex1du4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF); + + // 2D, float tx, float params + g_tTex2df4 . GetDimensions(WidthF, HeightF); + g_tTex2df4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); + + // 2D, int, float params + g_tTex2di4 . GetDimensions(WidthF, HeightF); + g_tTex2di4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); + + // 2D, uint, float params + g_tTex2du4 . GetDimensions(WidthF, HeightF); + g_tTex2du4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); + + // 2Darray, float tx, float params + g_tTex2df4a . GetDimensions(WidthF, HeightF, ElementsF); + g_tTex2df4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); + + // 2Darray, int, float params + g_tTex2di4a . GetDimensions(WidthF, HeightF, ElementsF); + g_tTex2di4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); + + // 2Darray, uint, float params + g_tTex2du4a . GetDimensions(WidthF, HeightF, ElementsF); + g_tTex2du4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); + + // 3D, float tx, float params + g_tTex3df4 . GetDimensions(WidthF, HeightF, DepthF); + g_tTex3df4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF); + + // 3D, int, float params + g_tTex3di4 . GetDimensions(WidthF, HeightF, DepthF); + g_tTex3di4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF); + + // 3D, uint, float params + g_tTex3du4 . GetDimensions(WidthF, HeightF, DepthF); + g_tTex3du4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF); + + // Cube, float tx, float params + g_tTexcdf4 . GetDimensions(WidthF, HeightF); + g_tTexcdf4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); + + // Cube, int, float params + g_tTexcdi4 . GetDimensions(WidthF, HeightF); + g_tTexcdi4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); + + // Cube, uint, float params + g_tTexcdu4 . GetDimensions(WidthF, HeightF); + g_tTexcdu4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); + + // Cubearray, float tx, float params + g_tTexcdf4a . GetDimensions(WidthF, HeightF, ElementsF); + g_tTexcdf4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); + + // Cubearray, int, float params + g_tTexcdi4a . GetDimensions(WidthF, HeightF, ElementsF); + g_tTexcdi4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); + + // Cubearray, uint, float params + g_tTexcdu4a . GetDimensions(WidthF, HeightF, ElementsF); + g_tTexcdu4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); +#endif // OVERLOAD_FIX + + psout.Color = 1.0; + psout.Depth = 1.0; + + return psout; +} diff --git a/Test/hlsl.getdimensions.dx10.vert b/Test/hlsl.getdimensions.dx10.vert new file mode 100644 index 00000000..0249b1c2 --- /dev/null +++ b/Test/hlsl.getdimensions.dx10.vert @@ -0,0 +1,27 @@ +SamplerState g_sSamp : register(s0); + +uniform Texture1D g_tTex1df4 : register(t0); + +struct VS_OUTPUT +{ + float4 Pos : SV_Position; +}; + +VS_OUTPUT main() +{ + VS_OUTPUT vsout; + + uint WidthU; + uint NumberOfLevelsU; + + // Most of the tests are in the hlsl.getdimensions.dx10.frag on the fragment side. + // This is just to establish that GetDimensions appears in the vertex stage. + + // 1D, float tx, uint params + g_tTex1df4 . GetDimensions(WidthU); + g_tTex1df4 . GetDimensions(6, WidthU, NumberOfLevelsU); + + vsout.Pos = float4(0,0,0,0); + + return vsout; +} diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index f3ea8950..39a9fff6 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -85,6 +85,7 @@ struct TSampler { // misnomer now; includes images, textures without sampler, bool isPureSampler() const { return sampler; } bool isTexture() const { return !sampler && !image; } bool isShadow() const { return shadow; } + bool isArrayed() const { return arrayed; } void clear() { diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index 5a6be40d..c1bfcb9e 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -81,6 +81,8 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.float1.frag", "PixelShaderFunction"}, {"hlsl.float4.frag", "PixelShaderFunction"}, {"hlsl.forLoop.frag", "PixelShaderFunction"}, + {"hlsl.getdimensions.dx10.frag", "main"}, + {"hlsl.getdimensions.dx10.vert", "main"}, {"hlsl.if.frag", "PixelShaderFunction"}, {"hlsl.inoutquals.frag", "main"}, {"hlsl.init.frag", "ShaderFunction"}, diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index c149b1c2..61fe8f58 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -661,14 +661,14 @@ bool HlslGrammar::acceptSamplerType(TType& type) // read sampler type const EHlslTokenClass samplerType = peek(); - TSamplerDim dim = EsdNone; + // TSamplerDim dim = EsdNone; switch (samplerType) { case EHTokSampler: break; - case EHTokSampler1d: dim = Esd1D; break; - case EHTokSampler2d: dim = Esd2D; break; - case EHTokSampler3d: dim = Esd3D; break; - case EHTokSamplerCube: dim = EsdCube; break; + case EHTokSampler1d: /*dim = Esd1D*/; break; + case EHTokSampler2d: /*dim = Esd2D*/; break; + case EHTokSampler3d: /*dim = Esd3D*/; break; + case EHTokSamplerCube: /*dim = EsdCube*/; break; case EHTokSamplerState: break; case EHTokSamplerComparisonState: break; default: diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index b7b70007..25dd7453 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -964,6 +964,105 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType break; } + case EOpMethodGetDimensions: + { + // AST returns a vector of results, which we break apart component-wise into + // separate values to assign to the HLSL method's outputs, ala: + // tx . GetDimensions(width, height); + // float2 sizeQueryTemp = EOpTextureQuerySize + // width = sizeQueryTemp.X; + // height = sizeQueryTemp.Y; + + TIntermTyped* argTex = argAggregate->getSequence()[0]->getAsTyped(); + const TType& texType = argTex->getType(); + + assert(texType.getBasicType() == EbtSampler); + + const TSampler& texSampler = texType.getSampler(); + const TSamplerDim dim = texSampler.dim; + const int numArgs = argAggregate->getSequence().size(); + + int numDims = 0; + + switch (dim) { + case Esd1D: numDims = 1; break; // W + case Esd2D: numDims = 2; break; // W, H + case Esd3D: numDims = 3; break; // W, H, D + case EsdCube: numDims = 2; break; // W, H (cube) + default: + assert(0 && "unhandled texture dimension"); + } + + // Arrayed adds another dimension for the number of array elements + if (texSampler.isArrayed()) + ++numDims; + + // Establish whether we're querying mip levels + const bool mipQuery = numArgs > (numDims + 1); + + // AST assumes integer return. Will be converted to float if required. + TIntermAggregate* sizeQuery = new TIntermAggregate(EOpTextureQuerySize); + sizeQuery->getSequence().push_back(argTex); + // If we're querying an explicit LOD, add the LOD, which is always arg #1 + if (mipQuery) { + TIntermTyped* queryLod = argAggregate->getSequence()[1]->getAsTyped(); + sizeQuery->getSequence().push_back(queryLod); + } + sizeQuery->setType(TType(EbtUint, EvqTemporary, numDims)); + sizeQuery->setLoc(loc); + + // Return value from size query + TVariable* tempArg = makeInternalVariable("sizeQueryTemp", sizeQuery->getType()); + tempArg->getWritableType().getQualifier().makeTemporary(); + TIntermSymbol* sizeQueryReturn = intermediate.addSymbol(*tempArg, loc); + + TIntermTyped* sizeQueryAssign = intermediate.addAssign(EOpAssign, sizeQueryReturn, sizeQuery, loc); + + // Compound statement for assigning outputs + TIntermAggregate* compoundStatement = intermediate.makeAggregate(sizeQueryAssign, loc); + // Index of first output parameter + const int outParamBase = mipQuery ? 2 : 1; + + for (int compNum = 0; compNum < numDims; ++compNum) { + TIntermTyped* indexedOut = nullptr; + + if (numDims > 1) { + TIntermTyped* component = intermediate.addConstantUnion(compNum, loc, true); + indexedOut = intermediate.addIndex(EOpIndexDirect, sizeQueryReturn, component, loc); + indexedOut->setType(TType(EbtUint, EvqTemporary, 1)); + indexedOut->setLoc(loc); + } else { + indexedOut = sizeQueryReturn; + } + + TIntermTyped* outParam = argAggregate->getSequence()[outParamBase + compNum]->getAsTyped(); + TIntermTyped* compAssign = intermediate.addAssign(EOpAssign, outParam, indexedOut, loc); + + compoundStatement = intermediate.growAggregate(compoundStatement, compAssign); + } + + // handle mip level parameter + if (mipQuery) { + TIntermTyped* outParam = argAggregate->getSequence()[outParamBase + numDims]->getAsTyped(); + + TIntermAggregate* levelsQuery = new TIntermAggregate(EOpTextureQueryLevels); + levelsQuery->getSequence().push_back(argTex); + levelsQuery->setType(TType(EbtUint, EvqTemporary, 1)); + levelsQuery->setLoc(loc); + + TIntermTyped* compAssign = intermediate.addAssign(EOpAssign, outParam, levelsQuery, loc); + compoundStatement = intermediate.growAggregate(compoundStatement, compAssign); + } + + compoundStatement->setOperator(EOpSequence); + compoundStatement->setLoc(loc); + compoundStatement->setType(TType(EbtVoid)); + + node = compoundStatement; + + break; + } + default: break; // most pass through unchanged } diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp index 61b176b8..d318a865 100755 --- a/hlsl/hlslParseables.cpp +++ b/hlsl/hlslParseables.cpp @@ -272,6 +272,18 @@ inline const char* FindEndOfArg(const char* arg) return *arg == '\0' ? nullptr : arg; } +// If this is a fixed vector size, such as V3, return the size. Else return 0. +int FixedVecSize(const char* arg) +{ + while (!IsEndOfArg(arg)) { + if (isdigit(*arg)) + return *arg - '0'; + ++arg; + } + + return 0; // none found. +} + // Return pointer to beginning of Nth argument specifier in the string. inline const char* NthArg(const char* arg, int n) @@ -571,6 +583,61 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c // { "Load", /* +sampleidex*/ "V4", nullptr, "@V,V,S", "FIU,I,I", EShLangFragmentMask }, // { "Load", /* +samplindex, offset*/ "V4", nullptr, "@V,V,S,V", "FIU,I,I,I", EShLangFragmentMask }, + // table of overloads from: https://msdn.microsoft.com/en-us/library/windows/desktop/bb509693(v=vs.85).aspx + // + // UINT Width + // UINT MipLevel, UINT Width, UINT NumberOfLevels + { "GetDimensions", /* 1D */ "-", "-", "%V1,>S", "FUI,U", EShLangAll }, + { "GetDimensions", /* 1D */ "-", "-", "%V1,>S", "FUI,F", EShLangAll }, + { "GetDimensions", /* 1D */ "-", "-", "%V1,S,>S,>S", "FUI,U,U,U", EShLangAll }, + { "GetDimensions", /* 1D */ "-", "-", "%V1,S,>S,>S", "FUI,U,F,F", EShLangAll }, + + // UINT Width, UINT Elements + // UINT MipLevel, UINT Width, UINT Elements, UINT NumberOfLevels + { "GetDimensions", /* 1DArray */ "-", "-", "@V1,>S,>S", "FUI,U,U", EShLangAll }, + { "GetDimensions", /* 1DArray */ "-", "-", "@V1,>S,>S", "FUI,F,F", EShLangAll }, + { "GetDimensions", /* 1DArray */ "-", "-", "@V1,S,>S,>S,>S", "FUI,U,U,U,U", EShLangAll }, + { "GetDimensions", /* 1DArray */ "-", "-", "@V1,S,>S,>S,>S", "FUI,U,F,F,F", EShLangAll }, + + // UINT Width, UINT Height + // UINT MipLevel, UINT Width, UINT Height, UINT NumberOfLevels + { "GetDimensions", /* 2D */ "-", "-", "%V2,>S,>S", "FUI,U,U", EShLangAll }, + { "GetDimensions", /* 2D */ "-", "-", "%V2,>S,>S", "FUI,F,F", EShLangAll }, + { "GetDimensions", /* 2D */ "-", "-", "%V2,S,>S,>S,>S", "FUI,U,U,U,U", EShLangAll }, + { "GetDimensions", /* 2D */ "-", "-", "%V2,S,>S,>S,>S", "FUI,U,F,F,F", EShLangAll }, + + // UINT Width, UINT Height, UINT Elements + // UINT MipLevel, UINT Width, UINT Height, UINT Elements, UINT NumberOfLevels + { "GetDimensions", /* 2DArray */ "-", "-", "@V2,>S,>S,>S", "FUI,U,U,U", EShLangAll }, + { "GetDimensions", /* 2DArray */ "-", "-", "@V2,>S,>S,>S", "FUI,F,F,F", EShLangAll }, + { "GetDimensions", /* 2DArray */ "-", "-", "@V2,S,>S,>S,>S,>S", "FUI,U,U,U,U,U", EShLangAll }, + { "GetDimensions", /* 2DArray */ "-", "-", "@V2,S,>S,>S,>S,>S", "FUI,U,F,F,F,F", EShLangAll }, + + // UINT Width, UINT Height, UINT Depth + // UINT MipLevel, UINT Width, UINT Height, UINT Depth, UINT NumberOfLevels + { "GetDimensions", /* 3D */ "-", "-", "%V3,>S,>S,>S", "FUI,U,U,U", EShLangAll }, + { "GetDimensions", /* 3D */ "-", "-", "%V3,>S,>S,>S", "FUI,F,F,F", EShLangAll }, + { "GetDimensions", /* 3D */ "-", "-", "%V3,S,>S,>S,>S,>S", "FUI,U,U,U,U,U", EShLangAll }, + { "GetDimensions", /* 3D */ "-", "-", "%V3,S,>S,>S,>S,>S", "FUI,U,F,F,F,F", EShLangAll }, + + // UINT Width, UINT Height + // UINT MipLevel, UINT Width, UINT Height, UINT NumberOfLevels + { "GetDimensions", /* Cube */ "-", "-", "%V4,>S,>S", "FUI,U,U", EShLangAll }, + { "GetDimensions", /* Cube */ "-", "-", "%V4,>S,>S", "FUI,F,F", EShLangAll }, + { "GetDimensions", /* Cube */ "-", "-", "%V4,S,>S,>S,>S", "FUI,U,U,U,U", EShLangAll }, + { "GetDimensions", /* Cube */ "-", "-", "%V4,S,>S,>S,>S", "FUI,U,F,F,F", EShLangAll }, + + // UINT Width, UINT Height, UINT Elements + // UINT MipLevel, UINT Width, UINT Height, UINT Elements, UINT NumberOfLevels + { "GetDimensions", /* CubeArray */ "-", "-", "@V4,>S,>S,>S", "FUI,U,U,U", EShLangAll }, + { "GetDimensions", /* CubeArray */ "-", "-", "@V4,>S,>S,>S", "FUI,F,F,F", EShLangAll }, + { "GetDimensions", /* CubeArray */ "-", "-", "@V4,S,>S,>S,>S,>S", "FUI,U,U,U,U,U", EShLangAll }, + { "GetDimensions", /* CubeArray */ "-", "-", "@V4,S,>S,>S,>S,>S", "FUI,U,F,F,F,F", EShLangAll }, + + // TODO: GetDimensions for Texture2DMS, Texture2DMSArray + // UINT Width, UINT Height, UINT Samples + // UINT Width, UINT Height, UINT Elements, UINT Samples + // 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 }, }; @@ -593,7 +660,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c for (const char* argOrder = intrinsic.argOrder; !IsEndOfArg(argOrder); ++argOrder) { // for each order... const bool isTexture = IsTextureType(*argOrder); const bool isArrayed = IsTextureArrayed(*argOrder); - const int fixedVecSize = isdigit(argOrder[1]) ? (argOrder[1] - '0') : 0; + const int fixedVecSize = FixedVecSize(argOrder); // calculate min and max vector and matrix dimensions int dim0Min = 1; @@ -663,7 +730,10 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c } } - if (fixedVecSize > 0 || isTexture) // skip over special characters + // skip over special characters + if (isTexture) + ++argOrder; + if (isdigit(argOrder[1])) ++argOrder; } @@ -851,6 +921,7 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil symbolTable.relateToOperator("SampleGrad", EOpMethodSampleGrad); // symbolTable.relateToOperator("SampleLevel", EOpMethodSampleLevel); // symbolTable.relateToOperator("Load", EOpMethodLoad); + symbolTable.relateToOperator("GetDimensions", EOpMethodGetDimensions); } //