diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2020-06-17 15:06:40 -0500 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2020-07-02 12:55:08 -0500 |
| commit | 0441d6aa5eb2d1ac45f1f1973fa5ad3adaf71f08 (patch) | |
| tree | c7b5eb557c30e8f809485070d501a66d4f5d3007 /Source/Core | |
| parent | d6341c4117d59565b3bc42264d6fa5ba7e796526 (diff) | |
VertexShaderManager: Avoid accessing freelook control type configuration each call which caused a performance hit, move check to RenderBase where it is checked when config changes
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/VertexShaderManager.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/VideoConfig.cpp | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index f3aa366af7..b2e7015ca6 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -63,6 +63,7 @@ #include "VideoCommon/FrameDump.h" #include "VideoCommon/FramebufferManager.h" #include "VideoCommon/FramebufferShaderGen.h" +#include "VideoCommon/FreeLookCamera.h" #include "VideoCommon/ImageWrite.h" #include "VideoCommon/NetPlayChatUI.h" #include "VideoCommon/NetPlayGolfUI.h" @@ -406,6 +407,11 @@ void Renderer::CheckForConfigChanges() UpdateActiveConfig(); + if (g_ActiveConfig.bFreeLook) + { + g_freelook_camera.SetControlType(g_ActiveConfig.iFreelookControlType); + } + // Update texture cache settings with any changed options. g_texture_cache->OnConfigChanged(g_ActiveConfig); diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp index 6c65a86efa..d9c44d767c 100644 --- a/Source/Core/VideoCommon/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/VertexShaderManager.cpp @@ -449,9 +449,6 @@ void VertexShaderManager::SetConstants() dirty = true; } - - // Handle a potential config change - g_freelook_camera.SetControlType(Config::Get(Config::GFX_FREE_LOOK_CONTROL_TYPE)); } void VertexShaderManager::InvalidateXFRange(int start, int end) diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index b624755b11..1514f22db8 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -91,6 +91,7 @@ void VideoConfig::Refresh() bDumpXFBTarget = Config::Get(Config::GFX_DUMP_XFB_TARGET); bDumpFramesAsImages = Config::Get(Config::GFX_DUMP_FRAMES_AS_IMAGES); bFreeLook = Config::Get(Config::GFX_FREE_LOOK); + iFreelookControlType = Config::Get(Config::GFX_FREE_LOOK_CONTROL_TYPE); bUseFFV1 = Config::Get(Config::GFX_USE_FFV1); sDumpFormat = Config::Get(Config::GFX_DUMP_FORMAT); sDumpCodec = Config::Get(Config::GFX_DUMP_CODEC); |
