Refactor task screenshot

This commit is contained in:
twinaphex 2019-06-06 15:48:50 +02:00
parent 280cec702b
commit fdd09a8b06
3 changed files with 10 additions and 2 deletions

View File

@ -1537,6 +1537,13 @@ bool video_driver_supports_viewport_read(void)
return current_video->read_viewport && current_video->viewport_info;
}
bool video_driver_prefer_viewport_read(void)
{
settings_t *settings = config_get_ptr();
return settings->bools.video_gpu_screenshot ||
(video_driver_is_hw_context() && !current_video->read_frame_raw);
}
bool video_driver_supports_read_frame_raw(void)
{
if (current_video->read_frame_raw)

View File

@ -829,6 +829,7 @@ void video_driver_unset_stub_frame(void);
bool video_driver_is_stub_frame(void);
bool video_driver_supports_recording(void);
bool video_driver_supports_viewport_read(void);
bool video_driver_prefer_viewport_read(void);
bool video_driver_supports_read_frame_raw(void);
void video_driver_set_viewport_config(void);
void video_driver_set_viewport_square_pixel(void);

View File

@ -516,8 +516,8 @@ bool take_screenshot(
screenshot_dir,
name_base, silence, is_paused, is_idle,
has_valid_framebuffer, fullpath, use_thread,
video_driver_supports_viewport_read()
&& settings->bools.video_gpu_screenshot,
video_driver_supports_viewport_read() &&
video_driver_prefer_viewport_read(),
video_driver_supports_read_frame_raw(),
video_driver_get_pixel_format()
);