mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-24 15:50:37 +02:00
dri: pass has_multibuffers through from the loader
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30619>
This commit is contained in:
parent
576015f735
commit
af6d3fdf6e
7 changed files with 15 additions and 9 deletions
|
|
@ -799,7 +799,7 @@ dri2_create_screen(_EGLDisplay *disp)
|
|||
if (strcmp(dri2_dpy->driver_name, driver_name_display_gpu) == 0) {
|
||||
dri2_dpy->dri_screen_display_gpu = driCreateNewScreen3(
|
||||
0, dri2_dpy->fd_display_gpu, dri2_dpy->loader_extensions,
|
||||
type, &dri2_dpy->driver_configs, false, disp);
|
||||
type, &dri2_dpy->driver_configs, false, dri2_dpy->multibuffers_available, disp);
|
||||
}
|
||||
free(driver_name_display_gpu);
|
||||
}
|
||||
|
|
@ -814,7 +814,7 @@ dri2_create_screen(_EGLDisplay *disp)
|
|||
}
|
||||
dri2_dpy->dri_screen_render_gpu = driCreateNewScreen3(
|
||||
0, screen_fd, dri2_dpy->loader_extensions, type,
|
||||
&dri2_dpy->driver_configs, false, disp);
|
||||
&dri2_dpy->driver_configs, false, dri2_dpy->multibuffers_available, disp);
|
||||
|
||||
if (dri2_dpy->dri_screen_render_gpu == NULL) {
|
||||
_eglLog(_EGL_WARNING, "egl: failed to create dri2 screen");
|
||||
|
|
|
|||
|
|
@ -102,7 +102,8 @@ __DRIscreen *
|
|||
driCreateNewScreen3(int scrn, int fd,
|
||||
const __DRIextension **loader_extensions,
|
||||
enum dri_screen_type type,
|
||||
const __DRIconfig ***driver_configs, bool driver_name_is_inferred, void *data)
|
||||
const __DRIconfig ***driver_configs, bool driver_name_is_inferred,
|
||||
bool has_multibuffer, void *data)
|
||||
{
|
||||
struct dri_screen *screen;
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,8 @@ PUBLIC __DRIscreen *
|
|||
driCreateNewScreen3(int scrn, int fd,
|
||||
const __DRIextension **loader_extensions,
|
||||
enum dri_screen_type type,
|
||||
const __DRIconfig ***driver_configs, bool driver_name_is_inferred, void *data);
|
||||
const __DRIconfig ***driver_configs, bool driver_name_is_inferred,
|
||||
bool has_multibuffer, void *data);
|
||||
PUBLIC __DRIcontext *
|
||||
driCreateContextAttribs(__DRIscreen *psp, int api,
|
||||
const __DRIconfig *config,
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ dri_screen_create_for_driver(struct gbm_dri_device *dri, char *driver_name, bool
|
|||
dri->screen = driCreateNewScreen3(0, swrast ? -1 : dri->base.v0.fd,
|
||||
dri->loader_extensions,
|
||||
type,
|
||||
&dri->driver_configs, driver_name_is_inferred, dri);
|
||||
&dri->driver_configs, driver_name_is_inferred, true, dri);
|
||||
if (dri->screen == NULL)
|
||||
goto fail;
|
||||
|
||||
|
|
|
|||
|
|
@ -898,7 +898,8 @@ dri2CreateScreen(int screen, struct glx_display * priv, bool driver_name_is_infe
|
|||
psc->base.driverName = driverName;
|
||||
|
||||
psc->driScreen = driCreateNewScreen3(screen, psc->fd, loader_extensions, DRI_SCREEN_DRI3,
|
||||
&driver_configs, driver_name_is_inferred, psc);
|
||||
&driver_configs, driver_name_is_inferred,
|
||||
priv->has_multibuffer, psc);
|
||||
|
||||
if (psc->driScreen == NULL) {
|
||||
ErrorMessageF("glx: failed to create dri2 screen\n");
|
||||
|
|
|
|||
|
|
@ -748,7 +748,8 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
|
|||
psc->driScreenDisplayGPU = driCreateNewScreen3(screen, psc->fd_display_gpu,
|
||||
loader_extensions,
|
||||
DRI_SCREEN_DRI3,
|
||||
&driver_configs, driver_name_is_inferred, psc);
|
||||
&driver_configs, driver_name_is_inferred,
|
||||
priv->has_multibuffer, psc);
|
||||
}
|
||||
|
||||
free(driverNameDisplayGPU);
|
||||
|
|
@ -758,7 +759,8 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
|
|||
psc->driScreenRenderGPU = driCreateNewScreen3(screen, psc->fd_render_gpu,
|
||||
loader_extensions,
|
||||
DRI_SCREEN_DRI3,
|
||||
&driver_configs, driver_name_is_inferred, psc);
|
||||
&driver_configs, driver_name_is_inferred,
|
||||
priv->has_multibuffer, psc);
|
||||
|
||||
if (psc->driScreenRenderGPU == NULL) {
|
||||
ErrorMessageF("glx: failed to create dri3 screen\n");
|
||||
|
|
|
|||
|
|
@ -863,7 +863,8 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv
|
|||
|
||||
psc->driScreen = driCreateNewScreen3(screen, -1, loader_extensions_local,
|
||||
glx_driver ? DRI_SCREEN_KOPPER : DRI_SCREEN_SWRAST,
|
||||
&driver_configs, driver_name_is_inferred, psc);
|
||||
&driver_configs, driver_name_is_inferred,
|
||||
priv->has_multibuffer, psc);
|
||||
if (psc->driScreen == NULL) {
|
||||
if (!glx_driver || !driver_name_is_inferred)
|
||||
ErrorMessageF("glx: failed to create drisw screen\n");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue