For some cases it is useful to have a second framebuffer which only affects regions of the screen.
The Desmume Case is one example. However more cases are upcoming which more or less will require a second framebuffer. Especially due to Subsystem support, which was introduced in the latest main release, a second framebuffer could be helpful to display systems differently.
Cases are for example:
Nintendo DS - Desmume - Hybrid Mode (as the link already shows)
Nintendo 3DS - Citra - Hybrid Mode
Gameboy/Gameboy Advance - VBA-M/mGBA - Multiplayer
GameCube/Gameboy Advance Link - Dolphin/VBA-M/mGBA - Link Cable Connection
Dreamcast - Reicast - VMU Display
WiiU - CEMU (?) - Second Screen
Most likely there will be other use cases in which a second framebuffer is useful. Especially to render a "different" output at a certain region on the screen. or to display the output on two different screens.
In the Desmume Core repository, a limitation concerning the framebuffer was discussed. https://github.com/libretro/desmume/issues/30
For some cases it is useful to have a second framebuffer which only affects regions of the screen. The Desmume Case is one example. However more cases are upcoming which more or less will require a second framebuffer. Especially due to Subsystem support, which was introduced in the latest main release, a second framebuffer could be helpful to display systems differently. Cases are for example: Nintendo DS - Desmume - Hybrid Mode (as the link already shows) Nintendo 3DS - Citra - Hybrid Mode Gameboy/Gameboy Advance - VBA-M/mGBA - Multiplayer GameCube/Gameboy Advance Link - Dolphin/VBA-M/mGBA - Link Cable Connection Dreamcast - Reicast - VMU Display WiiU - CEMU (?) - Second Screen
Most likely there will be other use cases in which a second framebuffer is useful. Especially to render a "different" output at a certain region on the screen. or to display the output on two different screens.