On 12/01/2016 12:59 PM, Ilia Mirkin wrote:
On Thu, Dec 1, 2016 at 5:50 AM, Tapani Pälli <tapani.pa...@intel.com> wrote:


On 12/01/2016 12:19 PM, Tapani Pälli wrote:


On 12/01/2016 12:04 AM, Ilia Mirkin wrote:

We were previously also verifying that no backing buffers were available
when an array wasn't enabled. This is has no basis in the spec, and it
causes GLupeN64 to fail as a result.


I'm a bit puzzled about the API usage here, is the app attempting to
render something without a VAO and we are having DefaultVAO in use?


ok realized that can't be the case as there's a separate check for that.

No, they just have some VBO's bound with attribs that got disabled in
the VAO. i.e. a glDisableVertexAttribArray() call which removes the
bit from _Enabled, but not the VertexAttribBufferMask.

ok now I get it, and new test still checks if there is something in enabled that is not in buffer mask so this LGTM:

Reviewed-by: Tapani Pälli <tapani.pa...@intel.com>




Fixes: c2e146f487 ("mesa: error out in indirect draw when vertex
bindings mismatch")
Cc: mesa-sta...@lists.freedesktop.org
Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com>
---
 src/mesa/main/api_validate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index d3b4cab..071c16d 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -925,7 +925,7 @@ valid_draw_indirect(struct gl_context *ctx,
     * buffer bound.
     */
    if (_mesa_is_gles31(ctx) &&
-       ctx->Array.VAO->_Enabled !=
ctx->Array.VAO->VertexAttribBufferMask) {
+       ctx->Array.VAO->_Enabled &
~ctx->Array.VAO->VertexAttribBufferMask) {
       _mesa_error(ctx, GL_INVALID_OPERATION, "%s(No VBO bound)", name);
       return GL_FALSE;
    }

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to