From 48937f931a85578fd7511c394d9715fa62f95399 Mon Sep 17 00:00:00 2001 From: Alastair Cota Date: Sun, 8 Aug 2021 17:00:26 +0100 Subject: [PATCH 1/2] Update CMakeLists.txt Checked REGEX REPLACE for consistency failure --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d290622..c318eef9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,7 +198,7 @@ elseif(MSVC) if(ENABLE_EXCEPTIONS) add_compile_options(/EHsc) # Enable Exceptions else() - string(REGEX REPLACE /EHsc "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Try to remove default /EHsc cxx_flag + string(REGEX REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # Try to remove default /EHsc cxx_flag add_compile_options(/D_HAS_EXCEPTIONS=0) endif() endif() From 9f18258e41f119b3b7df80f5313c1e1fa248546f Mon Sep 17 00:00:00 2001 From: Greg Fischer Date: Mon, 9 Aug 2021 17:52:40 -0600 Subject: [PATCH 2/2] Fix seperate stores to swizzled lvalue. Seen with += and ++ ops on swizzled lvalues. Was using stale access chain. Fixes 2725. --- SPIRV/SpvBuilder.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 6751dec2..e83306eb 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -2812,6 +2812,7 @@ void Builder::accessChainStore(Id rvalue, Decoration nonUniform, spv::MemoryAcce accessChain.component == NoResult) { for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) { accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle[i])); + accessChain.instr = NoResult; Id base = collapseAccessChain(); addDecoration(base, nonUniform);