Commit 03cb5266 by Jamie Madill Committed by Commit Bot

Validate transform feedback conflicts on zero draw.

This conflict should be validated even if the draw call would result in no work being done on the GPU. Bug: angleproject:2747 Change-Id: I6b32a07ff8a8598dd865270a3a935060f050a68f Reviewed-on: https://chromium-review.googlesource.com/1162507 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org>
parent e7d80f33
...@@ -2726,6 +2726,12 @@ ErrorAndMessage ValidateDrawStates(Context *context) ...@@ -2726,6 +2726,12 @@ ErrorAndMessage ValidateDrawStates(Context *context)
{ {
return {GL_INVALID_OPERATION, kErrorDrawBufferTypeMismatch}; return {GL_INVALID_OPERATION, kErrorDrawBufferTypeMismatch};
} }
const VertexArray *vao = context->getGLState().getVertexArray();
if (vao->hasTransformFeedbackBindingConflict(context))
{
return {GL_INVALID_OPERATION, kErrorVertexBufferBoundForTransformFeedback};
}
} }
} }
...@@ -2801,17 +2807,6 @@ bool ValidateDrawBase(Context *context, PrimitiveMode mode, GLsizei count) ...@@ -2801,17 +2807,6 @@ bool ValidateDrawBase(Context *context, PrimitiveMode mode, GLsizei count)
return false; return false;
} }
} }
if (extensions.webglCompatibility && count > 0)
{
const VertexArray *vao = context->getGLState().getVertexArray();
if (vao->hasTransformFeedbackBindingConflict(context))
{
ANGLE_VALIDATION_ERR(context, InvalidOperation(),
VertexBufferBoundForTransformFeedback);
return false;
}
}
} }
return true; return true;
......
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