diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2019-09-10 09:04:20 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-09-18 09:09:54 -0700 |
commit | 4eabbc04f2fdc479bb30cb1b17c84b099285ae1c (patch) | |
tree | aff7efdb01f9ac49073eeff5b5c0271bc40e9c03 /src | |
parent | 97792279e4987108b8596b5149a7f547673d3fb9 (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")
(cherry picked from commit 077a1952cceb9b577437c9e31be094427d5c7a9a)
Diffstat (limited to 'src')
-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 02b8683487e..12910df3ebf 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -2676,11 +2676,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; |