From 152d61289ad2fcd6d5f15f33019af1a1fd5bd329 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tur=C3=A1nszki=20J=C3=A1nos?= Date: Tue, 4 Nov 2025 09:38:22 +0100 Subject: [PATCH] disable provoking ib from wireframe render mode --- WickedEngine/wiRenderer.cpp | 14 ++++++++------ WickedEngine/wiVersion.cpp | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/WickedEngine/wiRenderer.cpp b/WickedEngine/wiRenderer.cpp index d61ab504d..f9372eb87 100644 --- a/WickedEngine/wiRenderer.cpp +++ b/WickedEngine/wiRenderer.cpp @@ -3184,6 +3184,7 @@ void RenderMeshes( const float tessF = mesh.GetTessellationFactor(); const bool tessellatorRequested = tessF > 0 && tessellation; const bool meshShaderRequested = !tessellatorRequested && mesh_shader && mesh.vb_clu.IsValid(); + const bool wireframe = IsWireRender(); // Notes on provoking index buffer: // Normally it's used for primitiveID generation, so it would be only used in PREPASS @@ -3191,11 +3192,12 @@ void RenderMeshes( // RENDERPASS_MAIN requires it to fix depth mismatch only on Intel GPU between prepass and color passes // tessellation requires it to match same primitive order between prepass and color pass to have exact same tessellation const bool provokingIBRequired = - renderPass == RENDERPASS_PREPASS || - renderPass == RENDERPASS_PREPASS_DEPTHONLY || - renderPass == RENDERPASS_MAIN || - tessellatorRequested - ; + !wireframe && ( + renderPass == RENDERPASS_PREPASS || + renderPass == RENDERPASS_PREPASS_DEPTHONLY || + renderPass == RENDERPASS_MAIN || + tessellatorRequested + ); if (forwardLightmaskRequest) { @@ -3249,7 +3251,7 @@ void RenderMeshes( const PipelineState* pso = nullptr; const PipelineState* pso_backside = nullptr; // only when separate backside rendering is required (transparent doublesided) { - if (IsWireRender() && renderPass != RENDERPASS_ENVMAPCAPTURE) + if (wireframe && renderPass != RENDERPASS_ENVMAPCAPTURE) { switch (renderPass) { diff --git a/WickedEngine/wiVersion.cpp b/WickedEngine/wiVersion.cpp index 062646a24..a26de10da 100644 --- a/WickedEngine/wiVersion.cpp +++ b/WickedEngine/wiVersion.cpp @@ -9,7 +9,7 @@ namespace wi::version // minor features, major updates, breaking compatibility changes const int minor = 71; // minor bug fixes, alterations, refactors, updates - const int revision = 851; + const int revision = 852; const std::string version_string = std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(revision);