Module: Mesa
Branch: master
Commit: 0e7f3febf7e739c075a139ae641d65a0618752f3
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e7f3febf7e739c075a139ae641d65a0618752f3

Author: Jason Ekstrand <[email protected]>
Date:   Tue Jun  5 11:42:37 2018 -0700

i965/screen: Use RGBA non-sRGB formats for images

Not all of the MESA_FORMAT and ISL_FORMAT helpers we use can properly
handle RGBX formats.  Also, we don't want to make decisions based on
those in the first place because we can't render to RGBA and we use the
non-sRGB version to determine whether or not to allow CCS_E.

Cc: [email protected]
Reviewed-by: Lionel Landwerlin <[email protected]>

---

 src/mesa/drivers/dri/i965/intel_screen.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/intel_screen.c 
b/src/mesa/drivers/dri/i965/intel_screen.c
index 5f0eeb4177..fe18eae17e 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -341,6 +341,10 @@ modifier_is_supported(const struct gen_device_info 
*devinfo,
       }
 
       mesa_format format = driImageFormatToGLFormat(dri_format);
+      /* Whether or not we support compression is based on the RGBA non-sRGB
+       * version of the format.
+       */
+      format = _mesa_format_fallback_rgbx_to_rgba(format);
       format = _mesa_get_srgb_format_linear(format);
       if (!isl_format_supports_ccs_e(devinfo,
                                      brw_isl_format_for_mesa_format(format)))
@@ -1095,6 +1099,11 @@ intel_create_image_from_fds_common(__DRIscreen 
*dri_screen,
       image->strides[index] = strides[index];
 
       mesa_format format = driImageFormatToGLFormat(f->planes[i].dri_format);
+      /* The images we will create are actually based on the RGBA non-sRGB
+       * version of the format.
+       */
+      format = _mesa_format_fallback_rgbx_to_rgba(format);
+      format = _mesa_get_srgb_format_linear(format);
 
       ok = isl_surf_init(&screen->isl_dev, &surf,
                          .dim = ISL_SURF_DIM_2D,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to