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

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
This commit is contained in:
Jason Ekstrand
2017-06-12 17:52:41 -07:00
parent a668ba9c18
commit 5b3363e3f1
2 changed files with 28 additions and 0 deletions

View File

@@ -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);

View File

@@ -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,