mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-01-09 07:15:12 +08:00
anv: Advertise support for VK_EXT_shader_atomic_float2
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11981>
This commit is contained in:
parent
a3e53495a9
commit
4dc81cc631
@ -543,6 +543,7 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_EXT_robustness2 DONE (anv, radv, tu)
|
||||
VK_EXT_sample_locations DONE (anv, radv/gfx9-, tu/a650)
|
||||
VK_EXT_shader_atomic_float DONE (anv, radv)
|
||||
VK_EXT_shader_atomic_float2 DONE (anv/gen9+)
|
||||
VK_EXT_shader_demote_to_helper_invocation DONE (anv, radv, tu)
|
||||
VK_EXT_shader_image_atomic_int64 DONE (radv)
|
||||
VK_EXT_shader_stencil_export DONE (anv/gen9+, lvp, radv, tu)
|
||||
|
@ -1,3 +1,4 @@
|
||||
VK_EXT_color_write_enable on lavapipe
|
||||
GL_ARB_texture_filter_anisotropic in llvmpipe
|
||||
Anisotropic texture filtering in lavapipe
|
||||
VK_EXT_shader_atomic_float2 on Intel
|
||||
|
@ -303,6 +303,7 @@ get_device_extensions(const struct anv_physical_device *device,
|
||||
.EXT_scalar_block_layout = true,
|
||||
.EXT_separate_stencil_usage = true,
|
||||
.EXT_shader_atomic_float = true,
|
||||
.EXT_shader_atomic_float2 = device->info.ver >= 9,
|
||||
.EXT_shader_demote_to_helper_invocation = true,
|
||||
.EXT_shader_stencil_export = device->info.ver >= 9,
|
||||
.EXT_shader_subgroup_ballot = true,
|
||||
@ -1672,6 +1673,23 @@ void anv_GetPhysicalDeviceFeatures2(
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
|
||||
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *features = (void *)ext;
|
||||
features->shaderBufferFloat16Atomics = false;
|
||||
features->shaderBufferFloat16AtomicAdd = false;
|
||||
features->shaderBufferFloat16AtomicMinMax = false;
|
||||
features->shaderBufferFloat32AtomicMinMax = pdevice->info.ver >= 9;
|
||||
features->shaderBufferFloat64AtomicMinMax = false;
|
||||
features->shaderSharedFloat16Atomics = false;
|
||||
features->shaderSharedFloat16AtomicAdd = false;
|
||||
features->shaderSharedFloat16AtomicMinMax = false;
|
||||
features->shaderSharedFloat32AtomicMinMax = pdevice->info.ver >= 9;
|
||||
features->shaderSharedFloat64AtomicMinMax = false;
|
||||
features->shaderImageFloat32AtomicMinMax = false;
|
||||
features->sparseImageFloat32AtomicMinMax = false;
|
||||
break;
|
||||
}
|
||||
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: {
|
||||
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = (void *)ext;
|
||||
CORE_FEATURE(1, 2, shaderBufferInt64Atomics);
|
||||
|
@ -158,6 +158,7 @@ anv_shader_compile_to_nir(struct anv_device *device,
|
||||
.device_group = true,
|
||||
.draw_parameters = true,
|
||||
.float16 = pdevice->info.ver >= 8,
|
||||
.float32_atomic_min_max = pdevice->info.ver >= 9,
|
||||
.float64 = pdevice->info.ver >= 8,
|
||||
.fragment_shader_sample_interlock = pdevice->info.ver >= 9,
|
||||
.fragment_shader_pixel_interlock = pdevice->info.ver >= 9,
|
||||
|
Loading…
Reference in New Issue
Block a user