mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
egl/dri2: Refuse to add EGLConfigs with no supported surface types
For example, the surfaceless platform only supports pbuffers. If the driver supports MSAA, we would still create a config, but it would have no supported surface types. That's meaningless, so don't do it. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
parent
96b592696f
commit
7e0e53a077
1 changed files with 16 additions and 13 deletions
|
|
@ -420,6 +420,22 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
|
|||
base.BindToTextureRGBA = bind_to_texture_rgba;
|
||||
}
|
||||
|
||||
if (double_buffer) {
|
||||
surface_type &= ~EGL_PIXMAP_BIT;
|
||||
}
|
||||
|
||||
/* No support for pbuffer + MSAA for now.
|
||||
*
|
||||
* XXX TODO: pbuffer + MSAA does not work and causes crashes.
|
||||
* See QT bugreport: https://bugreports.qt.io/browse/QTBUG-47509
|
||||
*/
|
||||
if (base.Samples) {
|
||||
surface_type &= ~EGL_PBUFFER_BIT;
|
||||
}
|
||||
|
||||
if (!surface_type)
|
||||
return NULL;
|
||||
|
||||
base.RenderableType = disp->ClientAPIs;
|
||||
base.Conformant = disp->ClientAPIs;
|
||||
|
||||
|
|
@ -464,19 +480,6 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (double_buffer) {
|
||||
surface_type &= ~EGL_PIXMAP_BIT;
|
||||
}
|
||||
|
||||
/* No support for pbuffer + MSAA for now.
|
||||
*
|
||||
* XXX TODO: pbuffer + MSAA does not work and causes crashes.
|
||||
* See QT bugreport: https://bugreports.qt.io/browse/QTBUG-47509
|
||||
*/
|
||||
if (base.Samples) {
|
||||
surface_type &= ~EGL_PBUFFER_BIT;
|
||||
}
|
||||
|
||||
conf->base.SurfaceType |= surface_type;
|
||||
|
||||
return conf;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue