diff --git a/source/arm11/hardware/gfx.c b/source/arm11/hardware/gfx.c index 236fed5..142d995 100644 --- a/source/arm11/hardware/gfx.c +++ b/source/arm11/hardware/gfx.c @@ -289,6 +289,11 @@ GFX_waitForEvent(GFX_EVENT_PSC1, true); GX_memoryFill((u64*)RENDERBUF_TOP, 1u<<9, SCREEN_SIZE_TOP, 0, (u64*)RENDERBUF_SUB, 1u<<9, SCREEN_SIZE_SUB, 0); GFX_waitForEvent(GFX_EVENT_PSC0, true); + + // The transfer engine is (sometimes) borked on screen init. + // Doing a dummy texture copy fixes it. + // TODO: Proper fix. + GX_textureCopy((u64*)RENDERBUF_TOP, 0, (u64*)RENDERBUF_SUB, 0, 16); } // We must make sure the I2C bus is not used until this finishes