From 71b6ed09e576573c38e875c80a359f787f8a350a Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Mon, 30 Dec 2024 11:54:09 +0000 Subject: [PATCH] Improve DXIL ControlFlow detection of loop blocks Now handles finding all loop blocks in a loop where a block (2) in the loop is only in a single path: 0 -> 1 -> 3 - 1 0 -> 1 -> 2 -> 3 3 -> 4 -> END --- renderdoc/driver/shaders/dxil/dxil_controlflow.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_controlflow.cpp b/renderdoc/driver/shaders/dxil/dxil_controlflow.cpp index fb75703ef3..01556e77d3 100644 --- a/renderdoc/driver/shaders/dxil/dxil_controlflow.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_controlflow.cpp @@ -130,8 +130,6 @@ int32_t ControlFlow::BlockInAnyPath(uint32_t block, uint32_t pathIdx, int32_t st if(endNode == PATH_END) return -1; - m_CheckedPaths[pathIdx] = true; - // Check any paths linked to by the end node of the current path const rdcarray &childPathsToCheck = m_BlockPathLinks.at(endNode); for(uint32_t childPathIdx : childPathsToCheck)