summaryrefslogtreecommitdiffstats
path: root/src/intel/isl
diff options
context:
space:
mode:
authorTopi Pohjolainen <[email protected]>2017-07-19 20:35:29 +0300
committerTopi Pohjolainen <[email protected]>2017-07-20 11:32:21 +0300
commit171b72542ccbf54097079f3ffe20440d3e2c4316 (patch)
tree92a2f8f8693018f4ceea13919d8baf567c80e380 /src/intel/isl
parentd8521b9960e4f0202cc61feb5eab4b34c0cfde60 (diff)
intel/isl: Add i915 to isl_tiling converter
v2: s/i915_tiling_to_isl_tiling(/isl_tiling_from_i915_tiling/ Reviewed-by: Daniel Stone <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Signed-off-by: Topi Pohjolainen <[email protected]>
Diffstat (limited to 'src/intel/isl')
-rw-r--r--src/intel/isl/isl.h3
-rw-r--r--src/intel/isl/isl_drm.c17
2 files changed, 20 insertions, 0 deletions
diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index d81df31a372..92d2ffc31a5 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -1516,6 +1516,9 @@ isl_tiling_is_std_y(enum isl_tiling tiling)
uint32_t
isl_tiling_to_i915_tiling(enum isl_tiling tiling);
+enum isl_tiling
+isl_tiling_from_i915_tiling(uint32_t 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 b7a4997d2d0..ef80e42fdf7 100644
--- a/src/intel/isl/isl_drm.c
+++ b/src/intel/isl/isl_drm.c
@@ -54,6 +54,23 @@ isl_tiling_to_i915_tiling(enum isl_tiling tiling)
unreachable("Invalid ISL tiling");
}
+enum isl_tiling
+isl_tiling_from_i915_tiling(uint32_t tiling)
+{
+ switch (tiling) {
+ case I915_TILING_NONE:
+ return ISL_TILING_LINEAR;
+
+ case I915_TILING_X:
+ return ISL_TILING_X;
+
+ case I915_TILING_Y:
+ return ISL_TILING_Y0;
+ }
+
+ unreachable("Invalid i915 tiling");
+}
+
struct isl_drm_modifier_info modifier_info[] = {
{
.modifier = DRM_FORMAT_MOD_NONE,