mirror of https://github.com/mgba-emu/mgba.git
GBA Video: Implement GL forced blank
This commit is contained in:
parent
9204c61ba2
commit
4225a2b4b0
|
@ -859,10 +859,10 @@ void GBAVideoGLRendererReset(struct GBAVideoRenderer* renderer) {
|
|||
glRenderer->vramDirty = 0xFFFFFF;
|
||||
glRenderer->firstAffine = -1;
|
||||
glRenderer->firstY = -1;
|
||||
glRenderer->dispcnt = 0;
|
||||
glRenderer->dispcnt = 0x0080;
|
||||
glRenderer->mosaic = 0;
|
||||
memset(glRenderer->shadowRegs, 0, sizeof(glRenderer->shadowRegs));
|
||||
glRenderer->regsDirty = 0xFFFFFFFFFFFFULL;
|
||||
glRenderer->regsDirty = 0xFFFFFFFFFFFEULL;
|
||||
}
|
||||
|
||||
void GBAVideoGLRendererWriteVRAM(struct GBAVideoRenderer* renderer, uint32_t address) {
|
||||
|
@ -1508,6 +1508,10 @@ void _finalizeLayers(struct GBAVideoGLRenderer* renderer) {
|
|||
glBindFramebuffer(GL_FRAMEBUFFER, renderer->fbo[GBA_GL_FBO_OUTPUT]);
|
||||
glViewport(0, 0, GBA_VIDEO_HORIZONTAL_PIXELS * renderer->scale, GBA_VIDEO_VERTICAL_PIXELS * renderer->scale);
|
||||
glScissor(0, 0, GBA_VIDEO_HORIZONTAL_PIXELS * renderer->scale, GBA_VIDEO_VERTICAL_PIXELS * renderer->scale);
|
||||
if (GBARegisterDISPCNTIsForcedBlank(renderer->dispcnt)) {
|
||||
glClearColor(1.f, 1.f, 1.f, 1.f);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
} else {
|
||||
glUseProgram(renderer->finalizeShader.program);
|
||||
glBindVertexArray(renderer->finalizeShader.vao);
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
|
@ -1547,6 +1551,7 @@ void _finalizeLayers(struct GBAVideoGLRenderer* renderer) {
|
|||
glUniform1i(uniforms[GBA_GL_FINALIZE_BACKDROP], 11);
|
||||
glUniform1i(uniforms[GBA_GL_FINALIZE_BACKDROPFLAGS], 12);
|
||||
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
||||
}
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue