Mesa (master): dri/i915, dri/i965: Fix support for planar images

Kristian Høgsberg krh at kemper.freedesktop.org
Wed Nov 13 00:10:00 UTC 2013


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

Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Date:   Tue Nov 12 14:47:08 2013 +0200

dri/i915, dri/i965: Fix support for planar images

Planar images have format __DRI_IMAGE_FORMAT_NONE, but the patch that
moved the conversion from dri_format to the mesa format made it
impossible to allocate a image with that format.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>

---

 src/mesa/drivers/dri/i915/intel_screen.c |    3 ++-
 src/mesa/drivers/dri/i965/intel_screen.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c
index 2c309ed..a10331c 100644
--- a/src/mesa/drivers/dri/i915/intel_screen.c
+++ b/src/mesa/drivers/dri/i915/intel_screen.c
@@ -246,7 +246,8 @@ intel_allocate_image(int dri_format, void *loaderPrivate)
     image->offset = 0;
 
     image->format = driImageFormatToGLFormat(dri_format);
-    if (image->format == 0) {
+    if (dri_format != __DRI_IMAGE_FORMAT_NONE &&
+        image->format == MESA_FORMAT_NONE) {
        free(image);
        return NULL;
     }
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index e39d654..6bcfe2c 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -300,7 +300,8 @@ intel_allocate_image(int dri_format, void *loaderPrivate)
     image->offset = 0;
 
     image->format = driImageFormatToGLFormat(dri_format);
-    if (image->format == 0) {
+    if (dri_format != __DRI_IMAGE_FORMAT_NONE &&
+        image->format == MESA_FORMAT_NONE) {
        free(image);
        return NULL;
     }




More information about the mesa-commit mailing list