Fix two multi-sample bugs: 1) include MS in name mangling, 2) add 'sample' argument...
authorJohn Kessenich <cepheus@frii.com>
Mon, 17 Aug 2015 03:04:07 +0000 (21:04 -0600)
committerJohn Kessenich <cepheus@frii.com>
Mon, 17 Aug 2015 03:04:07 +0000 (21:04 -0600)
Test/baseResults/150.frag.out
Test/baseResults/310.frag.out
Test/baseResults/310.vert.out
Test/baseResults/420.vert.out
Test/baseResults/430.vert.out
Test/baseResults/450.frag.out
Test/baseResults/newTexture.frag.out
glslang/Include/revision.h
glslang/MachineIndependent/Initialize.cpp
glslang/MachineIndependent/SymbolTable.cpp

index f285c7a..aa63e5d 100644 (file)
@@ -28,51 +28,51 @@ ERROR: node is still EOpNull!
 0:33      Sequence\r
 0:33        move second child to first child (temp 2-component vector of int)\r
 0:33          't11' (temp 2-component vector of int)\r
-0:33          Function Call: textureSize(s21; (global 2-component vector of int)\r
+0:33          Function Call: textureSize(s2M1; (global 2-component vector of int)\r
 0:33            'sms' (uniform sampler2DMS)\r
 0:34      Sequence\r
 0:34        move second child to first child (temp 2-component vector of int)\r
 0:34          't12' (temp 2-component vector of int)\r
-0:34          Function Call: textureSize(is21; (global 2-component vector of int)\r
+0:34          Function Call: textureSize(is2M1; (global 2-component vector of int)\r
 0:34            'isms' (uniform isampler2DMS)\r
 0:35      Sequence\r
 0:35        move second child to first child (temp 2-component vector of int)\r
 0:35          't13' (temp 2-component vector of int)\r
-0:35          Function Call: textureSize(us21; (global 2-component vector of int)\r
+0:35          Function Call: textureSize(us2M1; (global 2-component vector of int)\r
 0:35            'usms' (uniform usampler2DMS)\r
 0:36      Sequence\r
 0:36        move second child to first child (temp 3-component vector of int)\r
 0:36          't21' (temp 3-component vector of int)\r
-0:36          Function Call: textureSize(sA21; (global 3-component vector of int)\r
+0:36          Function Call: textureSize(sA2M1; (global 3-component vector of int)\r
 0:36            'smsa' (uniform sampler2DMSArray)\r
 0:37      Sequence\r
 0:37        move second child to first child (temp 3-component vector of int)\r
 0:37          't22' (temp 3-component vector of int)\r
-0:37          Function Call: textureSize(isA21; (global 3-component vector of int)\r
+0:37          Function Call: textureSize(isA2M1; (global 3-component vector of int)\r
 0:37            'ismsa' (uniform isampler2DMSArray)\r
 0:38      Sequence\r
 0:38        move second child to first child (temp 3-component vector of int)\r
 0:38          't23' (temp 3-component vector of int)\r
-0:38          Function Call: textureSize(usA21; (global 3-component vector of int)\r
+0:38          Function Call: textureSize(usA2M1; (global 3-component vector of int)\r
 0:38            'usmsa' (uniform usampler2DMSArray)\r
 0:39      Sequence\r
 0:39        move second child to first child (temp 4-component vector of float)\r
 0:39          't31' (temp 4-component vector of float)\r
-0:39          Function Call: texelFetch(s21;vi2;i1; (global 4-component vector of float)\r
+0:39          Function Call: texelFetch(s2M1;vi2;i1; (global 4-component vector of float)\r
 0:39            'sms' (uniform sampler2DMS)\r
 0:39            'p2' (flat in 2-component vector of int)\r
 0:39            'samp' (flat in int)\r
 0:40      Sequence\r
 0:40        move second child to first child (temp 4-component vector of int)\r
 0:40          't32' (temp 4-component vector of int)\r
-0:40          Function Call: texelFetch(is21;vi2;i1; (global 4-component vector of int)\r
+0:40          Function Call: texelFetch(is2M1;vi2;i1; (global 4-component vector of int)\r
 0:40            'isms' (uniform isampler2DMS)\r
 0:40            'p2' (flat in 2-component vector of int)\r
 0:40            'samp' (flat in int)\r
 0:41      Sequence\r
 0:41        move second child to first child (temp 4-component vector of uint)\r
 0:41          't33' (temp 4-component vector of uint)\r
-0:41          Function Call: texelFetch(us21;vi2;i1; (global 4-component vector of uint)\r
+0:41          Function Call: texelFetch(us2M1;vi2;i1; (global 4-component vector of uint)\r
 0:41            'usms' (uniform usampler2DMS)\r
 0:41            'p2' (flat in 2-component vector of int)\r
 0:41            Constant:\r
@@ -80,14 +80,14 @@ ERROR: node is still EOpNull!
 0:42      Sequence\r
 0:42        move second child to first child (temp 4-component vector of float)\r
 0:42          't41' (temp 4-component vector of float)\r
-0:42          Function Call: texelFetch(sA21;vi3;i1; (global 4-component vector of float)\r
+0:42          Function Call: texelFetch(sA2M1;vi3;i1; (global 4-component vector of float)\r
 0:42            'smsa' (uniform sampler2DMSArray)\r
 0:42            'p3' (flat in 3-component vector of int)\r
 0:42            'samp' (flat in int)\r
 0:43      Sequence\r
 0:43        move second child to first child (temp 4-component vector of int)\r
 0:43          't42' (temp 4-component vector of int)\r
-0:43          Function Call: texelFetch(isA21;vi3;i1; (global 4-component vector of int)\r
+0:43          Function Call: texelFetch(isA2M1;vi3;i1; (global 4-component vector of int)\r
 0:43            'ismsa' (uniform isampler2DMSArray)\r
 0:43            Constant:\r
 0:43              2 (const int)\r
@@ -97,7 +97,7 @@ ERROR: node is still EOpNull!
 0:44      Sequence\r
 0:44        move second child to first child (temp 4-component vector of uint)\r
 0:44          't43' (temp 4-component vector of uint)\r
-0:44          Function Call: texelFetch(usA21;vi3;i1; (global 4-component vector of uint)\r
+0:44          Function Call: texelFetch(usA2M1;vi3;i1; (global 4-component vector of uint)\r
 0:44            'usmsa' (uniform usampler2DMSArray)\r
 0:44            'p3' (flat in 3-component vector of int)\r
 0:44            'samp' (flat in int)\r
@@ -143,51 +143,51 @@ ERROR: node is still EOpNull!
 0:33      Sequence\r
 0:33        move second child to first child (temp 2-component vector of int)\r
 0:33          't11' (temp 2-component vector of int)\r
-0:33          Function Call: textureSize(s21; (global 2-component vector of int)\r
+0:33          Function Call: textureSize(s2M1; (global 2-component vector of int)\r
 0:33            'sms' (uniform sampler2DMS)\r
 0:34      Sequence\r
 0:34        move second child to first child (temp 2-component vector of int)\r
 0:34          't12' (temp 2-component vector of int)\r
-0:34          Function Call: textureSize(is21; (global 2-component vector of int)\r
+0:34          Function Call: textureSize(is2M1; (global 2-component vector of int)\r
 0:34            'isms' (uniform isampler2DMS)\r
 0:35      Sequence\r
 0:35        move second child to first child (temp 2-component vector of int)\r
 0:35          't13' (temp 2-component vector of int)\r
-0:35          Function Call: textureSize(us21; (global 2-component vector of int)\r
+0:35          Function Call: textureSize(us2M1; (global 2-component vector of int)\r
 0:35            'usms' (uniform usampler2DMS)\r
 0:36      Sequence\r
 0:36        move second child to first child (temp 3-component vector of int)\r
 0:36          't21' (temp 3-component vector of int)\r
-0:36          Function Call: textureSize(sA21; (global 3-component vector of int)\r
+0:36          Function Call: textureSize(sA2M1; (global 3-component vector of int)\r
 0:36            'smsa' (uniform sampler2DMSArray)\r
 0:37      Sequence\r
 0:37        move second child to first child (temp 3-component vector of int)\r
 0:37          't22' (temp 3-component vector of int)\r
-0:37          Function Call: textureSize(isA21; (global 3-component vector of int)\r
+0:37          Function Call: textureSize(isA2M1; (global 3-component vector of int)\r
 0:37            'ismsa' (uniform isampler2DMSArray)\r
 0:38      Sequence\r
 0:38        move second child to first child (temp 3-component vector of int)\r
 0:38          't23' (temp 3-component vector of int)\r
-0:38          Function Call: textureSize(usA21; (global 3-component vector of int)\r
+0:38          Function Call: textureSize(usA2M1; (global 3-component vector of int)\r
 0:38            'usmsa' (uniform usampler2DMSArray)\r
 0:39      Sequence\r
 0:39        move second child to first child (temp 4-component vector of float)\r
 0:39          't31' (temp 4-component vector of float)\r
-0:39          Function Call: texelFetch(s21;vi2;i1; (global 4-component vector of float)\r
+0:39          Function Call: texelFetch(s2M1;vi2;i1; (global 4-component vector of float)\r
 0:39            'sms' (uniform sampler2DMS)\r
 0:39            'p2' (flat in 2-component vector of int)\r
 0:39            'samp' (flat in int)\r
 0:40      Sequence\r
 0:40        move second child to first child (temp 4-component vector of int)\r
 0:40          't32' (temp 4-component vector of int)\r
-0:40          Function Call: texelFetch(is21;vi2;i1; (global 4-component vector of int)\r
+0:40          Function Call: texelFetch(is2M1;vi2;i1; (global 4-component vector of int)\r
 0:40            'isms' (uniform isampler2DMS)\r
 0:40            'p2' (flat in 2-component vector of int)\r
 0:40            'samp' (flat in int)\r
 0:41      Sequence\r
 0:41        move second child to first child (temp 4-component vector of uint)\r
 0:41          't33' (temp 4-component vector of uint)\r
-0:41          Function Call: texelFetch(us21;vi2;i1; (global 4-component vector of uint)\r
+0:41          Function Call: texelFetch(us2M1;vi2;i1; (global 4-component vector of uint)\r
 0:41            'usms' (uniform usampler2DMS)\r
 0:41            'p2' (flat in 2-component vector of int)\r
 0:41            Constant:\r
@@ -195,14 +195,14 @@ ERROR: node is still EOpNull!
 0:42      Sequence\r
 0:42        move second child to first child (temp 4-component vector of float)\r
 0:42          't41' (temp 4-component vector of float)\r
-0:42          Function Call: texelFetch(sA21;vi3;i1; (global 4-component vector of float)\r
+0:42          Function Call: texelFetch(sA2M1;vi3;i1; (global 4-component vector of float)\r
 0:42            'smsa' (uniform sampler2DMSArray)\r
 0:42            'p3' (flat in 3-component vector of int)\r
 0:42            'samp' (flat in int)\r
 0:43      Sequence\r
 0:43        move second child to first child (temp 4-component vector of int)\r
 0:43          't42' (temp 4-component vector of int)\r
-0:43          Function Call: texelFetch(isA21;vi3;i1; (global 4-component vector of int)\r
+0:43          Function Call: texelFetch(isA2M1;vi3;i1; (global 4-component vector of int)\r
 0:43            'ismsa' (uniform isampler2DMSArray)\r
 0:43            Constant:\r
 0:43              2 (const int)\r
@@ -212,7 +212,7 @@ ERROR: node is still EOpNull!
 0:44      Sequence\r
 0:44        move second child to first child (temp 4-component vector of uint)\r
 0:44          't43' (temp 4-component vector of uint)\r
-0:44          Function Call: texelFetch(usA21;vi3;i1; (global 4-component vector of uint)\r
+0:44          Function Call: texelFetch(usA2M1;vi3;i1; (global 4-component vector of uint)\r
 0:44            'usmsa' (uniform usampler2DMSArray)\r
 0:44            'p3' (flat in 3-component vector of int)\r
 0:44            'samp' (flat in int)\r
index b33a044..b48460c 100644 (file)
@@ -285,7 +285,7 @@ ERROR: node is still EOpNull!
 0:101              3 (const int)\r
 0:102      move second child to first child (temp highp 2-component vector of int)\r
 0:102        'v2' (temp highp 2-component vector of int)\r
-0:102        Function Call: textureSize(s21; (global highp 2-component vector of int)\r
+0:102        Function Call: textureSize(s2M1; (global highp 2-component vector of int)\r
 0:102          's2dms' (uniform highp sampler2DMS)\r
 0:103      move second child to first child (temp highp 2-component vector of int)\r
 0:103        'v2' (temp highp 2-component vector of int)\r
@@ -774,7 +774,7 @@ ERROR: node is still EOpNull!
 0:101              3 (const int)\r
 0:102      move second child to first child (temp highp 2-component vector of int)\r
 0:102        'v2' (temp highp 2-component vector of int)\r
-0:102        Function Call: textureSize(s21; (global highp 2-component vector of int)\r
+0:102        Function Call: textureSize(s2M1; (global highp 2-component vector of int)\r
 0:102          's2dms' (uniform highp sampler2DMS)\r
 0:103      move second child to first child (temp highp 2-component vector of int)\r
 0:103        'v2' (temp highp 2-component vector of int)\r
index dee5d71..208cd56 100644 (file)
@@ -211,16 +211,16 @@ ERROR: node is still EOpNull!
 0:?     Sequence\r
 0:63      move second child to first child (temp highp 2-component vector of int)\r
 0:63        'v2' (temp highp 2-component vector of int)\r
-0:63        Function Call: textureSize(s21; (global highp 2-component vector of int)\r
+0:63        Function Call: textureSize(s2M1; (global highp 2-component vector of int)\r
 0:63          's2dms' (uniform highp sampler2DMS)\r
 0:64      move second child to first child (temp highp 2-component vector of int)\r
 0:64        'v2' (temp highp 2-component vector of int)\r
-0:64        Function Call: textureSize(us21; (global highp 2-component vector of int)\r
+0:64        Function Call: textureSize(us2M1; (global highp 2-component vector of int)\r
 0:64          'us2dms' (uniform highp usampler2DMS)\r
 0:65      Sequence\r
 0:65        move second child to first child (temp highp 4-component vector of float)\r
 0:65          'v4' (temp highp 4-component vector of float)\r
-0:65          Function Call: texelFetch(s21;vi2;i1; (global highp 4-component vector of float)\r
+0:65          Function Call: texelFetch(s2M1;vi2;i1; (global highp 4-component vector of float)\r
 0:65            's2dms' (uniform highp sampler2DMS)\r
 0:65            'v2' (temp highp 2-component vector of int)\r
 0:65            Constant:\r
@@ -228,7 +228,7 @@ ERROR: node is still EOpNull!
 0:66      Sequence\r
 0:66        move second child to first child (temp highp 4-component vector of int)\r
 0:66          'iv4' (temp highp 4-component vector of int)\r
-0:66          Function Call: texelFetch(is21;vi2;i1; (global highp 4-component vector of int)\r
+0:66          Function Call: texelFetch(is2M1;vi2;i1; (global highp 4-component vector of int)\r
 0:66            'is2dms' (uniform highp isampler2DMS)\r
 0:66            'v2' (temp highp 2-component vector of int)\r
 0:66            Constant:\r
@@ -937,16 +937,16 @@ ERROR: node is still EOpNull!
 0:?     Sequence\r
 0:63      move second child to first child (temp highp 2-component vector of int)\r
 0:63        'v2' (temp highp 2-component vector of int)\r
-0:63        Function Call: textureSize(s21; (global highp 2-component vector of int)\r
+0:63        Function Call: textureSize(s2M1; (global highp 2-component vector of int)\r
 0:63          's2dms' (uniform highp sampler2DMS)\r
 0:64      move second child to first child (temp highp 2-component vector of int)\r
 0:64        'v2' (temp highp 2-component vector of int)\r
-0:64        Function Call: textureSize(us21; (global highp 2-component vector of int)\r
+0:64        Function Call: textureSize(us2M1; (global highp 2-component vector of int)\r
 0:64          'us2dms' (uniform highp usampler2DMS)\r
 0:65      Sequence\r
 0:65        move second child to first child (temp highp 4-component vector of float)\r
 0:65          'v4' (temp highp 4-component vector of float)\r
-0:65          Function Call: texelFetch(s21;vi2;i1; (global highp 4-component vector of float)\r
+0:65          Function Call: texelFetch(s2M1;vi2;i1; (global highp 4-component vector of float)\r
 0:65            's2dms' (uniform highp sampler2DMS)\r
 0:65            'v2' (temp highp 2-component vector of int)\r
 0:65            Constant:\r
@@ -954,7 +954,7 @@ ERROR: node is still EOpNull!
 0:66      Sequence\r
 0:66        move second child to first child (temp highp 4-component vector of int)\r
 0:66          'iv4' (temp highp 4-component vector of int)\r
-0:66          Function Call: texelFetch(is21;vi2;i1; (global highp 4-component vector of int)\r
+0:66          Function Call: texelFetch(is2M1;vi2;i1; (global highp 4-component vector of int)\r
 0:66            'is2dms' (uniform highp isampler2DMS)\r
 0:66            'v2' (temp highp 2-component vector of int)\r
 0:66            Constant:\r
index d536a90..b31639f 100644 (file)
@@ -204,13 +204,13 @@ ERROR: node is still EOpNull!
 0:117      Sequence\r
 0:117        move second child to first child (temp 4-component vector of float)\r
 0:117          'col' (temp 4-component vector of float)\r
-0:117          Function Call: imageLoad(I21;vi2;i1; (global 4-component vector of float)\r
+0:117          Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)\r
 0:117            'img2DMS' (uniform image2DMS)\r
 0:117            Construct ivec2 (temp 2-component vector of int)\r
 0:117              'i' (temp int)\r
 0:117              'i' (temp int)\r
 0:117            'i' (temp int)\r
-0:118      Function Call: imageStore(I21;vi2;i1;vf4; (global void)\r
+0:118      Function Call: imageStore(I2M1;vi2;i1;vf4; (global void)\r
 0:118        'img2DMSWO' (writeonly uniform image2DMS)\r
 0:118        Construct ivec2 (temp 2-component vector of int)\r
 0:118          'i' (temp int)\r
@@ -221,7 +221,7 @@ ERROR: node is still EOpNull!
 0:118          0.000000\r
 0:118          0.000000\r
 0:118          0.000000\r
-0:119      Function Call: imageLoad(I21;vi2;i1; (global 4-component vector of float)\r
+0:119      Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)\r
 0:119        'img2DMSWO' (writeonly uniform image2DMS)\r
 0:119        Construct ivec2 (temp 2-component vector of int)\r
 0:119          'i' (temp int)\r
@@ -449,13 +449,13 @@ ERROR: node is still EOpNull!
 0:117      Sequence\r
 0:117        move second child to first child (temp 4-component vector of float)\r
 0:117          'col' (temp 4-component vector of float)\r
-0:117          Function Call: imageLoad(I21;vi2;i1; (global 4-component vector of float)\r
+0:117          Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)\r
 0:117            'img2DMS' (uniform image2DMS)\r
 0:117            Construct ivec2 (temp 2-component vector of int)\r
 0:117              'i' (temp int)\r
 0:117              'i' (temp int)\r
 0:117            'i' (temp int)\r
-0:118      Function Call: imageStore(I21;vi2;i1;vf4; (global void)\r
+0:118      Function Call: imageStore(I2M1;vi2;i1;vf4; (global void)\r
 0:118        'img2DMSWO' (writeonly uniform image2DMS)\r
 0:118        Construct ivec2 (temp 2-component vector of int)\r
 0:118          'i' (temp int)\r
@@ -466,7 +466,7 @@ ERROR: node is still EOpNull!
 0:118          0.000000\r
 0:118          0.000000\r
 0:118          0.000000\r
-0:119      Function Call: imageLoad(I21;vi2;i1; (global 4-component vector of float)\r
+0:119      Function Call: imageLoad(I2M1;vi2;i1; (global 4-component vector of float)\r
 0:119        'img2DMSWO' (writeonly uniform image2DMS)\r
 0:119        Construct ivec2 (temp 2-component vector of int)\r
 0:119          'i' (temp int)\r
index c3ef534..3f21e1d 100644 (file)
@@ -105,19 +105,19 @@ ERROR: node is still EOpNull!
 0:168      Sequence\r
 0:168        move second child to first child (temp int)\r
 0:168          's' (temp int)\r
-0:168          Function Call: textureSamples(s21; (global int)\r
+0:168          Function Call: textureSamples(s2M1; (global int)\r
 0:168            's2dms' (uniform sampler2DMS)\r
 0:169      add second child into first child (temp int)\r
 0:169        's' (temp int)\r
-0:169        Function Call: textureSamples(usA21; (global int)\r
+0:169        Function Call: textureSamples(usA2M1; (global int)\r
 0:169          'us2dmsa' (uniform usampler2DMSArray)\r
 0:170      add second child into first child (temp int)\r
 0:170        's' (temp int)\r
-0:170        Function Call: imageSamples(iI21; (global int)\r
+0:170        Function Call: imageSamples(iI2M1; (global int)\r
 0:170          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
 0:171      add second child into first child (temp int)\r
 0:171        's' (temp int)\r
-0:171        Function Call: imageSamples(IA21; (global int)\r
+0:171        Function Call: imageSamples(IA2M1; (global int)\r
 0:171          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:176  Function Definition: fooq2( (global void)\r
 0:176    Function Parameters: \r
@@ -125,19 +125,19 @@ ERROR: node is still EOpNull!
 0:178      Sequence\r
 0:178        move second child to first child (temp int)\r
 0:178          's' (temp int)\r
-0:178          Function Call: textureSamples(s21; (global int)\r
+0:178          Function Call: textureSamples(s2M1; (global int)\r
 0:178            's2dms' (uniform sampler2DMS)\r
 0:179      add second child into first child (temp int)\r
 0:179        's' (temp int)\r
-0:179        Function Call: textureSamples(usA21; (global int)\r
+0:179        Function Call: textureSamples(usA2M1; (global int)\r
 0:179          'us2dmsa' (uniform usampler2DMSArray)\r
 0:180      add second child into first child (temp int)\r
 0:180        's' (temp int)\r
-0:180        Function Call: imageSamples(iI21; (global int)\r
+0:180        Function Call: imageSamples(iI2M1; (global int)\r
 0:180          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
 0:181      add second child into first child (temp int)\r
 0:181        's' (temp int)\r
-0:181        Function Call: imageSamples(IA21; (global int)\r
+0:181        Function Call: imageSamples(IA2M1; (global int)\r
 0:181          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:?   Linker Objects\r
 0:?     'v4' (layout(location=3 ) temp 4-component vector of float)\r
@@ -237,19 +237,19 @@ ERROR: node is still EOpNull!
 0:168      Sequence\r
 0:168        move second child to first child (temp int)\r
 0:168          's' (temp int)\r
-0:168          Function Call: textureSamples(s21; (global int)\r
+0:168          Function Call: textureSamples(s2M1; (global int)\r
 0:168            's2dms' (uniform sampler2DMS)\r
 0:169      add second child into first child (temp int)\r
 0:169        's' (temp int)\r
-0:169        Function Call: textureSamples(usA21; (global int)\r
+0:169        Function Call: textureSamples(usA2M1; (global int)\r
 0:169          'us2dmsa' (uniform usampler2DMSArray)\r
 0:170      add second child into first child (temp int)\r
 0:170        's' (temp int)\r
-0:170        Function Call: imageSamples(iI21; (global int)\r
+0:170        Function Call: imageSamples(iI2M1; (global int)\r
 0:170          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
 0:171      add second child into first child (temp int)\r
 0:171        's' (temp int)\r
-0:171        Function Call: imageSamples(IA21; (global int)\r
+0:171        Function Call: imageSamples(IA2M1; (global int)\r
 0:171          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:176  Function Definition: fooq2( (global void)\r
 0:176    Function Parameters: \r
@@ -257,19 +257,19 @@ ERROR: node is still EOpNull!
 0:178      Sequence\r
 0:178        move second child to first child (temp int)\r
 0:178          's' (temp int)\r
-0:178          Function Call: textureSamples(s21; (global int)\r
+0:178          Function Call: textureSamples(s2M1; (global int)\r
 0:178            's2dms' (uniform sampler2DMS)\r
 0:179      add second child into first child (temp int)\r
 0:179        's' (temp int)\r
-0:179        Function Call: textureSamples(usA21; (global int)\r
+0:179        Function Call: textureSamples(usA2M1; (global int)\r
 0:179          'us2dmsa' (uniform usampler2DMSArray)\r
 0:180      add second child into first child (temp int)\r
 0:180        's' (temp int)\r
-0:180        Function Call: imageSamples(iI21; (global int)\r
+0:180        Function Call: imageSamples(iI2M1; (global int)\r
 0:180          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
 0:181      add second child into first child (temp int)\r
 0:181        's' (temp int)\r
-0:181        Function Call: imageSamples(IA21; (global int)\r
+0:181        Function Call: imageSamples(IA2M1; (global int)\r
 0:181          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:?   Linker Objects\r
 0:?     'v4' (layout(location=3 ) temp 4-component vector of float)\r
index fa47d11..7fcfa75 100644 (file)
@@ -105,24 +105,24 @@ Shader version: 450
 0:44      Sequence\r
 0:44        move second child to first child (temp int)\r
 0:44          's' (temp int)\r
-0:44          Function Call: textureSamples(s21; (global int)\r
+0:44          Function Call: textureSamples(s2M1; (global int)\r
 0:44            's2dms' (uniform sampler2DMS)\r
 0:45      add second child into first child (temp int)\r
 0:45        's' (temp int)\r
-0:45        Function Call: textureSamples(usA21; (global int)\r
+0:45        Function Call: textureSamples(usA2M1; (global int)\r
 0:45          'us2dmsa' (uniform usampler2DMSArray)\r
 0:46      add second child into first child (temp int)\r
 0:46        's' (temp int)\r
-0:46        Function Call: imageSamples(iI21; (global int)\r
+0:46        Function Call: imageSamples(iI2M1; (global int)\r
 0:46          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
 0:47      add second child into first child (temp int)\r
 0:47        's' (temp int)\r
-0:47        Function Call: imageSamples(IA21; (global int)\r
+0:47        Function Call: imageSamples(IA2M1; (global int)\r
 0:47          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:48      Sequence\r
 0:48        move second child to first child (temp float)\r
 0:48          'f' (temp float)\r
-0:48          Function Call: imageAtomicExchange(IA21;vi3;i1;f1; (global float)\r
+0:48          Function Call: imageAtomicExchange(IA2M1;vi3;i1;f1; (global float)\r
 0:48            'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:48            Convert float to int (temp 3-component vector of int)\r
 0:48              'in3' (smooth in 3-component vector of float)\r
@@ -249,24 +249,24 @@ Shader version: 450
 0:44      Sequence\r
 0:44        move second child to first child (temp int)\r
 0:44          's' (temp int)\r
-0:44          Function Call: textureSamples(s21; (global int)\r
+0:44          Function Call: textureSamples(s2M1; (global int)\r
 0:44            's2dms' (uniform sampler2DMS)\r
 0:45      add second child into first child (temp int)\r
 0:45        's' (temp int)\r
-0:45        Function Call: textureSamples(usA21; (global int)\r
+0:45        Function Call: textureSamples(usA2M1; (global int)\r
 0:45          'us2dmsa' (uniform usampler2DMSArray)\r
 0:46      add second child into first child (temp int)\r
 0:46        's' (temp int)\r
-0:46        Function Call: imageSamples(iI21; (global int)\r
+0:46        Function Call: imageSamples(iI2M1; (global int)\r
 0:46          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)\r
 0:47      add second child into first child (temp int)\r
 0:47        's' (temp int)\r
-0:47        Function Call: imageSamples(IA21; (global int)\r
+0:47        Function Call: imageSamples(IA2M1; (global int)\r
 0:47          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:48      Sequence\r
 0:48        move second child to first child (temp float)\r
 0:48          'f' (temp float)\r
-0:48          Function Call: imageAtomicExchange(IA21;vi3;i1;f1; (global float)\r
+0:48          Function Call: imageAtomicExchange(IA2M1;vi3;i1;f1; (global float)\r
 0:48            'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)\r
 0:48            Convert float to int (temp 3-component vector of int)\r
 0:48              'in3' (smooth in 3-component vector of float)\r
index 68094b3..8690143 100644 (file)
@@ -184,7 +184,7 @@ Shader version: 430
 0:64          'iv' (temp 4-component vector of int)\r
 0:66      add second child into first child (temp 4-component vector of int)\r
 0:66        'iv' (temp 4-component vector of int)\r
-0:66        Function Call: texelFetch(is21;vi2;i1; (global 4-component vector of int)\r
+0:66        Function Call: texelFetch(is2M1;vi2;i1; (global 4-component vector of int)\r
 0:66          'is2Dms' (uniform isampler2DMS)\r
 0:66          'ic2D' (flat in 2-component vector of int)\r
 0:66          'ic1D' (flat in int)\r
@@ -436,7 +436,7 @@ Shader version: 430
 0:64          'iv' (temp 4-component vector of int)\r
 0:66      add second child into first child (temp 4-component vector of int)\r
 0:66        'iv' (temp 4-component vector of int)\r
-0:66        Function Call: texelFetch(is21;vi2;i1; (global 4-component vector of int)\r
+0:66        Function Call: texelFetch(is2M1;vi2;i1; (global 4-component vector of int)\r
 0:66          'is2Dms' (uniform isampler2DMS)\r
 0:66          'ic2D' (flat in 2-component vector of int)\r
 0:66          'ic1D' (flat in int)\r
index e58e2ce..981beeb 100644 (file)
@@ -2,5 +2,5 @@
 // For the version, it uses the latest git tag followed by the number of commits.
 // For the date, it uses the current date (when then script is run).
 
-#define GLSLANG_REVISION "2.3.716"
+#define GLSLANG_REVISION "2.3.717"
 #define GLSLANG_DATE "16-Aug-2015"
index 0ec183c..7330106 100644 (file)
@@ -2152,8 +2152,9 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, TString& typeName, int /*
                                 if (bias && compare)
                                     continue;
 
-                                // non-optional lod argument (lod that's not driven by lod loop)
-                                if (fetch && sampler.dim != EsdBuffer && sampler.dim != EsdRect && !sampler.ms)
+                                // non-optional lod argument (lod that's not driven by lod loop) or sample
+                                if ((fetch && sampler.dim != EsdBuffer && sampler.dim != EsdRect && !sampler.ms) ||
+                                    (sampler.ms && fetch))
                                     s.append(",int");
 
                                 // non-optional lod
index 3a401ec..d389356 100644 (file)
@@ -89,6 +89,8 @@ void TType::buildMangledName(TString& mangledName)
         case EsdBuffer:   mangledName += "B";  break;
         default: break; // some compilers want this
         }
+        if (sampler.ms)
+            mangledName += "M";
         break;
     case EbtStruct:
         mangledName += "struct-";