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/4542
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/compiler/OutputASM.cpp b/src/OpenGL/compiler/OutputASM.cpp
index 8af200d..166c1bb 100644
--- a/src/OpenGL/compiler/OutputASM.cpp
+++ b/src/OpenGL/compiler/OutputASM.cpp
@@ -2725,29 +2725,7 @@
 		TIntermSymbol *varSymbol = variable->getAsSymbolNode();

 		TInterfaceBlock *varBlock = variable->getType().getAsInterfaceBlock();

 

-		if(varSymbol)

-		{

-			for(unsigned int i = 0; i < list.size(); i++)

-			{

-				if(list[i])

-				{

-					TIntermSymbol *listSymbol = list[i]->getAsSymbolNode();

-

-					if(listSymbol)

-					{

-						if(listSymbol->getId() == varSymbol->getId())

-						{

-							ASSERT(listSymbol->getSymbol() == varSymbol->getSymbol());

-							ASSERT(listSymbol->getType() == varSymbol->getType());

-							ASSERT(listSymbol->getQualifier() == varSymbol->getQualifier());

-

-							return i;

-						}

-					}

-				}

-			}

-		}

-		else if(varBlock)

+		if(varBlock)

 		{

 			for(unsigned int i = 0; i < list.size(); i++)

 			{

@@ -2770,6 +2748,28 @@
 				}

 			}

 		}

+		else if(varSymbol)

+		{

+			for(unsigned int i = 0; i < list.size(); i++)

+			{

+				if(list[i])

+				{

+					TIntermSymbol *listSymbol = list[i]->getAsSymbolNode();

+

+					if(listSymbol)

+					{

+						if(listSymbol->getId() == varSymbol->getId())

+						{

+							ASSERT(listSymbol->getSymbol() == varSymbol->getSymbol());

+							ASSERT(listSymbol->getType() == varSymbol->getType());

+							ASSERT(listSymbol->getQualifier() == varSymbol->getQualifier());

+

+							return i;

+						}

+					}

+				}

+			}

+		}

 

 		return -1;

 	}