From ea8a396b9140ca8a076d1dbd1e80a648006d4660 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Sun, 16 Feb 2025 13:01:11 -0800 Subject: [PATCH] venus: support VK_KHR_shader_float_controls2 Signed-off-by: Yiwei Zhang Part-of: --- docs/features.txt | 2 +- src/virtio/vulkan/vn_physical_device.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index af10ebe67d1..5e673506a05 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -521,7 +521,7 @@ Vulkan 1.4 -- all DONE: anv, lvp, nvk, radv/gfx8+, tu/a7xx+ VK_KHR_map_memory2 DONE (anv, lvp, nvk, panvk, radv, tu) VK_KHR_push_descriptor DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, vn) VK_KHR_shader_expect_assume DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) - VK_KHR_shader_float_controls2 DONE (anv, lvp, nvk, radv, tu) + VK_KHR_shader_float_controls2 DONE (anv, lvp, nvk, radv, tu, vn) VK_KHR_shader_subgroup_rotate DONE (anv, lvp, nvk, radv, tu, vn) VK_KHR_vertex_attribute_divisor DONE (anv, lvp, nvk, panvk, radv, tu, v3dv, vn) VK_EXT_host_image_copy DONE (anv, lvp, nvk/Turing+, tu) diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index 111f0b46de5..619ded53a19 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -165,6 +165,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) VkPhysicalDeviceLineRasterizationFeatures line_rasterization; VkPhysicalDeviceMaintenance5Features maintenance5; VkPhysicalDeviceShaderExpectAssumeFeatures shader_expect_assume; + VkPhysicalDeviceShaderFloatControls2Features shader_float_controls_2; VkPhysicalDeviceShaderSubgroupRotateFeatures shader_subgroup_rotate; VkPhysicalDeviceVertexAttributeDivisorFeatures vertex_attribute_divisor; @@ -275,6 +276,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) VN_ADD_PNEXT_EXT(feats2, LINE_RASTERIZATION_FEATURES, local_feats.line_rasterization, exts->KHR_line_rasterization || exts->EXT_line_rasterization); VN_ADD_PNEXT_EXT(feats2, MAINTENANCE_5_FEATURES, local_feats.maintenance5, exts->KHR_maintenance5); VN_ADD_PNEXT_EXT(feats2, SHADER_EXPECT_ASSUME_FEATURES, local_feats.shader_expect_assume, exts->KHR_shader_expect_assume); + VN_ADD_PNEXT_EXT(feats2, SHADER_FLOAT_CONTROLS_2_FEATURES, local_feats.shader_float_controls_2, exts->KHR_shader_float_controls2); VN_ADD_PNEXT_EXT(feats2, SHADER_SUBGROUP_ROTATE_FEATURES, local_feats.shader_subgroup_rotate, exts->KHR_shader_subgroup_rotate); VN_ADD_PNEXT_EXT(feats2, VERTEX_ATTRIBUTE_DIVISOR_FEATURES, local_feats.vertex_attribute_divisor, exts->KHR_vertex_attribute_divisor || exts->EXT_vertex_attribute_divisor); @@ -1096,6 +1098,7 @@ vn_physical_device_get_passthrough_extensions( .KHR_maintenance5 = true, .KHR_push_descriptor = true, .KHR_shader_expect_assume = true, + .KHR_shader_float_controls2 = true, .KHR_shader_subgroup_rotate = true, .KHR_vertex_attribute_divisor = true,