On January 22, 2018 09:10:52 Kristian Høgsberg <hoegsb...@gmail.com> wrote:
On Sun, Jan 21, 2018 at 8:05 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
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.
Cc: mesa-sta...@lists.freedesktop.org
Cc: Kenneth Graunke <kenn...@whitecape.org>
---
src/mesa/drivers/dri/i965/intel_screen.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c
b/src/mesa/drivers/dri/i965/intel_screen.c
index b563bbf..e877f93 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -1043,7 +1043,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);
You need to handle mod_info == NULL for unknown modifiers.
The code above this checks that the modifier is supported and bails if it
isn't.
Kristian
+ 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;
--
2.5.0.400.gff86faf
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev