From: Samuel Iglesias Gonsálvez Date: Mon, 26 Feb 2018 07:26:24 +0000 (+0100) Subject: anv: set maxResourceSize to the respective value for each generation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c757c9dc0346247cefc1157afd0167d364fa9544;p=mesa.git anv: set maxResourceSize to the respective value for each generation v2: - Add the proper values to gen9+ (Jason) Signed-off-by: Samuel Iglesias Gonsálvez Reviewed-by: Jason Ekstrand --- diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c index 9c52ad5acbd..65aa516ff80 100644 --- a/src/intel/vulkan/anv_formats.c +++ b/src/intel/vulkan/anv_formats.c @@ -842,6 +842,19 @@ anv_get_image_format_properties( */ } + /* From the bspec section entitled "Surface Layout and Tiling", + * pre-gen9 has a 2 GB limitation of the size in bytes, + * gen9 and gen10 have a 256 GB limitation and gen11+ + * has a 16 TB limitation. + */ + uint64_t maxResourceSize = 0; + if (devinfo->gen < 9) + maxResourceSize = (uint64_t) 1 << 31; + else if (devinfo->gen < 11) + maxResourceSize = (uint64_t) 1 << 38; + else + maxResourceSize = (uint64_t) 1 << 44; + *pImageFormatProperties = (VkImageFormatProperties) { .maxExtent = maxExtent, .maxMipLevels = maxMipLevels, @@ -851,7 +864,7 @@ anv_get_image_format_properties( /* FINISHME: Accurately calculate * VkImageFormatProperties::maxResourceSize. */ - .maxResourceSize = UINT32_MAX, + .maxResourceSize = maxResourceSize, }; if (pYcbcrImageFormatProperties) {