anv: Implement VK_AMD_texture_gather_bias_lod

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27447>
This commit is contained in:
Sagar Ghuge
2023-02-28 14:03:48 -08:00
committed by Marge Bot
parent 269d2c4a3f
commit 5e800ab6f7
4 changed files with 12 additions and 1 deletions
+1
View File
@@ -409,6 +409,7 @@ get_device_extensions(const struct anv_physical_device *device,
.EXT_vertex_input_dynamic_state = true,
.EXT_ycbcr_image_arrays = true,
.AMD_buffer_marker = true,
.AMD_texture_gather_bias_lod = device->info.ver >= 20,
#if DETECT_OS_ANDROID
.ANDROID_external_memory_android_hardware_buffer = true,
.ANDROID_native_buffer = true,
+9
View File
@@ -1591,6 +1591,7 @@ VkResult anv_GetPhysicalDeviceImageFormatProperties2(
VkExternalImageFormatProperties *external_props = NULL;
VkSamplerYcbcrConversionImageFormatProperties *ycbcr_props = NULL;
UNUSED VkAndroidHardwareBufferUsageANDROID *android_usage = NULL;
VkTextureLODGatherFormatPropertiesAMD *texture_lod_gather_props = NULL;
VkResult result;
bool from_wsi = false;
@@ -1631,6 +1632,9 @@ VkResult anv_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_gather_props = (void *) s;
break;
default:
anv_debug_ignored_stype(s->sType);
break;
@@ -1790,6 +1794,11 @@ VkResult anv_GetPhysicalDeviceImageFormatProperties2(
}
}
if (texture_lod_gather_props) {
texture_lod_gather_props->supportsTextureGatherLODBiasAMD =
physical_device->info.ver >= 20;
}
return VK_SUCCESS;
fail:
+1
View File
@@ -145,6 +145,7 @@ anv_shader_stage_to_nir(struct anv_device *device,
const bool rt_enabled = ANV_SUPPORT_RT && pdevice->info.has_ray_tracing;
const struct spirv_to_nir_options spirv_options = {
.caps = {
.amd_image_gather_bias_lod = pdevice->info.ver >= 20,
.cooperative_matrix = anv_has_cooperative_matrix(pdevice),
.demote_to_helper_invocation = true,
.derivative_group = true,