nvk: Advertise VK_KHR_shader_float_controls

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9605
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26557>
This commit is contained in:
Faith Ekstrand 2023-12-06 18:28:18 -06:00 committed by Marge Bot
parent 1c84c8183c
commit 61dd82ccab
3 changed files with 20 additions and 1 deletions

View file

@ -460,7 +460,7 @@ Vulkan 1.2 -- all DONE: anv, tu, vn
VK_KHR_separate_depth_stencil_layouts DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_shader_atomic_int64 DONE (anv/gen9+, lvp, nvk, radv, vn)
VK_KHR_shader_float16_int8 DONE (anv/gen8+, dzn, hasvk, lvp, radv, tu, vn)
VK_KHR_shader_float_controls DONE (anv/gen8+, dzn, hasvk, lvp, radv, tu, v3dv, vn)
VK_KHR_shader_float_controls DONE (anv/gen8+, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_shader_subgroup_extended_types DONE (anv/gen8+, hasvk, lvp, radv, tu, vn)
VK_KHR_spirv_1_4 DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_timeline_semaphore DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)

View file

@ -116,6 +116,7 @@ nvk_get_device_extensions(const struct nv_device_info *info,
nvk_use_nak(info),
.KHR_shader_clock = true,
.KHR_shader_draw_parameters = true,
.KHR_shader_float_controls = true,
.KHR_shader_float16_int8 = true,
.KHR_shader_integer_dot_product = true,
.KHR_shader_non_semantic_info = true,
@ -654,6 +655,23 @@ nvk_get_device_properties(const struct nvk_instance *instance,
.subminor = 0,
.patch = 0,
},
.denormBehaviorIndependence = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
.roundingModeIndependence = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
.shaderSignedZeroInfNanPreserveFloat16 = true,
.shaderSignedZeroInfNanPreserveFloat32 = true,
.shaderSignedZeroInfNanPreserveFloat64 = true,
.shaderDenormPreserveFloat16 = true,
.shaderDenormPreserveFloat32 = true,
.shaderDenormPreserveFloat64 = true,
.shaderDenormFlushToZeroFloat16 = true,
.shaderDenormFlushToZeroFloat32 = true,
.shaderDenormFlushToZeroFloat64 = true,
.shaderRoundingModeRTEFloat16 = true,
.shaderRoundingModeRTEFloat32 = true,
.shaderRoundingModeRTEFloat64 = true,
.shaderRoundingModeRTZFloat16 = true,
.shaderRoundingModeRTZFloat32 = true,
.shaderRoundingModeRTZFloat64 = true,
.maxUpdateAfterBindDescriptorsInAllPools = UINT32_MAX,
.shaderUniformBufferArrayNonUniformIndexingNative = false,
.shaderSampledImageArrayNonUniformIndexingNative = info->cls_eng3d >= TURING_A,

View file

@ -140,6 +140,7 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdev,
.descriptor_indexing = true,
.device_group = true,
.draw_parameters = true,
.float_controls = true,
.fragment_barycentric = true,
.geometry_streams = true,
.image_atomic_int64 = true,