From: Jason Ekstrand Date: Fri, 12 Jan 2018 01:33:36 +0000 (-0800) Subject: i965: Set tiling on BOs imported with modifiers X-Git-Tag: upstream/18.1.0~2478 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=50485723523d2948a44570ba110f02f726f86a54;p=platform%2Fupstream%2Fmesa.git i965: Set tiling on BOs imported with modifiers We need this to ensure that GTT maps work on buffers we get from Vulkan on the off chance that someone does a readpixels or something. Soon, we will be removing GTT maps from i965 entirely and this can be reverted. None the less, it's needed for stable. Reviewed-by: Kenneth Graunke Cc: mesa-stable@lists.freedesktop.org --- diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 9dbda51..a4e34e9 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -1032,7 +1032,16 @@ intel_create_image_from_fds_common(__DRIscreen *dri_screen, image->planar_format = f; - image->bo = brw_bo_gem_create_from_prime(screen->bufmgr, fds[0]); + if (modifier != DRM_FORMAT_MOD_INVALID) { + const struct isl_drm_modifier_info *mod_info = + isl_drm_modifier_get_info(modifier); + uint32_t tiling = isl_tiling_to_i915_tiling(mod_info->tiling); + image->bo = brw_bo_gem_create_from_prime_tiled(screen->bufmgr, fds[0], + tiling, strides[0]); + } else { + image->bo = brw_bo_gem_create_from_prime(screen->bufmgr, fds[0]); + } + if (image->bo == NULL) { free(image); return NULL;