Add RARCH_DISPLAY_CTL_GET_CURRENT_SOFTWARE_FRAMEBUFFER

This commit is contained in:
twinaphex 2016-02-14 05:31:33 +01:00
parent 4fcb1469cc
commit d078682a3c
3 changed files with 11 additions and 16 deletions

View File

@ -1209,7 +1209,8 @@ bool rarch_environment_cb(unsigned cmd, void *data)
}
case RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER:
return video_driver_get_current_software_framebuffer(
return video_driver_ctl(
RARCH_DISPLAY_CTL_GET_CURRENT_SOFTWARE_FRAMEBUFFER,
(struct retro_framebuffer*)data);
/* Private extensions for internal use, not part of libretro API. */

View File

@ -338,17 +338,6 @@ uintptr_t video_driver_get_current_framebuffer(void)
return video_driver_poke->get_current_framebuffer(video_driver_data);
}
bool video_driver_get_current_software_framebuffer(
struct retro_framebuffer *framebuffer)
{
if (
!video_driver_poke ||
!video_driver_poke->get_current_software_framebuffer)
return false;
return video_driver_poke->get_current_software_framebuffer(
video_driver_data, framebuffer);
}
retro_proc_address_t video_driver_get_proc_address(const char *sym)
{
if (!video_driver_poke || !video_driver_poke->get_proc_address)
@ -1732,6 +1721,13 @@ bool video_driver_ctl(enum rarch_display_ctl_state state, void *data)
free(video_driver_record_gpu_buffer);
video_driver_record_gpu_buffer = NULL;
break;
case RARCH_DISPLAY_CTL_GET_CURRENT_SOFTWARE_FRAMEBUFFER:
if (
!video_driver_poke ||
!video_driver_poke->get_current_software_framebuffer)
return false;
return video_driver_poke->get_current_software_framebuffer(
video_driver_data, (struct retro_framebuffer *)data);
case RARCH_DISPLAY_CTL_NONE:
default:
break;

View File

@ -155,7 +155,8 @@ enum rarch_display_ctl_state
RARCH_DISPLAY_CTL_HAS_GPU_RECORD,
RARCH_DISPLAY_CTL_GPU_RECORD_GET,
RARCH_DISPLAY_CTL_GPU_RECORD_INIT,
RARCH_DISPLAY_CTL_GPU_RECORD_DEINIT
RARCH_DISPLAY_CTL_GPU_RECORD_DEINIT,
RARCH_DISPLAY_CTL_GET_CURRENT_SOFTWARE_FRAMEBUFFER
};
typedef struct video_info
@ -380,9 +381,6 @@ void *video_driver_get_ptr(bool force_nonthreaded_data);
**/
uintptr_t video_driver_get_current_framebuffer(void);
bool video_driver_get_current_software_framebuffer(
struct retro_framebuffer *framebuffer);
retro_proc_address_t video_driver_get_proc_address(const char *sym);
bool video_driver_set_shader(enum rarch_shader_type type,