Fix for the remaining vertex array issues
Fixes all failures in dEQP.functional.vertex_arrays.*
In OpenGL ES 3.0, vertex attributes streams can be of a
different type from the vertex attribute in the shader.
For this reason, some conversion may be required. This
cl solves this issue by:
1) Sending the information about the vertex attribute's
type in the shader to the vertex routine.
2) Handling this information by adding conversion where
appropriate.
Change-Id: I04a5a34aea12684209e584aa5f15a3edfd57f956
Reviewed-on: https://swiftshader-review.googlesource.com/7254
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Renderer/VertexProcessor.hpp b/src/Renderer/VertexProcessor.hpp
index f0cf124..278c9b1 100644
--- a/src/Renderer/VertexProcessor.hpp
+++ b/src/Renderer/VertexProcessor.hpp
@@ -18,6 +18,7 @@
#include "Matrix.hpp"
#include "Context.hpp"
#include "RoutineCache.hpp"
+#include "Shader/VertexShader.hpp"
namespace sw
{
@@ -102,6 +103,7 @@
StreamType type : BITS(STREAMTYPE_LAST);
unsigned int count : 3;
bool normalized : 1;
+ unsigned int attribType : BITS(VertexShader::ATTRIBTYPE_LAST);
};
struct Output