mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Should fix GPU screenshots if last frame was duped.
This commit is contained in:
parent
705b1045ae
commit
40046531f3
@ -994,7 +994,8 @@ static int rgui_settings_toggle_setting(rgui_handle_t *rgui, unsigned setting, r
|
||||
if (action == RGUI_ACTION_OK)
|
||||
{
|
||||
// Render a clean frame to avoid taking screnshot of RGUI.
|
||||
if (g_settings.video.gpu_screenshot || g_extern.frame_cache.data == RETRO_HW_FRAME_BUFFER_VALID)
|
||||
if (g_settings.video.gpu_screenshot ||
|
||||
g_extern.system.hw_render_callback.context_type != RETRO_HW_CONTEXT_NONE)
|
||||
{
|
||||
if (driver.video_poke && driver.video_poke->set_texture_enable)
|
||||
driver.video_poke->set_texture_enable(driver.video_data, false, false);
|
||||
|
21
retroarch.c
21
retroarch.c
@ -126,18 +126,15 @@ void rarch_take_screenshot(void)
|
||||
|
||||
bool ret = false;
|
||||
|
||||
if (g_extern.frame_cache.data)
|
||||
{
|
||||
if ((g_settings.video.gpu_screenshot ||
|
||||
(g_extern.frame_cache.data == RETRO_HW_FRAME_BUFFER_VALID)) &&
|
||||
driver.video->read_viewport &&
|
||||
driver.video->viewport_info)
|
||||
ret = take_screenshot_viewport();
|
||||
else if (g_extern.frame_cache.data && (g_extern.frame_cache.data != RETRO_HW_FRAME_BUFFER_VALID))
|
||||
ret = take_screenshot_raw();
|
||||
else
|
||||
RARCH_ERR("Cannot take screenshot. GPU rendering is used and read_viewport is not supported.\n");
|
||||
}
|
||||
if ((g_settings.video.gpu_screenshot ||
|
||||
g_extern.system.hw_render_callback.context_type != RETRO_HW_CONTEXT_NONE) &&
|
||||
driver.video->read_viewport &&
|
||||
driver.video->viewport_info)
|
||||
ret = take_screenshot_viewport();
|
||||
else if (g_extern.frame_cache.data && (g_extern.frame_cache.data != RETRO_HW_FRAME_BUFFER_VALID))
|
||||
ret = take_screenshot_raw();
|
||||
else
|
||||
RARCH_ERR("Cannot take screenshot. GPU rendering is used and read_viewport is not supported.\n");
|
||||
|
||||
const char *msg = NULL;
|
||||
if (ret)
|
||||
|
Loading…
x
Reference in New Issue
Block a user