aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-30 05:11:47 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-11-01 11:29:31 -0500
commit6d9821d50bec33bb660cd8b4b3ed14e4ee0e2bf7 (patch)
treea7d61cd2fcff1cfd9b3a263ab2eabd510cc841f1
parent02504aeb37cb3ee07dc421acc0570ad5ba25d53f (diff)
video_core: EDEN_NX2_NO_MESH skips task/mesh draws
For A/B comparisons with the draws as they were before task and mesh programs were supported.
-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};