Module: Mesa
Branch: staging/23.0
Commit: 3dd2dfb834a3102a8367e69ca6a63170c8de1852
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dd2dfb834a3102a8367e69ca6a63170c8de1852

Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Apr  7 11:23:26 2023 -0400

lavapipe: don't double-inline ubo0

this was already handled above and causes negative indexing

cc: mesa-stable

Reviewed-by: Brian Paul <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22363>
(cherry picked from commit 9f5bb8992f45091e05cc48587bb3ea5ca4086080)

Conflicts:
        src/gallium/frontends/lavapipe/lvp_execute.c

---

 .pick_status.json                            | 2 +-
 src/gallium/frontends/lavapipe/lvp_execute.c | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 94a8055b989..08e301a55d9 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -2934,7 +2934,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;

Reply via email to