aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan/vk_rasterizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 0109117344..9a6feed622 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -281,8 +281,10 @@ void RasterizerVulkan::PrepareDraw(bool is_indexed, Func&& draw_func) {
}
// Task/mesh pipelines: the draw's vertex count is the number of task workgroups.
mesh_draw = pipeline->IsMeshPipeline();
- if (mesh_draw && !device.IsExtMeshShaderSupported()) {
- report_failure("no VK_EXT_mesh_shader");
+ // EDEN_NX2_NO_MESH=1: skip task/mesh draws as before they were supported (A/B comparisons).
+ static const bool no_mesh{std::getenv("EDEN_NX2_NO_MESH") != nullptr};
+ if (mesh_draw && (no_mesh || !device.IsExtMeshShaderSupported())) {
+ report_failure(no_mesh ? "EDEN_NX2_NO_MESH" : "no VK_EXT_mesh_shader");
return;
}
std::scoped_lock lock{buffer_cache.mutex, texture_cache.mutex};