summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris
diff options
context:
space:
mode:
authorDanylo Piliaiev <[email protected]>2019-04-04 15:04:50 +0300
committerKenneth Graunke <[email protected]>2019-04-04 22:57:24 +0000
commitb19494c54e704ce23f5d0523c321fbffc0f70494 (patch)
tree51e2eeede31e0a6c10c17512268a251f0f4ad93e /src/gallium/drivers/iris
parent61cc37937140dc441bd0625233f82ef84085f967 (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.c3
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;