radv: Don't expose NV_mesh_shader and don't use it in CI.
authorTimur Kristóf <timur.kristof@gmail.com>
Mon, 27 Mar 2023 13:38:47 +0000 (15:38 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 29 Mar 2023 15:08:55 +0000 (15:08 +0000)
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>

docs/envvars.rst
src/amd/ci/gitlab-ci.yml
src/amd/vulkan/radv_debug.h
src/amd/vulkan/radv_instance.c
src/amd/vulkan/radv_physical_device.c
src/amd/vulkan/radv_shader.c

index 105da9f..47ff864 100644 (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``
index 393ceef..15d89ad 100644 (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.
index 74a373b..7d336d6 100644 (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);
index 032e031..78f145c 100644 (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},
index 447b8e1..86df9f8 100644 (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;
index 689e23d..58e6d1f 100644 (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,