kopper: pass modifier availability to drawable creation

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075>
This commit is contained in:
Mike Blumenkrantz 2023-07-27 08:53:54 -04:00 committed by Marge Bot
parent 1887368df4
commit a9efabd8f3
3 changed files with 5 additions and 0 deletions

View File

@ -50,6 +50,7 @@ typedef struct __DRIkopperDrawableInfoRec __DRIkopperDrawableInfo;
#define __DRI_KOPPER_VERSION 1
struct __DRIkopperDrawableInfoRec {
bool multiplanes_available;
int is_pixmap;
};

View File

@ -1596,6 +1596,9 @@ dri2_create_drawable(struct dri2_egl_display *dri2_dpy,
dri2_surf->dri_drawable = dri2_dpy->kopper->createNewDrawable(
dri2_dpy->dri_screen_render_gpu, config, loaderPrivate,
&(__DRIkopperDrawableInfo){
#ifdef HAVE_X11_PLATFORM
.multiplanes_available = dri2_dpy->multibuffers_available,
#endif
.is_pixmap = dri2_surf->base.Type == EGL_PBUFFER_BIT ||
dri2_surf->base.Type == EGL_PIXMAP_BIT,
});

View File

@ -729,6 +729,7 @@ driswCreateDrawable(struct glx_screen *base, XID xDrawable,
pdp->driDrawable =
kopper->createNewDrawable(psc->driScreen, config->driConfig, pdp,
&(__DRIkopperDrawableInfo){
.multiplanes_available = psc->has_multibuffer,
.is_pixmap = !(type & GLX_WINDOW_BIT),
});