From 918f81ff052b373951aa3558df1cb98f8066a9f5 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Fri, 28 Nov 2025 16:56:02 -0800 Subject: [PATCH] venus: support VK_EXT_shader_float8 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 bcd8b267b4a..4857b8087cc 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -665,7 +665,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_sample_locations DONE (anv, hasvk, hk, nvk, radv, tu/a650+, vn, lavapipe) VK_EXT_shader_atomic_float DONE (anv, hasvk, lvp, radv, tu, vn) VK_EXT_shader_atomic_float2 DONE (anv, lvp, radv, vn) - VK_EXT_shader_float8 DONE (radv/gfx12+) + VK_EXT_shader_float8 DONE (radv/gfx12+, vn) VK_EXT_shader_image_atomic_int64 DONE (anv, lvp, nvk, radv, vn) VK_EXT_shader_object DONE (anv, lvp, hk, nvk, radv) VK_EXT_shader_replicated_composites DONE (anv, dzn, hasvk, kk, lvp, nvk, panvk, pvr, radv, tu, vn) diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index b91130109d9..0c996b33414 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -249,6 +249,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) rasterization_order_attachment_access; VkPhysicalDeviceShaderAtomicFloatFeaturesEXT shader_atomic_float; VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT shader_atomic_float_2; + VkPhysicalDeviceShaderFloat8FeaturesEXT shader_float8; VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT shader_image_atomic_int64; VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT @@ -399,6 +400,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) VN_ADD_PNEXT_EXT(feats2, RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, local_feats.rasterization_order_attachment_access, exts->EXT_rasterization_order_attachment_access || exts->ARM_rasterization_order_attachment_access); VN_ADD_PNEXT_EXT(feats2, SHADER_ATOMIC_FLOAT_FEATURES_EXT, local_feats.shader_atomic_float, exts->EXT_shader_atomic_float); VN_ADD_PNEXT_EXT(feats2, SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, local_feats.shader_atomic_float_2, exts->EXT_shader_atomic_float2); + VN_ADD_PNEXT_EXT(feats2, SHADER_FLOAT8_FEATURES_EXT, local_feats.shader_float8, exts->EXT_shader_float8); VN_ADD_PNEXT_EXT(feats2, SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, local_feats.shader_image_atomic_int64, exts->EXT_shader_image_atomic_int64); VN_ADD_PNEXT_EXT(feats2, SHADER_REPLICATED_COMPOSITES_FEATURES_EXT, local_feats.shader_replicated_composites, exts->EXT_shader_replicated_composites); VN_ADD_PNEXT_EXT(feats2, TRANSFORM_FEEDBACK_FEATURES_EXT, local_feats.transform_feedback, exts->EXT_transform_feedback); @@ -1393,6 +1395,7 @@ vn_physical_device_get_passthrough_extensions( .EXT_sample_locations = true, .EXT_shader_atomic_float = true, .EXT_shader_atomic_float2 = true, + .EXT_shader_float8 = true, .EXT_shader_image_atomic_int64 = true, .EXT_shader_replicated_composites = true, .EXT_shader_stencil_export = true,