zink: Only call reapply_color_write if EXT_color_write_enable is available

Allows to use zink with drivers that do not expose this extension.

Backport-to: 23.3 24.0
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27516>
(cherry picked from commit 72886cbefaa40f5d61c5deee5e125b353d32852f)
This commit is contained in:
Corentin Noël 2024-02-08 09:52:30 +01:00 committed by Eric Engestrom
parent 8bb8f2ef2c
commit eac978e36d
2 changed files with 3 additions and 2 deletions

View file

@ -1834,7 +1834,7 @@
"description": "zink: Only call reapply_color_write if EXT_color_write_enable is available",
"nominated": true,
"nomination_type": 4,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -5506,6 +5506,7 @@ zink_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
if (!is_copy_only && !is_compute_only) {
pipe_buffer_write_nooverlap(&ctx->base, ctx->dummy_vertex_buffer, 0, sizeof(data), data);
pipe_buffer_write_nooverlap(&ctx->base, ctx->dummy_xfb_buffer, 0, sizeof(data), data);
if (screen->info.have_EXT_color_write_enable)
reapply_color_write(ctx);
/* set on startup just to avoid validation errors if a draw comes through without