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: 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); (struct retro_framebuffer*)data);
/* Private extensions for internal use, not part of libretro API. */ /* 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); 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) retro_proc_address_t video_driver_get_proc_address(const char *sym)
{ {
if (!video_driver_poke || !video_driver_poke->get_proc_address) 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); free(video_driver_record_gpu_buffer);
video_driver_record_gpu_buffer = NULL; video_driver_record_gpu_buffer = NULL;
break; 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: case RARCH_DISPLAY_CTL_NONE:
default: default:
break; break;

View File

@ -155,7 +155,8 @@ enum rarch_display_ctl_state
RARCH_DISPLAY_CTL_HAS_GPU_RECORD, RARCH_DISPLAY_CTL_HAS_GPU_RECORD,
RARCH_DISPLAY_CTL_GPU_RECORD_GET, RARCH_DISPLAY_CTL_GPU_RECORD_GET,
RARCH_DISPLAY_CTL_GPU_RECORD_INIT, 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 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); 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); retro_proc_address_t video_driver_get_proc_address(const char *sym);
bool video_driver_set_shader(enum rarch_shader_type type, bool video_driver_set_shader(enum rarch_shader_type type,