summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2023-04-07 11:23:26 -0400
committerDylan Baker <dylan.c.baker@intel.com>2023-04-20 16:05:03 -0700
commit02d86e2fb0b15362482541ea6da9662f89b5fcd2 (patch)
tree79d1f621fc0bdba641dcf6d5eb89bb77e871d1f6
parent1d2c0192cfe4d58b5a7042ec91ac6567ffefa96f (diff)
downloadmesa-02d86e2fb0b15362482541ea6da9662f89b5fcd2.tar.gz
lavapipe: don't double-inline ubo0
this was already handled above and causes negative indexing cc: mesa-stable Reviewed-by: Brian Paul <brianp@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22363> (cherry picked from commit 9f5bb8992f45091e05cc48587bb3ea5ca4086080) Conflicts: src/gallium/frontends/lavapipe/lvp_execute.c
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/frontends/lavapipe/lvp_execute.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 37c9178c4fa..9f609debc69 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -4944,7 +4944,7 @@
"description": "lavapipe: don't double-inline ubo0",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null
diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c
index 239523e922f..39fe90f120c 100644
--- a/src/gallium/frontends/lavapipe/lvp_execute.c
+++ b/src/gallium/frontends/lavapipe/lvp_execute.c
@@ -313,6 +313,9 @@ update_inline_shader_state(struct rendering_state *state, enum pipe_shader_type
if (constbuf_dirty) {
struct pipe_box box = {0};
u_foreach_bit(slot, pipeline->inlines[stage].can_inline) {
+ /* this is already inlined above */
+ if (slot == 0)
+ continue;
unsigned count = pipeline->inlines[stage].count[slot];
struct pipe_constant_buffer *cbuf = &state->const_buffer[sh][slot - 1];
struct pipe_resource *pres = cbuf->buffer;