summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2019-09-10 09:04:20 -0700
committerDylan Baker <dylan@pnwbakers.com>2019-09-18 09:09:54 -0700
commit4eabbc04f2fdc479bb30cb1b17c84b099285ae1c (patch)
treeaff7efdb01f9ac49073eeff5b5c0271bc40e9c03 /src
parent97792279e4987108b8596b5149a7f547673d3fb9 (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.c7
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;