zink: use imageless framebuffers
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 30 Jun 2021 15:51:31 +0000 (11:51 -0400)
committerMarge Bot <eric+marge@anholt.net>
Thu, 2 Sep 2021 15:53:16 +0000 (15:53 +0000)
commitc552d99b09f068504b44423e1ed807d7289afc49
treec4e65bc1f209dd836a799ff7e2ba3d14e5dc796e
parent9643f0b8fc469f2077220e218d76d6f87f996501
zink: use imageless framebuffers

this feature lets zink avoid the screen-based framebuffer cache with locks
in favor of a context-based one that doesn't need any complicated wizardry
to work since it doesn't need to track refcounts for attachments or work
across contexts since the surface info gets passed in when the renderpass
is begun

also expand the dummy surface to an array for use with multisampling and simplify
surface refs there for non-imageless case

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12661>
src/gallium/drivers/zink/zink_context.c
src/gallium/drivers/zink/zink_context.h
src/gallium/drivers/zink/zink_device_info.py
src/gallium/drivers/zink/zink_framebuffer.c
src/gallium/drivers/zink/zink_framebuffer.h
src/gallium/drivers/zink/zink_screen.c
src/gallium/drivers/zink/zink_surface.c