Removed some unnecessary instructions from programs
Removed a few unnecessary/bad instructions from PixelProgram and
VertexProgram. Also added the proper implementation for printing out
a shader instruction that includes indexing an array with a uniform.
Change-Id: Icd37dd4f70419874bb65c54438409b8b9c3ee836
Reviewed-on: https://swiftshader-review.googlesource.com/4753
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Shader/VertexProgram.cpp b/src/Shader/VertexProgram.cpp
index 97e335f..efae39cc 100644
--- a/src/Shader/VertexProgram.cpp
+++ b/src/Shader/VertexProgram.cpp
@@ -831,8 +831,6 @@
c.x = c.y = c.z = c.w = *Pointer<Float4>(uniformAddress(src.bufferIndex, i, a));
- c.x = c.y = c.z = c.w = *Pointer<Float4>(data + OFFSET(DrawData,vs.c[i]) + a * 16);
-
c.x = c.x.xxxx;
c.y = c.y.yyyy;
c.z = c.z.zzzz;
@@ -892,9 +890,7 @@
}
else if(var.rel.type == Shader::PARAMETER_CONST)
{
- RValue<Int4> c = *Pointer<Int4>(uniformAddress(bufferIndex, var.rel.index));
-
- return Extract(c, 0) * var.rel.scale;
+ return *Pointer<Int>(uniformAddress(bufferIndex, var.rel.index)) * var.rel.scale;
}
else if(var.rel.type == Shader::PARAMETER_LOOP)
{