summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2022-06-29 21:38:10 -0400
committerGitHub <noreply@github.com>2022-06-29 21:38:10 -0400
commita12b9ba6d5b20feb2b8bb45a8a7a186ab000c2ca (patch)
treec94ab25817ee3525f907c5b317ca8b4a489eed88 /Source/Core
parent5d04e1e1de8248da8366f6f99ff4cdbe5467c789 (diff)
parent4788a05c76358b90782aa0d922f497ce9490184b (diff)
Merge pull request #10796 from iwubcode/graphics_mod_overeager_projection_change
VideoCommon: fix projection graphics mod affecting more than intended
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/VideoCommon/VertexShaderManager.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp
index 680d1ad3ee..555819e072 100644
--- a/Source/Core/VideoCommon/VertexShaderManager.cpp
+++ b/Source/Core/VideoCommon/VertexShaderManager.cpp
@@ -38,6 +38,7 @@ static bool bProjectionChanged;
static bool bViewportChanged;
static bool bTexMtxInfoChanged;
static bool bLightingConfigChanged;
+static bool bProjectionGraphicsModChange;
static BitSet32 nMaterialsChanged;
static std::array<int, 2> nTransformMatricesChanged; // min,max
static std::array<int, 2> nNormalMatricesChanged; // min,max
@@ -63,6 +64,7 @@ void VertexShaderManager::Init()
bViewportChanged = false;
bTexMtxInfoChanged = false;
bLightingConfigChanged = false;
+ bProjectionGraphicsModChange = false;
std::memset(static_cast<void*>(&xfmem), 0, sizeof(xfmem));
constants = {};
@@ -322,9 +324,10 @@ void VertexShaderManager::SetConstants(const std::vector<std::string>& textures)
}
if (bProjectionChanged || g_freelook_camera.GetController()->IsDirty() ||
- !projection_actions.empty())
+ !projection_actions.empty() || bProjectionGraphicsModChange)
{
bProjectionChanged = false;
+ bProjectionGraphicsModChange = !projection_actions.empty();
const auto& rawProjection = xfmem.projection.rawProjection;