radv: add support for querying which formats support texture gather LOD
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5147>
This commit is contained in:
parent
94570e87bd
commit
2e265b94a2
|
@ -1380,6 +1380,7 @@ VkResult radv_GetPhysicalDeviceImageFormatProperties2(
|
|||
VkExternalImageFormatProperties *external_props = NULL;
|
||||
struct VkAndroidHardwareBufferUsageANDROID *android_usage = NULL;
|
||||
VkSamplerYcbcrConversionImageFormatProperties *ycbcr_props = NULL;
|
||||
VkTextureLODGatherFormatPropertiesAMD *texture_lod_props = NULL;
|
||||
VkResult result;
|
||||
VkFormat format = radv_select_android_external_format(base_info->pNext, base_info->format);
|
||||
|
||||
|
@ -1411,6 +1412,9 @@ VkResult radv_GetPhysicalDeviceImageFormatProperties2(
|
|||
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
|
||||
android_usage = (void *) s;
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
|
||||
texture_lod_props = (void *) s;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1454,6 +1458,14 @@ VkResult radv_GetPhysicalDeviceImageFormatProperties2(
|
|||
ycbcr_props->combinedImageSamplerDescriptorCount = vk_format_get_plane_count(format);
|
||||
}
|
||||
|
||||
if (texture_lod_props) {
|
||||
if (physical_device->rad_info.chip_class >= GFX9) {
|
||||
texture_lod_props->supportsTextureGatherLODBiasAMD = true;
|
||||
} else {
|
||||
texture_lod_props->supportsTextureGatherLODBiasAMD = !vk_format_is_int(format);
|
||||
}
|
||||
}
|
||||
|
||||
return VK_SUCCESS;
|
||||
|
||||
fail:
|
||||
|
|
Loading…
Reference in New Issue