diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-30 05:11:47 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-11-01 11:29:31 -0500 |
| commit | 6d9821d50bec33bb660cd8b4b3ed14e4ee0e2bf7 (patch) | |
| tree | a7d61cd2fcff1cfd9b3a263ab2eabd510cc841f1 | |
| parent | 02504aeb37cb3ee07dc421acc0570ad5ba25d53f (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.cpp | 6 |
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}; |
