iris: Move tiling_to_modifier() implementation to i915 folder

There is no tiling in Xe KMD uAPI.
With this one more i915_drm.h include can be removed.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28327>
This commit is contained in:
José Roberto de Souza
2024-03-15 11:45:19 -07:00
committed by Marge Bot
parent cc570dbada
commit 50eceb1e33
3 changed files with 23 additions and 11 deletions
@@ -108,3 +108,17 @@ int iris_i915_bo_set_tiling(struct iris_bo *bo, const struct isl_surf *surf)
return ret;
}
uint64_t
iris_i915_tiling_to_modifier(uint32_t tiling)
{
static const uint64_t map[] = {
[I915_TILING_NONE] = DRM_FORMAT_MOD_LINEAR,
[I915_TILING_X] = I915_FORMAT_MOD_X_TILED,
[I915_TILING_Y] = I915_FORMAT_MOD_Y_TILED,
};
assert(tiling < ARRAY_SIZE(map));
return map[tiling];
}
@@ -34,5 +34,6 @@ bool iris_i915_bo_busy_gem(struct iris_bo *bo);
int iris_i915_bo_wait_gem(struct iris_bo *bo, int64_t timeout_ns);
int iris_i915_bo_get_tiling(struct iris_bo *bo, uint32_t *tiling);
int iris_i915_bo_set_tiling(struct iris_bo *bo, const struct isl_surf *surf);
uint64_t iris_i915_tiling_to_modifier(uint32_t tiling);
bool iris_i915_init_global_vm(struct iris_bufmgr *bufmgr, uint32_t *vm_id);
+8 -11
View File
@@ -46,6 +46,7 @@
#include "util/u_transfer_helper.h"
#include "util/u_upload_mgr.h"
#include "util/ralloc.h"
#include "i915/iris_bufmgr.h"
#include "iris_batch.h"
#include "iris_context.h"
#include "iris_resource.h"
@@ -54,7 +55,6 @@
#include "intel/dev/intel_debug.h"
#include "isl/isl.h"
#include "drm-uapi/drm_fourcc.h"
#include "drm-uapi/i915_drm.h"
enum modifier_priority {
MODIFIER_PRIORITY_INVALID = 0,
@@ -1161,17 +1161,14 @@ iris_resource_create(struct pipe_screen *pscreen,
}
static uint64_t
tiling_to_modifier(uint32_t tiling)
tiling_to_modifier(struct iris_bufmgr *bufmgr, uint32_t tiling)
{
static const uint64_t map[] = {
[I915_TILING_NONE] = DRM_FORMAT_MOD_LINEAR,
[I915_TILING_X] = I915_FORMAT_MOD_X_TILED,
[I915_TILING_Y] = I915_FORMAT_MOD_Y_TILED,
};
if (iris_bufmgr_get_device_info(bufmgr)->kmd_type != INTEL_KMD_TYPE_I915) {
assert(tiling == 0);
return DRM_FORMAT_MOD_LINEAR;
}
assert(tiling < ARRAY_SIZE(map));
return map[tiling];
return iris_i915_tiling_to_modifier(tiling);
}
static struct pipe_resource *
@@ -1351,7 +1348,7 @@ iris_resource_from_handle(struct pipe_screen *pscreen,
/* We have no modifier; match whatever GEM_GET_TILING says */
uint32_t tiling;
iris_gem_get_tiling(main_res->bo, &tiling);
modifier = tiling_to_modifier(tiling);
modifier = tiling_to_modifier(bufmgr, tiling);
} else {
modifier = whandle->modifier;
}