From faf8375fc3437e8a62485462a9af6b753764b774 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timur=20Krist=C3=B3f?= Date: Mon, 27 Mar 2023 15:38:47 +0200 Subject: [PATCH] radv: Don't expose NV_mesh_shader and don't use it in CI. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Timur Kristóf Reviewed-by: Samuel Pitoiset Part-of: --- docs/envvars.rst | 2 -- src/amd/ci/gitlab-ci.yml | 2 +- src/amd/vulkan/radv_debug.h | 11 +++++----- src/amd/vulkan/radv_instance.c | 1 - src/amd/vulkan/radv_physical_device.c | 39 ----------------------------------- src/amd/vulkan/radv_shader.c | 1 - 6 files changed, 6 insertions(+), 50 deletions(-) diff --git a/docs/envvars.rst b/docs/envvars.rst index 105da9f..47ff864 100644 --- a/docs/envvars.rst +++ b/docs/envvars.rst @@ -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`` diff --git a/src/amd/ci/gitlab-ci.yml b/src/amd/ci/gitlab-ci.yml index 393ceef..15d89ad 100644 --- a/src/amd/ci/gitlab-ci.yml +++ b/src/amd/ci/gitlab-ci.yml @@ -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. diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h index 74a373b..7d336d6 100644 --- a/src/amd/vulkan/radv_debug.h +++ b/src/amd/vulkan/radv_debug.h @@ -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); diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 032e031..78f145c 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -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}, diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index 447b8e1..86df9f8 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -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; diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 689e23d..58e6d1f 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -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, -- 2.7.4