summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2022-10-27 17:11:08 +0200
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>2022-11-01 11:28:45 +0100
commitc2ff7c3eb2f3139b09b1e4a2fea93d6fd2cf4cdd (patch)
tree8f910749fb8bd542e5f5f95b82fa29dd3688d286
parent75faaac8959656e8478bba2b85e0a80e475dc052 (diff)
radv: enable VK_EXT_transform_feedback with NGG streamout on GFX11
Untested but it mostly work on GFX10.3. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19435>
-rw-r--r--src/amd/vulkan/radv_device.c9
1 files 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: {