Mesa (master): i965: introduce modifier selection.

Ben Widawsky bwidawsk at kemper.freedesktop.org
Wed Mar 15 19:34:13 UTC 2017


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

Author: Ben Widawsky <ben at bwidawsk.net>
Date:   Mon Mar 13 18:20:02 2017 -0700

i965: introduce modifier selection.

Nothing special here other than a brief introduction to modifier
selection. Originally this was part of another patch but was split out
from
gbm: Introduce modifiers into surface/bo creation by request of Emil.

Requested-by: Emil Velikov <emil.velikov at collabora.com>
Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

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

diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index 5f9dea6..81cb0de 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -41,6 +41,10 @@
 #include "utils.h"
 #include "xmlpool.h"
 
+#ifndef DRM_FORMAT_MOD_INVALID
+#define DRM_FORMAT_MOD_INVALID ((1ULL<<56) - 1)
+#endif
+
 static const __DRIconfigOptionsExtension brw_config_options = {
    .base = { __DRI_CONFIG_OPTIONS, 1 },
    .xml =
@@ -505,6 +509,15 @@ intel_destroy_image(__DRIimage *image)
    free(image);
 }
 
+static uint64_t
+select_best_modifier(struct gen_device_info *devinfo,
+                     const uint64_t *modifiers,
+                     const unsigned count)
+{
+   /* Modifiers are not supported by this DRI driver */
+   return DRM_FORMAT_MOD_INVALID;
+}
+
 static __DRIimage *
 intel_create_image_common(__DRIscreen *dri_screen,
                           int width, int height, int format,
@@ -525,6 +538,12 @@ intel_create_image_common(__DRIscreen *dri_screen,
     */
    assert(!(use && count));
 
+   uint64_t modifier = select_best_modifier(&screen->devinfo, modifiers, count);
+   assert(modifier == DRM_FORMAT_MOD_INVALID);
+
+   /* Historically, X-tiled was the default, and so lack of modifier means
+    * X-tiled.
+    */
    tiling = I915_TILING_X;
    if (use & __DRI_IMAGE_USE_CURSOR) {
       if (width != 64 || height != 64)




More information about the mesa-commit mailing list