Mesa (master): intel/isl: Add a helper to convert tilings from ISL to i915

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Jul 13 04:16:21 UTC 2017


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Jun 12 17:52:41 2017 -0700

intel/isl: Add a helper to convert tilings from ISL to i915

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Chad Versace <chadversary at chromium.org>

---

 src/intel/isl/isl.h     |  3 +++
 src/intel/isl/isl_drm.c | 25 +++++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index 563bcfb04d..dd550c349a 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -1513,6 +1513,9 @@ isl_tiling_is_std_y(enum isl_tiling tiling)
    return (1u << tiling) & ISL_TILING_STD_Y_MASK;
 }
 
+uint32_t
+isl_tiling_to_i915_tiling(enum isl_tiling tiling);
+
 const struct isl_drm_modifier_info * ATTRIBUTE_CONST
 isl_drm_modifier_get_info(uint64_t modifier);
 
diff --git a/src/intel/isl/isl_drm.c b/src/intel/isl/isl_drm.c
index 8fccc40862..b7a4997d2d 100644
--- a/src/intel/isl/isl_drm.c
+++ b/src/intel/isl/isl_drm.c
@@ -25,10 +25,35 @@
 #include <stdlib.h>
 
 #include <drm_fourcc.h>
+#include <i915_drm.h>
 
 #include "isl.h"
 #include "common/gen_device_info.h"
 
+uint32_t
+isl_tiling_to_i915_tiling(enum isl_tiling tiling)
+{
+   switch (tiling) {
+   case ISL_TILING_LINEAR:
+      return I915_TILING_NONE;
+
+   case ISL_TILING_X:
+      return I915_TILING_X;
+
+   case ISL_TILING_Y0:
+      return I915_TILING_Y;
+
+   case ISL_TILING_W:
+   case ISL_TILING_Yf:
+   case ISL_TILING_Ys:
+   case ISL_TILING_HIZ:
+   case ISL_TILING_CCS:
+      return I915_TILING_NONE;
+   }
+
+   unreachable("Invalid ISL tiling");
+}
+
 struct isl_drm_modifier_info modifier_info[] = {
    {
       .modifier = DRM_FORMAT_MOD_NONE,




More information about the mesa-commit mailing list