forked from mirrors/0ad
Fixes uninitialized GPUSkinning in Atlas
Currently CRenderingOptions are initialized only once on the application start. It means changed m_GPUSkinning wasn't reset on the switch to Atlas. Fixes #8596
This commit is contained in:
@@ -243,7 +243,6 @@ void CRenderingOptions::ReadConfigAndSetupHooks()
|
|||||||
m_ConfigHooks->Setup("silhouettes", m_Silhouettes);
|
m_ConfigHooks->Setup("silhouettes", m_Silhouettes);
|
||||||
|
|
||||||
m_ConfigHooks->Setup("gpuskinning", [this]() {
|
m_ConfigHooks->Setup("gpuskinning", [this]() {
|
||||||
;
|
|
||||||
const Renderer::Backend::IDevice::Capabilities& capabilities{
|
const Renderer::Backend::IDevice::Capabilities& capabilities{
|
||||||
g_VideoMode.GetBackendDevice()->GetCapabilities()};
|
g_VideoMode.GetBackendDevice()->GetCapabilities()};
|
||||||
if (!g_ConfigDB.Get("gpuskinning", false))
|
if (!g_ConfigDB.Get("gpuskinning", false))
|
||||||
@@ -252,7 +251,10 @@ void CRenderingOptions::ReadConfigAndSetupHooks()
|
|||||||
if (capabilities.computeShaders && capabilities.storage)
|
if (capabilities.computeShaders && capabilities.storage)
|
||||||
m_GPUSkinning = true;
|
m_GPUSkinning = true;
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
m_GPUSkinning = false;
|
||||||
LOGMESSAGE("GPU skinning isn't supported on the current hardware.");
|
LOGMESSAGE("GPU skinning isn't supported on the current hardware.");
|
||||||
|
}
|
||||||
|
|
||||||
if (CRenderer::IsInitialised())
|
if (CRenderer::IsInitialised())
|
||||||
g_Renderer.MakeShadersDirty();
|
g_Renderer.MakeShadersDirty();
|
||||||
|
|||||||
Reference in New Issue
Block a user