diff options
| author | Jules Blok <jules.blok@gmail.com> | 2014-12-26 17:58:59 +0100 |
|---|---|---|
| committer | Jules Blok <jules.blok@gmail.com> | 2014-12-26 17:58:59 +0100 |
| commit | 86120bfc971d28baa74a29080a68f86818c15923 (patch) | |
| tree | 3edbcde16872b1722f614b99ec44475e1dd13202 /Source/Core/VideoCommon/GeometryShaderManager.cpp | |
| parent | 339383b8dd44dc6f196fbb16d55b72a4882d2a7f (diff) | |
GeometryShaderManager: Set viewport in SetConstants().
Setting it in the callback is too early.
Diffstat (limited to 'Source/Core/VideoCommon/GeometryShaderManager.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/GeometryShaderManager.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/GeometryShaderManager.cpp b/Source/Core/VideoCommon/GeometryShaderManager.cpp index 957a1a65ca..9eb70954a3 100644 --- a/Source/Core/VideoCommon/GeometryShaderManager.cpp +++ b/Source/Core/VideoCommon/GeometryShaderManager.cpp @@ -20,6 +20,7 @@ GeometryShaderConstants GeometryShaderManager::constants; bool GeometryShaderManager::dirty; static bool s_projection_changed; +static bool s_viewport_changed; void GeometryShaderManager::Init() { @@ -64,13 +65,21 @@ void GeometryShaderManager::SetConstants() dirty = true; } + + if (s_viewport_changed) + { + s_viewport_changed = false; + + constants.lineptparams[0] = 2.0f * xfmem.viewport.wd; + constants.lineptparams[1] = -2.0f * xfmem.viewport.ht; + + dirty = true; + } } void GeometryShaderManager::SetViewportChanged() { - constants.lineptparams[0] = 2.0f * xfmem.viewport.wd; - constants.lineptparams[1] = -2.0f * xfmem.viewport.ht; - dirty = true; + s_viewport_changed = true; } void GeometryShaderManager::SetProjectionChanged() |
