radv: Don't expose NV_mesh_shader and don't use it in CI.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22139>
This commit is contained in:
Timur Kristóf 2023-03-27 15:38:47 +02:00 committed by Marge Bot
parent 937924f2a5
commit faf8375fc3
6 changed files with 6 additions and 50 deletions

View file

@ -1176,8 +1176,6 @@ RADV driver environment variables
enable local BOs
``nosam``
disable optimizations that get enabled when all VRAM is CPU visible.
``nv_ms``
enable unofficial experimental support for :ext:`VK_NV_mesh_shader`.
``pswave32``
enable wave32 for pixel shaders (GFX10+)
``ngg_streamout``

View file

@ -280,7 +280,7 @@ radeonsi-raven-va:amd64:
- .deqp-test-valve
variables:
DEQP_VER: vk
RADV_PERFTEST: nv_ms,gpl
RADV_PERFTEST: gpl
# VKCTS never finishes on gfx7 due to all the GPU resets and hangs.
# Hence, disable it for now.

View file

@ -83,12 +83,11 @@ enum {
RADV_PERFTEST_RT = 1u << 8,
RADV_PERFTEST_NGGC = 1u << 9,
RADV_PERFTEST_EMULATE_RT = 1u << 10,
RADV_PERFTEST_NV_MS = 1u << 11,
RADV_PERFTEST_RT_WAVE_64 = 1u << 12,
RADV_PERFTEST_GPL = 1u << 13,
RADV_PERFTEST_NGG_STREAMOUT = 1u << 14,
RADV_PERFTEST_VIDEO_DECODE = 1u << 15,
RADV_PERFTEST_DMA_SHADERS = 1u << 16,
RADV_PERFTEST_RT_WAVE_64 = 1u << 11,
RADV_PERFTEST_GPL = 1u << 12,
RADV_PERFTEST_NGG_STREAMOUT = 1u << 13,
RADV_PERFTEST_VIDEO_DECODE = 1u << 14,
RADV_PERFTEST_DMA_SHADERS = 1u << 15,
};
bool radv_init_trace(struct radv_device *device);

View file

@ -96,7 +96,6 @@ static const struct debug_control radv_perftest_options[] = {
{"rt", RADV_PERFTEST_RT},
{"nggc", RADV_PERFTEST_NGGC},
{"emulate_rt", RADV_PERFTEST_EMULATE_RT},
{"nv_ms", RADV_PERFTEST_NV_MS},
{"rtwave64", RADV_PERFTEST_RT_WAVE_64},
{"gpl", RADV_PERFTEST_GPL},
{"ngg_streamout", RADV_PERFTEST_NGG_STREAMOUT},

View file

@ -608,8 +608,6 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
.INTEL_shader_integer_functions2 = true,
.NV_compute_shader_derivatives = true,
.NV_device_generated_commands = radv_NV_device_generated_commands_enabled(device),
.NV_mesh_shader =
radv_taskmesh_enabled(device) && device->instance->perftest_flags & RADV_PERFTEST_NV_MS,
/* Undocumented extension purely for vkd3d-proton. This check is to prevent anyone else from
* using it.
*/
@ -1148,12 +1146,6 @@ radv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
features->dynamicRendering = true;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
VkPhysicalDeviceMeshShaderFeaturesNV *features =
(VkPhysicalDeviceMeshShaderFeaturesNV *)ext;
features->taskShader = features->meshShader = radv_taskmesh_enabled(pdevice);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: {
VkPhysicalDeviceMeshShaderFeaturesEXT *features =
(VkPhysicalDeviceMeshShaderFeaturesEXT *)ext;
@ -2000,37 +1992,6 @@ radv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
properties->maxBufferSize = RADV_MAX_MEMORY_ALLOCATION_SIZE;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
VkPhysicalDeviceMeshShaderPropertiesNV *properties =
(VkPhysicalDeviceMeshShaderPropertiesNV *)ext;
/* Task shader limitations:
* Same as compute, because TS are compiled to CS.
*/
properties->maxDrawMeshTasksCount = 65535;
properties->maxTaskTotalMemorySize = 65536;
properties->maxTaskWorkGroupInvocations = 1024;
properties->maxTaskWorkGroupSize[0] = 1024;
properties->maxTaskWorkGroupSize[1] = 1024;
properties->maxTaskWorkGroupSize[2] = 1024;
properties->maxTaskOutputCount = 65535;
/* Mesh shader limitations:
* Same as NGG, because MS are compiled to NGG.
*/
properties->maxMeshMultiviewViewCount = MAX_VIEWS;
properties->maxMeshOutputPrimitives = 256;
properties->maxMeshOutputVertices = 256;
properties->maxMeshTotalMemorySize = 31 * 1024; /* Reserve 1K for prim indices, etc. */
properties->maxMeshWorkGroupInvocations = 256;
properties->maxMeshWorkGroupSize[0] = 256;
properties->maxMeshWorkGroupSize[1] = 256;
properties->maxMeshWorkGroupSize[2] = 256;
properties->meshOutputPerPrimitiveGranularity = 1;
properties->meshOutputPerVertexGranularity = 1;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: {
VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT *properties =
(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT *)ext;

View file

@ -729,7 +729,6 @@ radv_shader_spirv_to_nir(struct radv_device *device, const struct radv_pipeline_
.int64_atomics = true,
.integer_functions2 = true,
.mesh_shading = true,
.mesh_shading_nv = true,
.min_lod = true,
.multiview = true,
.physical_storage_buffer_address = true,