zink: unbind fb on context destroy

this ensures that batch refs are added for fb surfaces on unbind, which
prevents stale batch tracking from persisting on resources
after the context is destroyed

fixes:
*EGL.functional.render.multi_context*

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21727>
This commit is contained in:
Mike Blumenkrantz
2023-03-06 07:18:24 -05:00
committed by Marge Bot
parent 7600e2cca2
commit 62f1a8a3a6
2 changed files with 3 additions and 24 deletions
@@ -53,21 +53,6 @@ spec@glsl-4.00@execution@built-in-functions@fs-inverse-dmat4
# Around the time of running these tests there are some warnings from the kernel in dma_resv.c, and at least
# some failures look like not waiting for rendering to complete.
# Because those tests sometimes pass, keep them here
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1_gles2_gles3.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1_gles2_gles3.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1_gles2_gles3.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1_gles2.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1_gles2.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1_gles2.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles1.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles2.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles2.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles3.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles3.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_context.gles3.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_thread.gles1_gles2_gles3.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_thread.gles1_gles2_gles3.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.multi_thread.gles1_gles2_gles3.rgba8888_pbuffer,Fail
@@ -93,15 +78,6 @@ wayland-dEQP-EGL.functional.color_clears.single_context.gles3.rgb565_pbuffer,Fai
wayland-dEQP-EGL.functional.color_clears.single_context.gles3.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.color_clears.single_context.gles3.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.negative_api.create_pixmap_surface,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles2_gles3.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles2_gles3.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles2_gles3.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles2.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles2.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles2.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles3.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles3.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_context.gles3.rgba8888_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_thread.gles2_gles3.rgb565_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_thread.gles2_gles3.rgb888_pbuffer,Fail
wayland-dEQP-EGL.functional.render.multi_thread.gles2_gles3.rgba8888_pbuffer,Fail
+3
View File
@@ -101,6 +101,9 @@ zink_context_destroy(struct pipe_context *pctx)
struct zink_context *ctx = zink_context(pctx);
struct zink_screen *screen = zink_screen(pctx->screen);
struct pipe_framebuffer_state fb = {0};
pctx->set_framebuffer_state(pctx, &fb);
if (util_queue_is_initialized(&screen->flush_queue))
util_queue_finish(&screen->flush_queue);
if (ctx->batch.state && !screen->device_lost) {