Module: Mesa Branch: main Commit: c2ff7c3eb2f3139b09b1e4a2fea93d6fd2cf4cdd URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2ff7c3eb2f3139b09b1e4a2fea93d6fd2cf4cdd
Author: Samuel Pitoiset <[email protected]> Date: Thu Oct 27 17:11:08 2022 +0200 radv: enable VK_EXT_transform_feedback with NGG streamout on GFX11 Untested but it mostly work on GFX10.3. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19435> --- src/amd/vulkan/radv_device.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index e40205dcdb2..7d044b88f9d 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -611,7 +611,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .EXT_shader_viewport_index_layer = true, .EXT_subgroup_size_control = true, .EXT_texel_buffer_alignment = true, - .EXT_transform_feedback = device->rad_info.gfx_level < GFX11, + .EXT_transform_feedback = true, .EXT_vertex_attribute_divisor = true, .EXT_vertex_input_dynamic_state = !device->use_llvm && !radv_NV_device_generated_commands_enabled(device), @@ -872,7 +872,8 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm !(device->instance->debug_flags & RADV_DEBUG_NO_NGGC); device->use_ngg_streamout = device->use_ngg && - (device->instance->perftest_flags & RADV_PERFTEST_NGG_STREAMOUT); + (device->rad_info.gfx_level >= GFX11 || + (device->instance->perftest_flags & RADV_PERFTEST_NGG_STREAMOUT)); /* Determine the number of threads per wave for all stages. */ device->cs_wave_size = 64; @@ -1477,8 +1478,8 @@ radv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: { VkPhysicalDeviceTransformFeedbackFeaturesEXT *features = (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)ext; - features->transformFeedback = pdevice->rad_info.gfx_level < GFX11; - features->geometryStreams = pdevice->rad_info.gfx_level < GFX11; + features->transformFeedback = true; + features->geometryStreams = true; break; } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
