Set Sampler values at program make time instead of every frame. Fix an issue when The user had UBO support but not Binding support.

This commit is contained in:
Ryan Houdek
2011-12-17 01:06:55 -06:00
committed by Sonicadvance1
parent ddd4360d6d
commit f8d0c28e53
6 changed files with 79 additions and 176 deletions

View File

@ -211,16 +211,6 @@ void VertexManager::vFlush()
if (g_nativeVertexFmt)
g_nativeVertexFmt->SetupVertexPointers();
GL_REPORT_ERRORD();
if(g_ActiveConfig.bUseGLSL)
for (int i = 0; i < 8; i++)
{
if (usedtextures & (1 << i))
{
char tmp[16];
sprintf(tmp, "samp%d", i); // Bake this in to something so we don't have to sprintf?
PixelShaderCache::SetPSSampler(tmp, i);
}
}
Draw();
@ -235,15 +225,6 @@ void VertexManager::vFlush()
PixelShaderManager::SetConstants(); // Need to set these again, if we don't support UBO
if (g_nativeVertexFmt)
g_nativeVertexFmt->SetupVertexPointers();
for (int i = 0; i < 8; i++)
{
if (usedtextures & (1 << i))
{
char tmp[16];
sprintf(tmp, "samp%d", i); // Bake this in to something so we don't have to sprintf?
PixelShaderCache::SetPSSampler(tmp, i);
}
}
}
else
if (ps) PixelShaderCache::SetCurrentShader(ps->glprogid);