diff --git a/.pick_status.json b/.pick_status.json index 6b7d9fb3e8e..30cb669a46e 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -544,7 +544,7 @@ "description": "lavapipe: undo fb remapping before poisoning memory at end of renderpass", "nominated": true, "nomination_type": 1, - "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 42d2cefda63..23e3b86c785 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -1785,6 +1785,12 @@ static void handle_end_rendering(struct vk_cmd_queue_entry *cmd, if (!state->poison_mem) return; + /* ensure that textures are correctly framebuffer-referenced in llvmpipe */ + if (state->fb_remapped) { + state->fb_remapped = false; + emit_fb_state(state); + } + union pipe_color_union color_clear_val; memset(color_clear_val.ui, rand() % UINT8_MAX, sizeof(color_clear_val.ui));