diff options
author | Danylo Piliaiev <[email protected]> | 2019-04-04 15:04:50 +0300 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-04-04 22:57:24 +0000 |
commit | b19494c54e704ce23f5d0523c321fbffc0f70494 (patch) | |
tree | 51e2eeede31e0a6c10c17512268a251f0f4ad93e /src/gallium/drivers/iris | |
parent | 61cc37937140dc441bd0625233f82ef84085f967 (diff) |
iris: Fix assert when using vertex attrib without buffer binding
The GL 4.5 spec says:
"If any enabled array’s buffer binding is zero when DrawArrays or
one of the other drawing commands defined in section 10.4 is called,
the result is undefined."
The result is undefined but it should not crash.
Fixes: gl-3.1-vao-broken-attrib
Signed-off-by: Danylo Piliaiev <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/iris')
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 591c6359315..0035b07caeb 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -2642,7 +2642,8 @@ iris_set_vertex_buffers(struct pipe_context *ctx, continue; } - assert(!buffer->is_user_buffer); + /* We may see user buffers that are NULL bindings. */ + assert(!(buffer->is_user_buffer && buffer->buffer.user != NULL)); pipe_resource_reference(&state->resource, buffer->buffer.resource); struct iris_resource *res = (void *) state->resource; |