glx: store the DRIscreen to the base glx_screen

frustratingly, there is already a driScreen member, but it's the wrong type

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30524>
This commit is contained in:
Mike Blumenkrantz 2024-07-30 14:15:52 -04:00 committed by Marge Bot
parent 3f497c1667
commit a1416eff96
4 changed files with 4 additions and 0 deletions

View file

@ -982,6 +982,7 @@ dri2CreateScreen(int screen, struct glx_display * priv, bool driver_name_is_infe
psc->base.context_vtable = &dri2_context_vtable;
psp = &psc->vtable;
psc->base.driScreen = psp;
psc->base.frontend_screen = psc->driScreen;
psp->destroyScreen = dri2DestroyScreen;
psp->createDrawable = dri2CreateDrawable;
psp->swapBuffers = dri2SwapBuffers;

View file

@ -844,6 +844,7 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
psc->base.context_vtable = &dri3_context_vtable;
psp = &psc->vtable;
psc->base.driScreen = psp;
psc->base.frontend_screen = psc->driScreenRenderGPU;
psp->destroyScreen = dri3_destroy_screen;
psp->createDrawable = dri3_create_drawable;
psp->swapBuffers = dri3_swap_buffers;

View file

@ -931,6 +931,7 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv
psc->base.context_vtable = &drisw_context_vtable;
psp = &psc->vtable;
psc->base.driScreen = psp;
psc->base.frontend_screen = psc->driScreen;
psp->destroyScreen = driswDestroyScreen;
psp->createDrawable = driswCreateDrawable;
psp->swapBuffers = driswSwapBuffers;

View file

@ -522,6 +522,7 @@ struct glx_screen
* Per screen direct rendering interface functions and data.
*/
__GLXDRIscreen *driScreen;
__DRIscreen *frontend_screen;
#endif
/**