GeometryShaderManager: Set viewport in SetConstants().
Setting it in the callback is too early.
This commit is contained in:
parent
339383b8dd
commit
86120bfc97
|
@ -20,6 +20,7 @@ GeometryShaderConstants GeometryShaderManager::constants;
|
||||||
bool GeometryShaderManager::dirty;
|
bool GeometryShaderManager::dirty;
|
||||||
|
|
||||||
static bool s_projection_changed;
|
static bool s_projection_changed;
|
||||||
|
static bool s_viewport_changed;
|
||||||
|
|
||||||
void GeometryShaderManager::Init()
|
void GeometryShaderManager::Init()
|
||||||
{
|
{
|
||||||
|
@ -64,13 +65,21 @@ void GeometryShaderManager::SetConstants()
|
||||||
|
|
||||||
dirty = true;
|
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()
|
void GeometryShaderManager::SetViewportChanged()
|
||||||
{
|
{
|
||||||
constants.lineptparams[0] = 2.0f * xfmem.viewport.wd;
|
s_viewport_changed = true;
|
||||||
constants.lineptparams[1] = -2.0f * xfmem.viewport.ht;
|
|
||||||
dirty = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeometryShaderManager::SetProjectionChanged()
|
void GeometryShaderManager::SetProjectionChanged()
|
||||||
|
|
Loading…
Reference in New Issue