diff options
| author | NeoBrainX <NeoBrainX@googlemail.com> | 2010-08-08 16:28:03 +0000 |
|---|---|---|
| committer | NeoBrainX <NeoBrainX@googlemail.com> | 2010-08-08 16:28:03 +0000 |
| commit | ecec048f0f8b0522fc762be85cd5ffccf7a2cb17 (patch) | |
| tree | 89739997355113ecb3f972ee9ac5cc4b2420aa53 /Source/Plugins/Plugin_VideoOGL | |
| parent | 4ae77b2d7098ef598e526727855e611a9a7a31b0 (diff) | |
DX9/OGL: Remove some superfluous checks (this is already done in VideoCommon).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6073 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL')
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp | 30 | ||||
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp | 48 |
2 files changed, 16 insertions, 62 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp index 8bdab0f9a7..5387436d3a 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp @@ -42,41 +42,23 @@ GLuint PixelShaderCache::CurrentShader; bool PixelShaderCache::ShaderEnabled; static FRAGMENTSHADER* pShaderLast = NULL; -static float lastPSconstants[C_PENVCONST_END][4]; void SetPSConstant4f(unsigned int const_number, float f1, float f2, float f3, float f4) { - if (lastPSconstants[const_number][0] != f1 || lastPSconstants[const_number][1] != f2 || - lastPSconstants[const_number][2] != f3 || lastPSconstants[const_number][3] != f4) - { - lastPSconstants[const_number][0] = f1; - lastPSconstants[const_number][1] = f2; - lastPSconstants[const_number][2] = f3; - lastPSconstants[const_number][3] = f4; - glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, const_number, lastPSconstants[const_number]); - - } + float f[4] = { f1, f2, f3, f4 }; + glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, const_number, f); } void SetPSConstant4fv(unsigned int const_number, const float *f) { - if (memcmp(&lastPSconstants[const_number], f, sizeof(float) * 4)) { - memcpy(&lastPSconstants[const_number], f, sizeof(float) * 4); - glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, const_number, f); - } + glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, const_number, f); } void SetMultiPSConstant4fv(unsigned int const_number, unsigned int count, const float *f) { - const float *f0 = f; - for (unsigned int i = 0; i < count ;i++,f0+=4) - { - if (memcmp(&lastPSconstants[const_number + i], f0, sizeof(float) * 4)) { - memcpy(&lastPSconstants[const_number + i], f0, sizeof(float) * 4); - glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, const_number + i, lastPSconstants[const_number + i]); - } - } + for (unsigned int i = 0; i < count; i++,f+=4) + glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, const_number + i, f); } void PixelShaderCache::Init() @@ -86,8 +68,6 @@ void PixelShaderCache::Init() CurrentShader = 0; GL_REPORT_ERRORD(); - for (unsigned int i = 0; i < (C_PENVCONST_END) * 4; i++) - lastPSconstants[i/4][i%4] = -100000000.0f; memset(&last_pixel_shader_uid, 0xFF, sizeof(last_pixel_shader_uid)); s_displayCompileAlert = true; diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp index 27190a894e..d7cb7fb669 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp @@ -41,58 +41,34 @@ bool VertexShaderCache::ShaderEnabled; static VERTEXSHADER *pShaderLast = NULL; static int s_nMaxVertexInstructions; -static float GC_ALIGNED16(lastVSconstants[C_VENVCONST_END][4]); void SetVSConstant4f(unsigned int const_number, float f1, float f2, float f3, float f4) { - if ( lastVSconstants[const_number][0] != f1 || - lastVSconstants[const_number][1] != f2 || - lastVSconstants[const_number][2] != f3 || - lastVSconstants[const_number][3] != f4) - { - lastVSconstants[const_number][0] = f1; - lastVSconstants[const_number][1] = f2; - lastVSconstants[const_number][2] = f3; - lastVSconstants[const_number][3] = f4; - glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number, lastVSconstants[const_number]); - } + float f[4] = { f1, f2, f3, f4 }; + glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number, f); } void SetVSConstant4fv(unsigned int const_number, const float *f) { - if (memcmp(&lastVSconstants[const_number], f, sizeof(float) * 4)) { - memcpy(&lastVSconstants[const_number], f, sizeof(float) * 4); - glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number, lastVSconstants[const_number]); - } + glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number, f); } void SetMultiVSConstant4fv(unsigned int const_number, unsigned int count, const float *f) { - const float *f0 = f; - for (unsigned int i = 0; i < count; i++,f0+=4) - { - if (memcmp(&lastVSconstants[const_number + i], f0, sizeof(float) * 4)) { - memcpy(&lastVSconstants[const_number + i], f0, sizeof(float) * 4); - glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number + i, lastVSconstants[const_number + i]); - } - } + for (unsigned int i = 0; i < count; i++,f+=4) + glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number + i, f); } void SetMultiVSConstant3fv(unsigned int const_number, unsigned int count, const float *f) { for (unsigned int i = 0; i < count; i++) { - if (lastVSconstants[const_number + i][0] != f[0 + i*3] || - lastVSconstants[const_number + i][1] != f[1 + i*3] || - lastVSconstants[const_number + i][2] != f[2 + i*3] || - lastVSconstants[const_number + i][3] != 0.0f) - { - lastVSconstants[const_number + i][0] = f[0 + i*3]; - lastVSconstants[const_number + i][1] = f[1 + i*3]; - lastVSconstants[const_number + i][2] = f[2 + i*3]; - lastVSconstants[const_number + i][3] = 0.0f; - glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number + i, lastVSconstants[const_number + i]); - } + float buf[4]; + buf[0] = *f++; + buf[1] = *f++; + buf[2] = *f++; + buf[3] = 0.f; + glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, const_number + i, buf); } } @@ -102,8 +78,6 @@ void VertexShaderCache::Init() glEnable(GL_VERTEX_PROGRAM_ARB); ShaderEnabled = true; CurrentShader = 0; - for (int i = 0; i < (C_VENVCONST_END * 4); i++) - lastVSconstants[i / 4][i % 4] = -100000000.0f; memset(&last_vertex_shader_uid, 0xFF, sizeof(last_vertex_shader_uid)); s_displayCompileAlert = true; |
