Commit 3d270782 by alokp@chromium.org

Changes to pass 'abs' conformance tests.

Review URL: http://codereview.appspot.com/858041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@90 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 2cf1771f
...@@ -17,10 +17,6 @@ TString getTypeName(const TType& type) ...@@ -17,10 +17,6 @@ TString getTypeName(const TType& type)
out << "mat"; out << "mat";
out << type.getNominalSize(); out << type.getNominalSize();
} }
else if (type.isArray())
{
UNIMPLEMENTED();
}
else if (type.isVector()) else if (type.isVector())
{ {
switch (type.getBasicType()) switch (type.getBasicType())
...@@ -120,6 +116,10 @@ void TOutputGLSL::visitSymbol(TIntermSymbol* node) ...@@ -120,6 +116,10 @@ void TOutputGLSL::visitSymbol(TIntermSymbol* node)
out << getTypeName(node->getType()) << " "; out << getTypeName(node->getType()) << " ";
} }
out << node->getSymbol(); out << node->getSymbol();
if (writeFullSymbol && node->getType().isArray())
{
out << "[" << node->getType().getArraySize() << "]";
}
} }
void TOutputGLSL::visitConstantUnion(TIntermConstantUnion* node) void TOutputGLSL::visitConstantUnion(TIntermConstantUnion* node)
...@@ -161,7 +161,7 @@ bool TOutputGLSL::visitBinary(Visit visit, TIntermBinary* node) ...@@ -161,7 +161,7 @@ bool TOutputGLSL::visitBinary(Visit visit, TIntermBinary* node)
break; break;
case EOpAddAssign: writeTriplet(visit, NULL, " += ", NULL); break; case EOpAddAssign: writeTriplet(visit, NULL, " += ", NULL); break;
case EOpSubAssign: UNIMPLEMENTED(); break; case EOpSubAssign: UNIMPLEMENTED(); break;
case EOpMulAssign: UNIMPLEMENTED(); break; case EOpMulAssign: writeTriplet(visit, NULL, " *= ", NULL); break;
case EOpVectorTimesMatrixAssign: UNIMPLEMENTED(); break; case EOpVectorTimesMatrixAssign: UNIMPLEMENTED(); break;
case EOpVectorTimesScalarAssign: UNIMPLEMENTED(); break; case EOpVectorTimesScalarAssign: UNIMPLEMENTED(); break;
case EOpMatrixTimesScalarAssign: UNIMPLEMENTED(); break; case EOpMatrixTimesScalarAssign: UNIMPLEMENTED(); break;
...@@ -210,7 +210,7 @@ bool TOutputGLSL::visitBinary(Visit visit, TIntermBinary* node) ...@@ -210,7 +210,7 @@ bool TOutputGLSL::visitBinary(Visit visit, TIntermBinary* node)
case EOpMul: writeTriplet(visit, "(", " * ", ")"); break; case EOpMul: writeTriplet(visit, "(", " * ", ")"); break;
case EOpDiv: writeTriplet(visit, "(", " / ", ")"); break; case EOpDiv: writeTriplet(visit, "(", " / ", ")"); break;
case EOpMod: UNIMPLEMENTED(); break; case EOpMod: UNIMPLEMENTED(); break;
case EOpEqual: UNIMPLEMENTED(); break; case EOpEqual: writeTriplet(visit, "(", " == ", ")"); break;
case EOpNotEqual: UNIMPLEMENTED(); break; case EOpNotEqual: UNIMPLEMENTED(); break;
case EOpLessThan: writeTriplet(visit, "(", " < ", ")"); break; case EOpLessThan: writeTriplet(visit, "(", " < ", ")"); break;
case EOpGreaterThan: writeTriplet(visit, "(", " > ", ")"); break; case EOpGreaterThan: writeTriplet(visit, "(", " > ", ")"); break;
...@@ -254,7 +254,7 @@ bool TOutputGLSL::visitUnary(Visit visit, TIntermUnary* node) ...@@ -254,7 +254,7 @@ bool TOutputGLSL::visitUnary(Visit visit, TIntermUnary* node)
case EOpConvFloatToBool: UNIMPLEMENTED(); break; case EOpConvFloatToBool: UNIMPLEMENTED(); break;
case EOpConvBoolToFloat: UNIMPLEMENTED(); break; case EOpConvBoolToFloat: UNIMPLEMENTED(); break;
case EOpConvIntToFloat: writeTriplet(visit, "float(", NULL, ")"); break; case EOpConvIntToFloat: writeTriplet(visit, "float(", NULL, ")"); break;
case EOpConvFloatToInt: UNIMPLEMENTED(); break; case EOpConvFloatToInt: writeTriplet(visit, "int(", NULL, ")"); break;
case EOpConvBoolToInt: UNIMPLEMENTED(); break; case EOpConvBoolToInt: UNIMPLEMENTED(); break;
case EOpRadians: UNIMPLEMENTED(); break; case EOpRadians: UNIMPLEMENTED(); break;
...@@ -263,7 +263,7 @@ bool TOutputGLSL::visitUnary(Visit visit, TIntermUnary* node) ...@@ -263,7 +263,7 @@ bool TOutputGLSL::visitUnary(Visit visit, TIntermUnary* node)
case EOpCos: writeTriplet(visit, "cos(", NULL, ")"); break; case EOpCos: writeTriplet(visit, "cos(", NULL, ")"); break;
case EOpTan: UNIMPLEMENTED(); break; case EOpTan: UNIMPLEMENTED(); break;
case EOpAsin: UNIMPLEMENTED(); break; case EOpAsin: UNIMPLEMENTED(); break;
case EOpAcos: UNIMPLEMENTED(); break; case EOpAcos: writeTriplet(visit, "acos(", NULL, ")"); break;
case EOpAtan: UNIMPLEMENTED(); break; case EOpAtan: UNIMPLEMENTED(); break;
case EOpExp: UNIMPLEMENTED(); break; case EOpExp: UNIMPLEMENTED(); break;
...@@ -273,7 +273,7 @@ bool TOutputGLSL::visitUnary(Visit visit, TIntermUnary* node) ...@@ -273,7 +273,7 @@ bool TOutputGLSL::visitUnary(Visit visit, TIntermUnary* node)
case EOpSqrt: UNIMPLEMENTED(); break; case EOpSqrt: UNIMPLEMENTED(); break;
case EOpInverseSqrt: UNIMPLEMENTED(); break; case EOpInverseSqrt: UNIMPLEMENTED(); break;
case EOpAbs: UNIMPLEMENTED(); break; case EOpAbs: writeTriplet(visit, "abs(", NULL, ")"); break;
case EOpSign: UNIMPLEMENTED(); break; case EOpSign: UNIMPLEMENTED(); break;
case EOpFloor: writeTriplet(visit, "floor(", NULL, ")"); break; case EOpFloor: writeTriplet(visit, "floor(", NULL, ")"); break;
case EOpCeil: UNIMPLEMENTED(); break; case EOpCeil: UNIMPLEMENTED(); break;
......
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