Should fix GPU screenshots if last frame was duped.

This commit is contained in:
Themaister 2013-06-22 00:38:00 +02:00
parent 705b1045ae
commit 40046531f3
2 changed files with 11 additions and 13 deletions

View File

@ -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);

View File

@ -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)