Fix indexing with instance ID. BUG=swiftshader:3 Change-Id: I070059f3b4e9e431c7667b98017912b72d9d66a4 Reviewed-on: https://swiftshader-review.googlesource.com/6952 Tested-by: Nicolas Capens <capn@google.com> Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Shader/VertexProgram.cpp b/src/Shader/VertexProgram.cpp index b855933..8e1d662 100644 --- a/src/Shader/VertexProgram.cpp +++ b/src/Shader/VertexProgram.cpp
@@ -856,11 +856,12 @@ switch(src.rel.type) { - case Shader::PARAMETER_ADDR: a = a0[component]; break; - case Shader::PARAMETER_TEMP: a = r[src.rel.index][component]; break; - case Shader::PARAMETER_INPUT: a = v[src.rel.index][component]; break; - case Shader::PARAMETER_OUTPUT: a = o[src.rel.index][component]; break; - case Shader::PARAMETER_CONST: a = *Pointer<Float>(uniformAddress(src.bufferIndex, src.rel.index) + component * sizeof(float)); break; + case Shader::PARAMETER_ADDR: a = a0[component]; break; + case Shader::PARAMETER_TEMP: a = r[src.rel.index][component]; break; + case Shader::PARAMETER_INPUT: a = v[src.rel.index][component]; break; + case Shader::PARAMETER_OUTPUT: a = o[src.rel.index][component]; break; + case Shader::PARAMETER_CONST: a = *Pointer<Float>(uniformAddress(src.bufferIndex, src.rel.index) + component * sizeof(float)); break; + case Shader::PARAMETER_MISCTYPE: a = As<Float4>(Int4(instanceID)); break; default: ASSERT(false); }