diff --git a/src/gallium/drivers/zink/ci/zink-anv-tgl-fails.txt b/src/gallium/drivers/zink/ci/zink-anv-tgl-fails.txt index 5c02ab04e02..e9c79353369 100644 --- a/src/gallium/drivers/zink/ci/zink-anv-tgl-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-anv-tgl-fails.txt @@ -115,7 +115,6 @@ glx@glx_ext_import_context@query context info,Fail glx@glx-buffer-age,Fail glx@glx-buffer-age vblank_mode=0,Fail -glx@glx-make-current,Fail glx@glx-multi-window-single-context,Crash glx@glx-swap-pixmap-bad,Fail glx@glx-tfp,Crash diff --git a/src/gallium/drivers/zink/ci/zink-lvp-skips.txt b/src/gallium/drivers/zink/ci/zink-lvp-skips.txt index 5bb31f5cace..7226486adfb 100644 --- a/src/gallium/drivers/zink/ci/zink-lvp-skips.txt +++ b/src/gallium/drivers/zink/ci/zink-lvp-skips.txt @@ -10,7 +10,6 @@ KHR-GL46.shader_ballot_tests.ShaderBallotFunctionRead # ignores copied from the old runner script spec@arb_map_buffer_alignment@arb_map_buffer_alignment-map-invalidate-range -glx@glx-make-current spec@arb_timer_query.* spec@arb_sample_shading@builtin-gl-sample-mask spec@glsl-1.30@execution@tex-miplevel-selection.* diff --git a/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt index 7084b29940f..1e2c4a90dba 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt @@ -22,7 +22,6 @@ glx@glx_ext_import_context@imported context has same context id,Fail glx@glx_ext_import_context@make current- multi process,Fail glx@glx_ext_import_context@make current- single process,Fail glx@glx_ext_import_context@query context info,Fail -glx@glx-make-current,Fail glx@glx-swap-pixmap-bad,Fail # #6322 diff --git a/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt index 5fac92a1dcf..34bb8784a0d 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt @@ -22,7 +22,6 @@ glx@glx_ext_import_context@imported context has same context id,Fail glx@glx_ext_import_context@make current- multi process,Fail glx@glx_ext_import_context@make current- single process,Fail glx@glx_ext_import_context@query context info,Fail -glx@glx-make-current,Fail glx@glx-swap-pixmap-bad,Fail # #6322 diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index cf4e5abc1de..18886c6822b 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -1257,6 +1257,17 @@ resource_create(struct pipe_screen *pscreen, FREE_CL(res); return NULL; } + struct kopper_displaytarget *cdt = res->obj->dt; + if (cdt->swapchain->num_acquires) { + /* this should be a reused swapchain after a MakeCurrent dance that deleted the original resource */ + for (unsigned i = 0; i < cdt->swapchain->num_images; i++) { + if (!cdt->swapchain->images[i].acquired) + continue; + res->obj->dt_idx = i; + res->obj->image = cdt->swapchain->images[i].image; + res->layout = cdt->swapchain->images[i].layout; + } + } } else { /* frontbuffer */ struct zink_resource *back = (void*)loader_private;