mirror of https://github.com/snes9xgit/snes9x.git
libretro: hires blending buffer
This commit is contained in:
parent
0f4824a16c
commit
951da61b5f
|
@ -46,6 +46,7 @@
|
|||
char g_rom_dir[1024];
|
||||
char g_basename[1024];
|
||||
bool hires_blend = false;
|
||||
static uint16 *gfx_blend;
|
||||
|
||||
retro_log_printf_t log_cb = NULL;
|
||||
static retro_video_refresh_t video_cb = NULL;
|
||||
|
@ -725,6 +726,7 @@ void retro_init(void)
|
|||
|
||||
GFX.Pitch = MAX_SNES_WIDTH * sizeof(uint16);
|
||||
GFX.Screen = (uint16*) calloc(1, GFX.Pitch * MAX_SNES_HEIGHT);
|
||||
gfx_blend = (uint16*) calloc(1, GFX.Pitch * MAX_SNES_HEIGHT);
|
||||
S9xGraphicsInit();
|
||||
|
||||
S9xInitInputDevices();
|
||||
|
@ -989,6 +991,7 @@ void retro_deinit()
|
|||
S9xUnmapAllControls();
|
||||
|
||||
free(GFX.Screen);
|
||||
free(gfx_blend);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1120,7 +1123,7 @@ bool8 S9xDeinitUpdate(int width, int height)
|
|||
for (register int y = 0; y < height; y++)
|
||||
{
|
||||
register uint16 *input = (uint16 *) ((uint8 *) GFX.Screen + y * GFX.Pitch);
|
||||
register uint16 *output = (uint16 *) ((uint8 *) GFX.Screen + y * GFX.Pitch);
|
||||
register uint16 *output = (uint16 *) ((uint8 *) gfx_blend + y * GFX.Pitch);
|
||||
register uint16 l, r;
|
||||
|
||||
l = 0;
|
||||
|
@ -1135,10 +1138,14 @@ bool8 S9xDeinitUpdate(int width, int height)
|
|||
l = r;
|
||||
}
|
||||
}
|
||||
|
||||
video_cb(gfx_blend, width, height, GFX.Pitch);
|
||||
}
|
||||
else
|
||||
{
|
||||
video_cb(GFX.Screen, width, height, GFX.Pitch);
|
||||
}
|
||||
|
||||
|
||||
video_cb(GFX.Screen, width, height, GFX.Pitch);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue