{
bool handled = false;
+ /* This path uses a shader blit which doesn't support linear images. Return
+ * early to avoid all te heavy lifting in preparation for the blit_shader()
+ * call that is bound to fail in that scenario.
+ */
+ if (image->vk.tiling == VK_IMAGE_TILING_LINEAR &&
+ image->vk.image_type != VK_IMAGE_TYPE_1D) {
+ return handled;
+ }
+
/* Generally, the bpp of the data in the buffer matches that of the
* source image. The exception is the case where we are copying
* stencil (8bpp) to a combined d24s8 image (32bpp).
!vk_format_is_depth_or_stencil(dst_format));
/* Can't sample from linear images */
- if (src->vk.tiling == VK_IMAGE_TILING_LINEAR && src->vk.image_type != VK_IMAGE_TYPE_1D)
+ if (src->vk.tiling == VK_IMAGE_TILING_LINEAR &&
+ src->vk.image_type != VK_IMAGE_TYPE_1D) {
return false;
+ }
VkImageBlit2KHR region = *_region;
/* Rewrite combined D/S blits to compatible color blits */