GBA Video: Fix disabling OBJWIN in GL renderer (fixes #1759)

This commit is contained in:
Vicki Pfau 2020-05-24 13:54:12 -07:00
parent f78951b7dd
commit dd6ba856ed
2 changed files with 4 additions and 1 deletions

View File

@ -23,6 +23,7 @@ Emulation fixes:
- GBA Video: Latch scanline at end of Hblank (fixes mgba.io/i/1319) - GBA Video: Latch scanline at end of Hblank (fixes mgba.io/i/1319)
- GBA Video: Fix Hblank timing - GBA Video: Fix Hblank timing
- GBA Video: Fix mosaic objects drawing past the end (fixes mgba.io/i/1702) - GBA Video: Fix mosaic objects drawing past the end (fixes mgba.io/i/1702)
- GBA Video: Fix disabling OBJWIN in GL renderer (fixes mgba.io/i/1759)
Other fixes: Other fixes:
- CMake: Always use devkitPro toolchain when applicable (fixes mgba.io/i/1755) - CMake: Always use devkitPro toolchain when applicable (fixes mgba.io/i/1755)
- Core: Ensure ELF regions can be written before trying - Core: Ensure ELF regions can be written before trying

View File

@ -1704,7 +1704,9 @@ void GBAVideoGLRendererDrawSprite(struct GBAVideoGLRenderer* renderer, struct GB
glUniform4i(uniforms[GBA_GL_OBJ_MOSAIC], 0, 0, 0, 0); glUniform4i(uniforms[GBA_GL_OBJ_MOSAIC], 0, 0, 0, 0);
} }
glStencilFunc(GL_ALWAYS, 1, 1); glStencilFunc(GL_ALWAYS, 1, 1);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4); if (GBAObjAttributesAGetMode(sprite->a) != OBJ_MODE_OBJWIN || GBARegisterDISPCNTIsObjwinEnable(renderer->dispcnt)) {
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
}
shader = &renderer->objShader[2]; shader = &renderer->objShader[2];
uniforms = shader->uniforms; uniforms = shader->uniforms;