zink: set gfx feedback loop bit in pipeline state for driver workaround
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Tue, 7 Feb 2023 17:48:33 +0000 (12:48 -0500)
committerEric Engestrom <eric@engestrom.ch>
Wed, 8 Feb 2023 20:34:46 +0000 (20:34 +0000)
this needs to be set on context create or it may never get set

Fixes: 645f2da3faf ("zink: always set VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT sometimes")

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21169>
(cherry picked from commit 0cb326cc74464f4e7f57de5c4d740e080f5e5b70)

.pick_status.json
src/gallium/drivers/zink/zink_context.c

index 1eec8ce..c1a833d 100644 (file)
         "description": "zink: set gfx feedback loop bit in pipeline state for driver workaround",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "645f2da3faf3852e0a263c386a97a7cd7f617694"
     },
index ba11566..7621dbc 100644 (file)
@@ -4860,6 +4860,7 @@ zink_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
    }
    ctx->gfx_pipeline_state.rendering_info.sType = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO;
    ctx->gfx_pipeline_state.rendering_info.pColorAttachmentFormats = ctx->gfx_pipeline_state.rendering_formats;
+   ctx->gfx_pipeline_state.feedback_loop = screen->driver_workarounds.always_feedback_loop;
 
    const uint32_t data[] = {0};
    if (!is_copy_only) {