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: {

Reply via email to