summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hellstrom <thellstrom@vmware.com>2018-04-12 14:41:47 +0200
committerThomas Hellstrom <thellstrom@vmware.com>2018-04-19 13:42:51 +0200
commite0c08183fb20399128ff363467e00aa1e8767886 (patch)
treee7bbcd191f704a11cd2a0bd5f3c070fa1476b10a
parent79487c427ee2f82bc947ac1dffd6e2374efaa90f (diff)
svga: Fix incorrect advertizing of EGL_KHR_gl_colorspace
When advertizing this extension, egl_dri2 uses the DRI2_RENDERER_QUERY extension to query whether an sRGB format is supported. That extension will query our driver with the BIND flag PIPE_BIND_RENDER_TARGET rather than PIPE_BIND_DISPLAY_TARGET which is used when building the configs. We only return the correct value for PIPE_BIND_DISPLAY_TARGET. The inconsistency causes EGL to crash at surface initialization if sRGB is not supported. Fix this by supporting both bind flags. Testing done: piglit egl_gl_colorspace srgb Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Charmaine Lee <charmainel@vmware.com>
-rw-r--r--src/gallium/drivers/svga/svga_format.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_format.c b/src/gallium/drivers/svga/svga_format.c
index 20a6e6b159f..c9adee11afb 100644
--- a/src/gallium/drivers/svga/svga_format.c
+++ b/src/gallium/drivers/svga/svga_format.c
@@ -2107,7 +2107,7 @@ svga_is_format_supported(struct pipe_screen *screen,
if (!ss->sws->have_vgpu10 &&
util_format_is_srgb(format) &&
- (bindings & PIPE_BIND_DISPLAY_TARGET)) {
+ (bindings & (PIPE_BIND_DISPLAY_TARGET | PIPE_BIND_RENDER_TARGET))) {
/* We only support sRGB rendering with vgpu10 */
return FALSE;
}