From: Jonathan Marek Date: Thu, 26 Sep 2019 02:47:02 +0000 (-0400) Subject: turnip: use linear tiling for scanout image X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=195abadd2c0d589f9b29a3061c6b2b72f1450151;p=mesa.git turnip: use linear tiling for scanout image Signed-off-by: Jonathan Marek Reviewed-by: Kristian H. Kristensen Acked-by: Eric Anholt --- diff --git a/src/freedreno/vulkan/tu_image.c b/src/freedreno/vulkan/tu_image.c index 8bea11b6ff7..694f45802bc 100644 --- a/src/freedreno/vulkan/tu_image.c +++ b/src/freedreno/vulkan/tu_image.c @@ -172,7 +172,10 @@ tu_image_create(VkDevice _device, vk_find_struct_const(pCreateInfo->pNext, EXTERNAL_MEMORY_IMAGE_CREATE_INFO) != NULL; - image->tile_mode = pCreateInfo->tiling == VK_IMAGE_TILING_OPTIMAL ? 3 : 0; + image->tile_mode = TILE6_LINEAR; + if (pCreateInfo->tiling == VK_IMAGE_TILING_OPTIMAL && !create_info->scanout) + image->tile_mode = TILE6_3; + setup_slices(image, pCreateInfo); image->size = image->layer_size * pCreateInfo->arrayLayers; @@ -339,10 +342,14 @@ tu_CreateImage(VkDevice device, pAllocator, pImage); #endif + const struct wsi_image_create_info *wsi_info = + vk_find_struct_const(pCreateInfo->pNext, WSI_IMAGE_CREATE_INFO_MESA); + bool scanout = wsi_info && wsi_info->scanout; + return tu_image_create(device, &(struct tu_image_create_info) { .vk_info = pCreateInfo, - .scanout = false, + .scanout = scanout, }, pAllocator, pImage); }