OSDN Git Service

Fixed uniform block indexing
authorAlexis Hetu <sugoi@google.com>
Tue, 12 Jan 2016 21:13:37 +0000 (16:13 -0500)
committerAlexis Hétu <sugoi@google.com>
Wed, 13 Jan 2016 15:01:30 +0000 (15:01 +0000)
A uniform block's qualifier is generally a uniform, so
we have to change that to a temporary in order to be
able to us it as the result of the indexing operation.

Change-Id: I2f5ba7f966e8eaab314322edfa0483a9f24bfbdb
Reviewed-on: https://swiftshader-review.googlesource.com/4543
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
src/OpenGL/compiler/ParseHelper.cpp

index 522b13e..8e41c3f 100644 (file)
@@ -2339,7 +2339,7 @@ TIntermTyped *TParseContext::addIndexExpression(TIntermTyped *baseExpression, co
                }
                else if(baseType.isInterfaceBlock())
                {
-                       TType copyOfType(baseType.getInterfaceBlock(), baseType.getQualifier(), baseType.getLayoutQualifier(), 0);
+                       TType copyOfType(baseType.getInterfaceBlock(), EvqTemporary, baseType.getLayoutQualifier(), 0);
                        indexedExpression->setType(copyOfType);
                }
                else