citra-emu
/
citra
Archived
1
0
Fork 0

GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls

In OpenGL 3, texturing is always enabled, and this call is invalid.
While it produced no effect in the rest of the execution, it wouldn't
have the intended effect of disabling texturing for that unit. Instead
bind a null texture to the unit.
This commit is contained in:
Yuri Kunde Schlesner 2015-07-22 01:22:09 -03:00
parent d0b45d45b5
commit e5c4fe0098
1 changed files with 5 additions and 8 deletions

View File

@ -147,20 +147,17 @@ void OpenGLState::Apply() {
// Textures
for (unsigned texture_index = 0; texture_index < ARRAY_SIZE(texture_units); ++texture_index) {
if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d) {
if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d ||
texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) {
glActiveTexture(GL_TEXTURE0 + texture_index);
if (texture_units[texture_index].enabled_2d) {
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d);
} else {
glDisable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, 0);
}
}
if (texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) {
glActiveTexture(GL_TEXTURE0 + texture_index);
glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d);
}
}
// Framebuffer