mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
Reimplement 'Take Screenshot' - if GPU-accelerated viewport screenshots
are not available, resort to raw screenshots instead
This commit is contained in:
parent
f4346401e2
commit
6aed230930
@ -255,21 +255,6 @@ static void caca_gfx_set_rotation(void *data,
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static void caca_gfx_viewport_info(void *data,
|
||||
struct video_viewport *vp)
|
||||
{
|
||||
(void)data;
|
||||
(void)vp;
|
||||
}
|
||||
|
||||
static bool caca_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void caca_set_texture_frame(void *data,
|
||||
const void *frame, bool rgb32, unsigned width, unsigned height,
|
||||
float alpha)
|
||||
@ -353,8 +338,8 @@ video_driver_t video_caca = {
|
||||
"caca",
|
||||
caca_gfx_set_viewport,
|
||||
caca_gfx_set_rotation,
|
||||
caca_gfx_viewport_info,
|
||||
caca_gfx_read_viewport,
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -1253,13 +1253,6 @@ static void ctr_get_poke_interface(void* data,
|
||||
*iface = &ctr_poke_interface;
|
||||
}
|
||||
|
||||
static bool ctr_read_viewport(void* data, uint8_t* buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool ctr_set_shader(void* data,
|
||||
enum rarch_shader_type type, const char* path)
|
||||
{
|
||||
@ -1285,7 +1278,7 @@ video_driver_t video_ctr =
|
||||
NULL, /* set_viewport */
|
||||
ctr_set_rotation,
|
||||
ctr_viewport_info,
|
||||
ctr_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL,
|
||||
|
@ -1530,14 +1530,6 @@ static void d3d10_gfx_viewport_info(void* data, struct video_viewport* vp)
|
||||
*vp = d3d10->vp;
|
||||
}
|
||||
|
||||
static bool d3d10_gfx_read_viewport(void* data, uint8_t* buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void d3d10_set_menu_texture_frame(
|
||||
void* data, const void* frame, bool rgb32, unsigned width, unsigned height, float alpha)
|
||||
{
|
||||
@ -1748,7 +1740,7 @@ video_driver_t video_d3d10 = {
|
||||
NULL, /* set_viewport */
|
||||
d3d10_gfx_set_rotation,
|
||||
d3d10_gfx_viewport_info,
|
||||
d3d10_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -1598,14 +1598,6 @@ static void d3d11_gfx_viewport_info(void* data, struct video_viewport* vp)
|
||||
*vp = d3d11->vp;
|
||||
}
|
||||
|
||||
static bool d3d11_gfx_read_viewport(void* data, uint8_t* buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void d3d11_set_menu_texture_frame(
|
||||
void* data, const void* frame, bool rgb32, unsigned width, unsigned height, float alpha)
|
||||
{
|
||||
@ -1810,7 +1802,7 @@ video_driver_t video_d3d11 = {
|
||||
NULL, /* set_viewport */
|
||||
d3d11_gfx_set_rotation,
|
||||
d3d11_gfx_viewport_info,
|
||||
d3d11_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -1632,14 +1632,6 @@ static void d3d12_gfx_viewport_info(void* data, struct video_viewport* vp)
|
||||
*vp = d3d12->vp;
|
||||
}
|
||||
|
||||
static bool d3d12_gfx_read_viewport(void* data, uint8_t* buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void d3d12_set_menu_texture_frame(
|
||||
void* data, const void* frame, bool rgb32,
|
||||
unsigned width, unsigned height, float alpha)
|
||||
@ -1858,7 +1850,7 @@ video_driver_t video_d3d12 = {
|
||||
NULL, /* set_viewport */
|
||||
d3d12_gfx_set_rotation,
|
||||
d3d12_gfx_viewport_info,
|
||||
d3d12_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -1631,11 +1631,6 @@ static bool d3d8_frame(void *data, const void *frame,
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool d3d8_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool d3d8_set_shader(void *data,
|
||||
enum rarch_shader_type type, const char *path)
|
||||
{
|
||||
@ -1900,7 +1895,7 @@ video_driver_t video_d3d8 = {
|
||||
d3d8_set_viewport,
|
||||
d3d8_set_rotation,
|
||||
d3d8_viewport_info,
|
||||
d3d8_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
d3d8_get_overlay_interface,
|
||||
|
@ -586,20 +586,6 @@ static bool dispmanx_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void dispmanx_gfx_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static bool dispmanx_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void dispmanx_set_aspect_ratio (void *data, unsigned aspect_ratio_idx)
|
||||
{
|
||||
/* Due to RetroArch setting the data pointer to NULL internally
|
||||
@ -704,9 +690,9 @@ video_driver_t video_dispmanx = {
|
||||
dispmanx_gfx_free,
|
||||
"dispmanx",
|
||||
NULL, /* set_viewport */
|
||||
dispmanx_gfx_set_rotation,
|
||||
NULL, /* set_rotation */
|
||||
dispmanx_gfx_viewport_info,
|
||||
dispmanx_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -932,20 +932,6 @@ static bool drm_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void drm_gfx_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static bool drm_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void drm_set_aspect_ratio (void *data, unsigned aspect_ratio_idx)
|
||||
{
|
||||
struct drm_video *_drmvars = data;
|
||||
@ -1029,9 +1015,9 @@ video_driver_t video_drm = {
|
||||
drm_gfx_free,
|
||||
"drm",
|
||||
NULL, /* set_viewport */
|
||||
drm_gfx_set_rotation,
|
||||
NULL, /* set_rotation */
|
||||
drm_gfx_viewport_info,
|
||||
drm_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -1528,14 +1528,6 @@ static bool exynos_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool exynos_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
video_driver_t video_exynos = {
|
||||
exynos_gfx_init,
|
||||
exynos_gfx_frame,
|
||||
@ -1550,7 +1542,7 @@ video_driver_t video_exynos = {
|
||||
NULL, /* set_viewport */
|
||||
exynos_gfx_set_rotation,
|
||||
exynos_gfx_viewport_info,
|
||||
exynos_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -472,28 +472,6 @@ static bool gdi_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void gdi_gfx_set_rotation(void *data,
|
||||
unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static void gdi_gfx_viewport_info(void *data,
|
||||
struct video_viewport *vp)
|
||||
{
|
||||
(void)data;
|
||||
(void)vp;
|
||||
}
|
||||
|
||||
static bool gdi_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void gdi_set_texture_frame(void *data,
|
||||
const void *frame, bool rgb32, unsigned width, unsigned height,
|
||||
float alpha)
|
||||
@ -689,9 +667,9 @@ video_driver_t video_gdi = {
|
||||
gdi_gfx_free,
|
||||
"gdi",
|
||||
gdi_gfx_set_viewport,
|
||||
gdi_gfx_set_rotation,
|
||||
gdi_gfx_viewport_info,
|
||||
gdi_gfx_read_viewport,
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -1566,14 +1566,6 @@ static void wiiu_gfx_viewport_info(void *data,
|
||||
*vp = wiiu->vp;
|
||||
}
|
||||
|
||||
static bool wiiu_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static uintptr_t wiiu_gfx_load_texture(void *video_data, void *data,
|
||||
bool threaded, enum texture_filter_type filter_type)
|
||||
{
|
||||
@ -1773,7 +1765,7 @@ video_driver_t video_wiiu =
|
||||
NULL, /* set_viewport */
|
||||
wiiu_gfx_set_rotation,
|
||||
wiiu_gfx_viewport_info,
|
||||
wiiu_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
gx2_get_overlay_interface, /* overlay_interface */
|
||||
|
@ -1230,13 +1230,6 @@ static void gx_viewport_info(void *data, struct video_viewport *vp)
|
||||
*vp = gx->vp;
|
||||
}
|
||||
|
||||
static bool gx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
return true;
|
||||
}
|
||||
|
||||
static void gx_get_video_output_prev(void *data)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
@ -1679,7 +1672,7 @@ video_driver_t video_gx = {
|
||||
NULL, /* set_viewport */
|
||||
gx_set_rotation,
|
||||
gx_viewport_info,
|
||||
gx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
gx_get_overlay_interface,
|
||||
|
@ -1085,20 +1085,6 @@ static bool omap_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void omap_gfx_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static bool omap_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void omap_gfx_set_texture_frame(void *data, const void *frame, bool rgb32,
|
||||
unsigned width, unsigned height, float alpha)
|
||||
{
|
||||
@ -1179,9 +1165,9 @@ video_driver_t video_omap = {
|
||||
omap_gfx_free,
|
||||
"omap",
|
||||
NULL, /* set_viewport */
|
||||
omap_gfx_set_rotation,
|
||||
NULL, /* set_rotation */
|
||||
omap_gfx_viewport_info,
|
||||
omap_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -384,28 +384,6 @@ static bool ps2_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void ps2_gfx_set_rotation(void *data,
|
||||
unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static void ps2_gfx_viewport_info(void *data,
|
||||
struct video_viewport *vp)
|
||||
{
|
||||
(void)data;
|
||||
(void)vp;
|
||||
}
|
||||
|
||||
static bool ps2_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void ps2_set_filtering(void *data, unsigned index, bool smooth)
|
||||
{
|
||||
ps2_video_t *ps2 = (ps2_video_t*)data;
|
||||
@ -511,9 +489,9 @@ video_driver_t video_ps2 = {
|
||||
ps2_gfx_free,
|
||||
"ps2",
|
||||
NULL, /* set_viewport */
|
||||
ps2_gfx_set_rotation,
|
||||
ps2_gfx_viewport_info,
|
||||
ps2_gfx_read_viewport,
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -429,7 +429,8 @@ static bool sdl_gfx_has_windowed(void *data)
|
||||
static void sdl_gfx_viewport_info(void *data, struct video_viewport *vp)
|
||||
{
|
||||
sdl_video_t *vid = (sdl_video_t*)data;
|
||||
vp->x = vp->y = 0;
|
||||
vp->x = 0;
|
||||
vp->y = 0;
|
||||
vp->width = vp->full_width = vid->screen->w;
|
||||
vp->height = vp->full_height = vid->screen->h;
|
||||
}
|
||||
@ -566,20 +567,6 @@ static bool sdl_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void sdl_gfx_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static bool sdl_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
video_driver_t video_sdl = {
|
||||
sdl_gfx_init,
|
||||
sdl_gfx_frame,
|
||||
@ -592,9 +579,9 @@ video_driver_t video_sdl = {
|
||||
sdl_gfx_free,
|
||||
"sdl",
|
||||
NULL,
|
||||
sdl_gfx_set_rotation,
|
||||
NULL, /* set_rotation */
|
||||
sdl_gfx_viewport_info,
|
||||
sdl_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL,
|
||||
|
@ -515,21 +515,6 @@ static void sixel_gfx_set_rotation(void *data,
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static void sixel_gfx_viewport_info(void *data,
|
||||
struct video_viewport *vp)
|
||||
{
|
||||
(void)data;
|
||||
(void)vp;
|
||||
}
|
||||
|
||||
static bool sixel_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void sixel_set_texture_frame(void *data,
|
||||
const void *frame, bool rgb32, unsigned width, unsigned height,
|
||||
float alpha)
|
||||
@ -659,8 +644,8 @@ video_driver_t video_sixel = {
|
||||
"sixel",
|
||||
sixel_gfx_set_viewport,
|
||||
sixel_gfx_set_rotation,
|
||||
sixel_gfx_viewport_info,
|
||||
sixel_gfx_read_viewport,
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL, /* overlay_interface */
|
||||
|
@ -824,12 +824,6 @@ static bool sunxi_gfx_focus(void *data)
|
||||
return true; /* fb device always has focus */
|
||||
}
|
||||
|
||||
static void sunxi_gfx_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static bool sunxi_gfx_suppress_screensaver(void *data, bool enable)
|
||||
{
|
||||
(void)data;
|
||||
@ -985,7 +979,7 @@ video_driver_t video_sunxi = {
|
||||
sunxi_gfx_free,
|
||||
"sunxi",
|
||||
NULL, /* set_viewport */
|
||||
sunxi_gfx_set_rotation,
|
||||
NULL, /* set_rotation */
|
||||
sunxi_gfx_viewport_info,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
@ -327,14 +327,6 @@ static void switch_viewport_info(void *data, struct video_viewport *vp)
|
||||
*vp = sw->vp;
|
||||
}
|
||||
|
||||
static bool switch_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void) data;
|
||||
(void) buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void switch_set_texture_frame(
|
||||
void *data, const void *frame, bool rgb32,
|
||||
unsigned width, unsigned height, float alpha)
|
||||
@ -449,7 +441,7 @@ video_driver_t video_switch = {
|
||||
NULL, /* set_viewport */
|
||||
switch_set_rotation,
|
||||
switch_viewport_info,
|
||||
switch_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL, /* overlay_interface */
|
||||
|
@ -576,14 +576,6 @@ static void switch_viewport_info(void *data, struct video_viewport *vp)
|
||||
*vp = sw->vp;
|
||||
}
|
||||
|
||||
static bool switch_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void switch_set_texture_frame(
|
||||
void *data, const void *frame, bool rgb32,
|
||||
unsigned width, unsigned height, float alpha)
|
||||
@ -798,7 +790,7 @@ video_driver_t video_switch = {
|
||||
NULL, /* set_viewport */
|
||||
switch_set_rotation,
|
||||
switch_viewport_info,
|
||||
switch_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
switch_overlay_interface, /* switch_overlay_interface */
|
||||
|
@ -473,27 +473,6 @@ static bool vg_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void vg_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static void vg_viewport_info(void *data,
|
||||
struct video_viewport *vp)
|
||||
{
|
||||
(void)data;
|
||||
(void)vp;
|
||||
}
|
||||
|
||||
static bool vg_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void vg_get_poke_interface(void *data,
|
||||
const video_poke_interface_t **iface)
|
||||
{
|
||||
@ -513,9 +492,9 @@ video_driver_t video_vg = {
|
||||
vg_free,
|
||||
"vg",
|
||||
NULL, /* set_viewport */
|
||||
vg_set_rotation,
|
||||
vg_viewport_info,
|
||||
vg_read_viewport,
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL, /* overlay_interface */
|
||||
|
@ -303,28 +303,6 @@ static bool vga_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void vga_gfx_set_rotation(void *data,
|
||||
unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static void vga_gfx_viewport_info(void *data,
|
||||
struct video_viewport *vp)
|
||||
{
|
||||
(void)data;
|
||||
(void)vp;
|
||||
}
|
||||
|
||||
static bool vga_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void vga_set_texture_frame(void *data,
|
||||
const void *frame, bool rgb32, unsigned width, unsigned height,
|
||||
float alpha)
|
||||
@ -444,9 +422,9 @@ video_driver_t video_vga = {
|
||||
vga_gfx_free,
|
||||
"vga",
|
||||
vga_gfx_set_viewport,
|
||||
vga_gfx_set_rotation,
|
||||
vga_gfx_viewport_info,
|
||||
vga_gfx_read_viewport,
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -565,14 +565,6 @@ static void vita2d_gfx_viewport_info(void *data,
|
||||
*vp = vita->vp;
|
||||
}
|
||||
|
||||
static bool vita2d_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void vita_set_filtering(void *data, unsigned index, bool smooth)
|
||||
{
|
||||
vita_video_t *vita = (vita_video_t *)data;
|
||||
@ -979,7 +971,7 @@ video_driver_t video_vita2d = {
|
||||
vita2d_gfx_set_viewport,
|
||||
vita2d_gfx_set_rotation,
|
||||
vita2d_gfx_viewport_info,
|
||||
vita2d_gfx_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
vita2d_get_overlay_interface,
|
||||
|
@ -270,12 +270,6 @@ static bool xenon360_gfx_suppress_screensaver(void *data, bool enable)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void xenon360_gfx_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static bool xenon360_gfx_set_shader(void *data,
|
||||
enum rarch_shader_type type, const char *path)
|
||||
{
|
||||
@ -286,20 +280,6 @@ static bool xenon360_gfx_set_shader(void *data,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void xenon360_gfx_viewport_info(void *data, struct video_viewport *vp)
|
||||
{
|
||||
(void)data;
|
||||
(void)vp;
|
||||
}
|
||||
|
||||
static bool xenon360_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void xenon360_gfx_get_poke_interface(void *data,
|
||||
const video_poke_interface_t **iface)
|
||||
{
|
||||
@ -319,9 +299,9 @@ video_driver_t video_xenon360 = {
|
||||
xenon360_gfx_free,
|
||||
"xenon360",
|
||||
NULL, /* set_viewport */
|
||||
xenon360_gfx_set_rotation,
|
||||
xenon360_gfx_viewport_info,
|
||||
xenon360_gfx_read_viewport,
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
|
@ -143,21 +143,6 @@ static void xshm_gfx_free(void *data)
|
||||
|
||||
}
|
||||
|
||||
static void xshm_gfx_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void xshm_gfx_viewport_info(void *data, struct video_viewport *vp)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static bool xshm_gfx_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static void xshm_poke_set_filtering(void *data, unsigned index, bool smooth)
|
||||
{
|
||||
|
||||
@ -256,9 +241,9 @@ video_driver_t video_xshm = {
|
||||
"xshm",
|
||||
|
||||
NULL,
|
||||
xshm_gfx_set_rotation,
|
||||
xshm_gfx_viewport_info,
|
||||
xshm_gfx_read_viewport,
|
||||
NULL, /* set_rotation */
|
||||
NULL, /* viewport_info */
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL,
|
||||
|
@ -920,20 +920,6 @@ static void xv_viewport_info(void *data, struct video_viewport *vp)
|
||||
*vp = xv->vp;
|
||||
}
|
||||
|
||||
static void xv_set_rotation(void *data, unsigned rotation)
|
||||
{
|
||||
(void)data;
|
||||
(void)rotation;
|
||||
}
|
||||
|
||||
static bool xv_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
{
|
||||
(void)data;
|
||||
(void)buffer;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static uint32_t xv_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
@ -994,9 +980,9 @@ video_driver_t video_xvideo = {
|
||||
xv_free,
|
||||
"xvideo",
|
||||
NULL, /* set_viewport */
|
||||
xv_set_rotation,
|
||||
NULL, /* set_rotation */
|
||||
xv_viewport_info,
|
||||
xv_read_viewport,
|
||||
NULL, /* read_viewport */
|
||||
NULL, /* read_frame_raw */
|
||||
#ifdef HAVE_OVERLAY
|
||||
NULL, /* overlay_interface */
|
||||
|
@ -1750,14 +1750,11 @@ static int menu_displaylist_parse_load_content_settings(
|
||||
|
||||
if (settings->bools.quick_menu_show_take_screenshot)
|
||||
{
|
||||
gfx_ctx_flags_t flags;
|
||||
|
||||
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED))
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_TAKE_SCREENSHOT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_TAKE_SCREENSHOT),
|
||||
MENU_ENUM_LABEL_TAKE_SCREENSHOT,
|
||||
MENU_SETTING_ACTION_SCREENSHOT, 0, 0);
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_TAKE_SCREENSHOT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_TAKE_SCREENSHOT),
|
||||
MENU_ENUM_LABEL_TAKE_SCREENSHOT,
|
||||
MENU_SETTING_ACTION_SCREENSHOT, 0, 0);
|
||||
}
|
||||
|
||||
if (settings->bools.quick_menu_show_save_load_state)
|
||||
|
@ -350,7 +350,6 @@ static bool screenshot_dump(
|
||||
return screenshot_dump_direct(state);
|
||||
}
|
||||
|
||||
#if !defined(VITA)
|
||||
static bool take_screenshot_viewport(
|
||||
const char *screenshot_dir,
|
||||
const char *name_base,
|
||||
@ -400,7 +399,6 @@ static bool take_screenshot_viewport(
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
static bool take_screenshot_raw(const char *screenshot_dir,
|
||||
const char *name_base, void *userbuf,
|
||||
@ -446,7 +444,8 @@ static bool take_screenshot_choice(
|
||||
bool use_thread,
|
||||
bool supports_viewport_read,
|
||||
bool supports_read_frame_raw,
|
||||
unsigned pixel_format_type)
|
||||
unsigned pixel_format_type
|
||||
)
|
||||
{
|
||||
size_t old_pitch;
|
||||
unsigned old_width, old_height;
|
||||
@ -459,15 +458,9 @@ static bool take_screenshot_choice(
|
||||
video_driver_set_texture_enable(false, false);
|
||||
if (!is_idle)
|
||||
video_driver_cached_frame();
|
||||
#if defined(VITA)
|
||||
return take_screenshot_raw(screenshot_dir,
|
||||
name_base, NULL, savestate, is_idle, is_paused, fullpath, use_thread,
|
||||
pixel_format_type);
|
||||
#else
|
||||
return take_screenshot_viewport(screenshot_dir,
|
||||
name_base, savestate, is_idle, is_paused, fullpath, use_thread,
|
||||
pixel_format_type);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!has_valid_framebuffer)
|
||||
|
Loading…
x
Reference in New Issue
Block a user