Transform feedback query implementation
This is a first implementation of the transform feedback
primitives written query.
It passes available related dEQP tests (more tests will be
available when transform feedback is fully implemented).
Change-Id: Iaee97e3e2e853174b7f22836f72dabede1ed04c1
Reviewed-on: https://swiftshader-review.googlesource.com/4912
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Renderer/VertexProcessor.cpp b/src/Renderer/VertexProcessor.cpp
index b71fdb2..eaaf3e2 100644
--- a/src/Renderer/VertexProcessor.cpp
+++ b/src/Renderer/VertexProcessor.cpp
@@ -642,6 +642,16 @@
point.pointScaleC = pointScaleC;
}
+ void VertexProcessor::setTransformFeedbackQueryEnabled(bool enable)
+ {
+ context->transformFeedbackQueryEnabled = enable;
+ }
+
+ void VertexProcessor::enableTransformFeedback(uint64_t enable)
+ {
+ context->transformFeedbackEnabled = enable;
+ }
+
const Matrix &VertexProcessor::getModelTransform(int i)
{
updateTransform();
@@ -873,6 +883,9 @@
state.superSampling = context->getSuperSampleCount() > 1;
state.multiSampling = context->getMultiSampleCount() > 1;
+ state.transformFeedbackQueryEnabled = context->transformFeedbackQueryEnabled;
+ state.transformFeedbackEnabled = context->transformFeedbackEnabled;
+
for(int i = 0; i < VERTEX_ATTRIBUTES; i++)
{
state.input[i].type = context->input[i].type;