Commit bdda9dac by Alexis Hetu Committed by Alexis Hétu

Fixed uniform block lookup

Blocks are also symbols, so when we have a block, we have to look for blocks instead of symbols. Change-Id: I683e646c2c63754a0b27b299dfdbc1d87017fb99 Reviewed-on: https://swiftshader-review.googlesource.com/4542Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 6c7ac3c8
......@@ -2725,21 +2725,22 @@ namespace glsl
TIntermSymbol *varSymbol = variable->getAsSymbolNode();
TInterfaceBlock *varBlock = variable->getType().getAsInterfaceBlock();
if(varSymbol)
if(varBlock)
{
for(unsigned int i = 0; i < list.size(); i++)
{
if(list[i])
{
TIntermSymbol *listSymbol = list[i]->getAsSymbolNode();
TInterfaceBlock *listBlock = list[i]->getType().getAsInterfaceBlock();
if(listSymbol)
if(listBlock)
{
if(listSymbol->getId() == varSymbol->getId())
if(listBlock->name() == varBlock->name())
{
ASSERT(listSymbol->getSymbol() == varSymbol->getSymbol());
ASSERT(listSymbol->getType() == varSymbol->getType());
ASSERT(listSymbol->getQualifier() == varSymbol->getQualifier());
ASSERT(listBlock->arraySize() == varBlock->arraySize());
ASSERT(listBlock->fields() == varBlock->fields());
ASSERT(listBlock->blockStorage() == varBlock->blockStorage());
ASSERT(listBlock->matrixPacking() == varBlock->matrixPacking());
return i;
}
......@@ -2747,22 +2748,21 @@ namespace glsl
}
}
}
else if(varBlock)
else if(varSymbol)
{
for(unsigned int i = 0; i < list.size(); i++)
{
if(list[i])
{
TInterfaceBlock *listBlock = list[i]->getType().getAsInterfaceBlock();
TIntermSymbol *listSymbol = list[i]->getAsSymbolNode();
if(listBlock)
if(listSymbol)
{
if(listBlock->name() == varBlock->name())
if(listSymbol->getId() == varSymbol->getId())
{
ASSERT(listBlock->arraySize() == varBlock->arraySize());
ASSERT(listBlock->fields() == varBlock->fields());
ASSERT(listBlock->blockStorage() == varBlock->blockStorage());
ASSERT(listBlock->matrixPacking() == varBlock->matrixPacking());
ASSERT(listSymbol->getSymbol() == varSymbol->getSymbol());
ASSERT(listSymbol->getType() == varSymbol->getType());
ASSERT(listSymbol->getQualifier() == varSymbol->getQualifier());
return i;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment