anv,hasvk,radv: do not fall back to AHARDWAREBUFFER_FORMAT_BLOB
When allocating a VkDeviceMemory exportable as AHB, it seems incorrect to fall back to AHARDWAREBUFFER_FORMAT_BLOB when the image has no known AHB format. We should fail the allocation instead. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619>
This commit is contained in:
@@ -416,7 +416,7 @@ radv_ahb_format_for_vk_format(VkFormat vk_format)
|
||||
case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
|
||||
return AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420;
|
||||
default:
|
||||
return AHARDWAREBUFFER_FORMAT_BLOB;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -150,7 +150,7 @@ anv_ahb_format_for_vk_format(VkFormat vk_format)
|
||||
return HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL;
|
||||
#endif
|
||||
default:
|
||||
return AHARDWAREBUFFER_FORMAT_BLOB;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -150,7 +150,7 @@ anv_ahb_format_for_vk_format(VkFormat vk_format)
|
||||
return HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL;
|
||||
#endif
|
||||
default:
|
||||
return AHARDWAREBUFFER_FORMAT_BLOB;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -150,13 +150,13 @@ vk_alloc_ahardware_buffer(const VkMemoryAllocateInfo *pAllocateInfo)
|
||||
/* If caller passed dedicated information. */
|
||||
if (dedicated_info && dedicated_info->image) {
|
||||
VK_FROM_HANDLE(vk_image, image, dedicated_info->image);
|
||||
|
||||
if (!image->ahb_format)
|
||||
return NULL;
|
||||
|
||||
w = image->extent.width;
|
||||
h = image->extent.height;
|
||||
layers = image->array_layers;
|
||||
assert(image->ahb_format != 0);
|
||||
/* TODO: This feels a bit sketchy. We should probably be taking the
|
||||
* external format into account somehow.
|
||||
*/
|
||||
format = image->ahb_format;
|
||||
usage = vk_image_usage_to_ahb_usage(image->create_flags,
|
||||
image->usage);
|
||||
|
Reference in New Issue
Block a user