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:
@@ -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,
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user