diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
new file mode 100644
index 0000000000000000000000000000000000000000..c1556b44af3dcf01d3249ab2f3fe91b596922621
--- /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 0000000000000000000000000000000000000000..27d4dbe1a73dbfbe0db6d419efedbac6c59941e5
--- /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 0000000000000000000000000000000000000000..1adc5e4f41e1b801db04fa0dc9da2849dc79947e
--- /dev/null
+++ b/Test/hlsl.getdimensions.dx10.frag
@@ -0,0 +1,237 @@
+SamplerState       g_sSamp : register(s0);
+
+uniform Texture1D <float4> g_tTex1df4 : register(t0);
+Texture1D <int4>   g_tTex1di4;
+Texture1D <uint4>  g_tTex1du4;
+
+Texture2D <float4> g_tTex2df4;
+Texture2D <int4>   g_tTex2di4;
+Texture2D <uint4>  g_tTex2du4;
+
+Texture3D <float4> g_tTex3df4;
+Texture3D <int4>   g_tTex3di4;
+Texture3D <uint4>  g_tTex3du4;
+
+TextureCube <float4> g_tTexcdf4;
+TextureCube <int4>   g_tTexcdi4;
+TextureCube <uint4>  g_tTexcdu4;
+
+Texture1DArray <float4> g_tTex1df4a;
+Texture1DArray <int4>   g_tTex1di4a;
+Texture1DArray <uint4>  g_tTex1du4a;
+
+Texture2DArray <float4> g_tTex2df4a;
+Texture2DArray <int4>   g_tTex2di4a;
+Texture2DArray <uint4>  g_tTex2du4a;
+
+TextureCubeArray <float4> g_tTexcdf4a;
+TextureCubeArray <int4>   g_tTexcdi4a;
+TextureCubeArray <uint4>  g_tTexcdu4a;
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+    float  Depth : SV_Depth;
+};
+
+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 0000000000000000000000000000000000000000..0249b1c2374a58dc6bd87df4766f34872a8880b8
--- /dev/null
+++ b/Test/hlsl.getdimensions.dx10.vert
@@ -0,0 +1,27 @@
+SamplerState       g_sSamp : register(s0);
+
+uniform Texture1D <float4> 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 f3ea8950869d35eed384877b83e82d331d9696de..39a9fff6c334ed7e98c21ae03630cbf7636acfca 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 5a6be40d6d1d969a50a11af98754d289e7ab9af2..c1bfcb9ef04a73cd0473622763eb2a8527acb140 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 c149b1c2516a6c32ead4a8e9812655c9d052f394..61fe8f588f17ccde8525d59a7b907da818448486 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 b7b70007d8623336b3ccfdbb4e14d061699bcd34..25dd7453651d17d78d0c32fd0685efcb9e3dd66b 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 61b176b8094f069d912b9cc60471221ca34c1c09..d318a865bd3d644097bb7a362fc5b453cb3e9631 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);
 }
 
 //