diff options
author | Kenneth Graunke <[email protected]> | 2019-09-10 09:04:20 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-09-10 10:53:15 -0700 |
commit | 077a1952cceb9b577437c9e31be094427d5c7a9a (patch) | |
tree | 428f9270a828c448f61aa724790902eed926fe8d | |
parent | 341034a73d0b53f8c3d9b4cb8cbc89eb5b1b4f49 (diff) |
iris: Fix constant buffer sizes for non-UBOs
Since the system value refactor, we've accidentally only been setting
cbuf->buffer_size in the UBO case, and not in the uploaded-constants
case. We use cbuf->buffer_size to fill out the SURFACE_STATE entry,
so it needs to be initialized in both cases.
Fixes: 3b6d787e404 ("iris: move sysvals to their own constant buffer")
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index a503f38d6ca..1c70b2ccbff 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -2739,11 +2739,12 @@ iris_set_constant_buffer(struct pipe_context *ctx, pipe_resource_reference(&cbuf->buffer, input->buffer); cbuf->buffer_offset = input->buffer_offset; - cbuf->buffer_size = - MIN2(input->buffer_size, - iris_resource_bo(cbuf->buffer)->size - cbuf->buffer_offset); } + cbuf->buffer_size = + MIN2(input->buffer_size, + iris_resource_bo(cbuf->buffer)->size - cbuf->buffer_offset); + struct iris_resource *res = (void *) cbuf->buffer; res->bind_history |= PIPE_BIND_CONSTANT_BUFFER; |