Reimplement 'Take Screenshot' - if GPU-accelerated viewport screenshots

are not available, resort to raw screenshots instead
This commit is contained in:
twinaphex 2019-05-22 07:07:33 +02:00
parent f4346401e2
commit 6aed230930
27 changed files with 53 additions and 373 deletions

View File

@ -255,21 +255,6 @@ static void caca_gfx_set_rotation(void *data,
(void)rotation; (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, static void caca_set_texture_frame(void *data,
const void *frame, bool rgb32, unsigned width, unsigned height, const void *frame, bool rgb32, unsigned width, unsigned height,
float alpha) float alpha)
@ -353,8 +338,8 @@ video_driver_t video_caca = {
"caca", "caca",
caca_gfx_set_viewport, caca_gfx_set_viewport,
caca_gfx_set_rotation, caca_gfx_set_rotation,
caca_gfx_viewport_info, NULL, /* viewport_info */
caca_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -1253,13 +1253,6 @@ static void ctr_get_poke_interface(void* data,
*iface = &ctr_poke_interface; *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, static bool ctr_set_shader(void* data,
enum rarch_shader_type type, const char* path) enum rarch_shader_type type, const char* path)
{ {
@ -1285,7 +1278,7 @@ video_driver_t video_ctr =
NULL, /* set_viewport */ NULL, /* set_viewport */
ctr_set_rotation, ctr_set_rotation,
ctr_viewport_info, ctr_viewport_info,
ctr_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
NULL, NULL,

View File

@ -1530,14 +1530,6 @@ static void d3d10_gfx_viewport_info(void* data, struct video_viewport* vp)
*vp = d3d10->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( static void d3d10_set_menu_texture_frame(
void* data, const void* frame, bool rgb32, unsigned width, unsigned height, float alpha) 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 */ NULL, /* set_viewport */
d3d10_gfx_set_rotation, d3d10_gfx_set_rotation,
d3d10_gfx_viewport_info, d3d10_gfx_viewport_info,
d3d10_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -1598,14 +1598,6 @@ static void d3d11_gfx_viewport_info(void* data, struct video_viewport* vp)
*vp = d3d11->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( static void d3d11_set_menu_texture_frame(
void* data, const void* frame, bool rgb32, unsigned width, unsigned height, float alpha) 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 */ NULL, /* set_viewport */
d3d11_gfx_set_rotation, d3d11_gfx_set_rotation,
d3d11_gfx_viewport_info, d3d11_gfx_viewport_info,
d3d11_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -1632,14 +1632,6 @@ static void d3d12_gfx_viewport_info(void* data, struct video_viewport* vp)
*vp = d3d12->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( static void d3d12_set_menu_texture_frame(
void* data, const void* frame, bool rgb32, void* data, const void* frame, bool rgb32,
unsigned width, unsigned height, float alpha) unsigned width, unsigned height, float alpha)
@ -1858,7 +1850,7 @@ video_driver_t video_d3d12 = {
NULL, /* set_viewport */ NULL, /* set_viewport */
d3d12_gfx_set_rotation, d3d12_gfx_set_rotation,
d3d12_gfx_viewport_info, d3d12_gfx_viewport_info,
d3d12_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -1631,11 +1631,6 @@ static bool d3d8_frame(void *data, const void *frame,
return true; return true;
} }
static bool d3d8_read_viewport(void *data, uint8_t *buffer, bool is_idle)
{
return false;
}
static bool d3d8_set_shader(void *data, static bool d3d8_set_shader(void *data,
enum rarch_shader_type type, const char *path) enum rarch_shader_type type, const char *path)
{ {
@ -1900,7 +1895,7 @@ video_driver_t video_d3d8 = {
d3d8_set_viewport, d3d8_set_viewport,
d3d8_set_rotation, d3d8_set_rotation,
d3d8_viewport_info, d3d8_viewport_info,
d3d8_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
d3d8_get_overlay_interface, d3d8_get_overlay_interface,

View File

@ -586,20 +586,6 @@ static bool dispmanx_gfx_set_shader(void *data,
return false; 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) static void dispmanx_set_aspect_ratio (void *data, unsigned aspect_ratio_idx)
{ {
/* Due to RetroArch setting the data pointer to NULL internally /* Due to RetroArch setting the data pointer to NULL internally
@ -704,9 +690,9 @@ video_driver_t video_dispmanx = {
dispmanx_gfx_free, dispmanx_gfx_free,
"dispmanx", "dispmanx",
NULL, /* set_viewport */ NULL, /* set_viewport */
dispmanx_gfx_set_rotation, NULL, /* set_rotation */
dispmanx_gfx_viewport_info, dispmanx_gfx_viewport_info,
dispmanx_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -932,20 +932,6 @@ static bool drm_gfx_set_shader(void *data,
return false; 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) static void drm_set_aspect_ratio (void *data, unsigned aspect_ratio_idx)
{ {
struct drm_video *_drmvars = data; struct drm_video *_drmvars = data;
@ -1029,9 +1015,9 @@ video_driver_t video_drm = {
drm_gfx_free, drm_gfx_free,
"drm", "drm",
NULL, /* set_viewport */ NULL, /* set_viewport */
drm_gfx_set_rotation, NULL, /* set_rotation */
drm_gfx_viewport_info, drm_gfx_viewport_info,
drm_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -1528,14 +1528,6 @@ static bool exynos_gfx_set_shader(void *data,
return false; 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 = { video_driver_t video_exynos = {
exynos_gfx_init, exynos_gfx_init,
exynos_gfx_frame, exynos_gfx_frame,
@ -1550,7 +1542,7 @@ video_driver_t video_exynos = {
NULL, /* set_viewport */ NULL, /* set_viewport */
exynos_gfx_set_rotation, exynos_gfx_set_rotation,
exynos_gfx_viewport_info, exynos_gfx_viewport_info,
exynos_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -472,28 +472,6 @@ static bool gdi_gfx_set_shader(void *data,
return false; 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, static void gdi_set_texture_frame(void *data,
const void *frame, bool rgb32, unsigned width, unsigned height, const void *frame, bool rgb32, unsigned width, unsigned height,
float alpha) float alpha)
@ -689,9 +667,9 @@ video_driver_t video_gdi = {
gdi_gfx_free, gdi_gfx_free,
"gdi", "gdi",
gdi_gfx_set_viewport, gdi_gfx_set_viewport,
gdi_gfx_set_rotation, NULL, /* set_rotation */
gdi_gfx_viewport_info, NULL, /* viewport_info */
gdi_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -1566,14 +1566,6 @@ static void wiiu_gfx_viewport_info(void *data,
*vp = wiiu->vp; *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, static uintptr_t wiiu_gfx_load_texture(void *video_data, void *data,
bool threaded, enum texture_filter_type filter_type) bool threaded, enum texture_filter_type filter_type)
{ {
@ -1773,7 +1765,7 @@ video_driver_t video_wiiu =
NULL, /* set_viewport */ NULL, /* set_viewport */
wiiu_gfx_set_rotation, wiiu_gfx_set_rotation,
wiiu_gfx_viewport_info, wiiu_gfx_viewport_info,
wiiu_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
gx2_get_overlay_interface, /* overlay_interface */ gx2_get_overlay_interface, /* overlay_interface */

View File

@ -1230,13 +1230,6 @@ static void gx_viewport_info(void *data, struct video_viewport *vp)
*vp = gx->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) static void gx_get_video_output_prev(void *data)
{ {
global_t *global = global_get_ptr(); global_t *global = global_get_ptr();
@ -1679,7 +1672,7 @@ video_driver_t video_gx = {
NULL, /* set_viewport */ NULL, /* set_viewport */
gx_set_rotation, gx_set_rotation,
gx_viewport_info, gx_viewport_info,
gx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
gx_get_overlay_interface, gx_get_overlay_interface,

View File

@ -1085,20 +1085,6 @@ static bool omap_gfx_set_shader(void *data,
return false; 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, static void omap_gfx_set_texture_frame(void *data, const void *frame, bool rgb32,
unsigned width, unsigned height, float alpha) unsigned width, unsigned height, float alpha)
{ {
@ -1179,9 +1165,9 @@ video_driver_t video_omap = {
omap_gfx_free, omap_gfx_free,
"omap", "omap",
NULL, /* set_viewport */ NULL, /* set_viewport */
omap_gfx_set_rotation, NULL, /* set_rotation */
omap_gfx_viewport_info, omap_gfx_viewport_info,
omap_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -384,28 +384,6 @@ static bool ps2_gfx_set_shader(void *data,
return false; 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) static void ps2_set_filtering(void *data, unsigned index, bool smooth)
{ {
ps2_video_t *ps2 = (ps2_video_t*)data; ps2_video_t *ps2 = (ps2_video_t*)data;
@ -511,9 +489,9 @@ video_driver_t video_ps2 = {
ps2_gfx_free, ps2_gfx_free,
"ps2", "ps2",
NULL, /* set_viewport */ NULL, /* set_viewport */
ps2_gfx_set_rotation, NULL, /* set_rotation */
ps2_gfx_viewport_info, NULL, /* viewport_info */
ps2_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -429,7 +429,8 @@ static bool sdl_gfx_has_windowed(void *data)
static void sdl_gfx_viewport_info(void *data, struct video_viewport *vp) static void sdl_gfx_viewport_info(void *data, struct video_viewport *vp)
{ {
sdl_video_t *vid = (sdl_video_t*)data; 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->width = vp->full_width = vid->screen->w;
vp->height = vp->full_height = vid->screen->h; vp->height = vp->full_height = vid->screen->h;
} }
@ -566,20 +567,6 @@ static bool sdl_gfx_set_shader(void *data,
return false; 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 = { video_driver_t video_sdl = {
sdl_gfx_init, sdl_gfx_init,
sdl_gfx_frame, sdl_gfx_frame,
@ -592,9 +579,9 @@ video_driver_t video_sdl = {
sdl_gfx_free, sdl_gfx_free,
"sdl", "sdl",
NULL, NULL,
sdl_gfx_set_rotation, NULL, /* set_rotation */
sdl_gfx_viewport_info, sdl_gfx_viewport_info,
sdl_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
NULL, NULL,

View File

@ -515,21 +515,6 @@ static void sixel_gfx_set_rotation(void *data,
(void)rotation; (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, static void sixel_set_texture_frame(void *data,
const void *frame, bool rgb32, unsigned width, unsigned height, const void *frame, bool rgb32, unsigned width, unsigned height,
float alpha) float alpha)
@ -659,8 +644,8 @@ video_driver_t video_sixel = {
"sixel", "sixel",
sixel_gfx_set_viewport, sixel_gfx_set_viewport,
sixel_gfx_set_rotation, sixel_gfx_set_rotation,
sixel_gfx_viewport_info, NULL, /* viewport_info */
sixel_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
NULL, /* overlay_interface */ NULL, /* overlay_interface */

View File

@ -824,12 +824,6 @@ static bool sunxi_gfx_focus(void *data)
return true; /* fb device always has focus */ 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) static bool sunxi_gfx_suppress_screensaver(void *data, bool enable)
{ {
(void)data; (void)data;
@ -985,7 +979,7 @@ video_driver_t video_sunxi = {
sunxi_gfx_free, sunxi_gfx_free,
"sunxi", "sunxi",
NULL, /* set_viewport */ NULL, /* set_viewport */
sunxi_gfx_set_rotation, NULL, /* set_rotation */
sunxi_gfx_viewport_info, sunxi_gfx_viewport_info,
NULL, /* read_viewport */ NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */

View File

@ -327,14 +327,6 @@ static void switch_viewport_info(void *data, struct video_viewport *vp)
*vp = sw->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( static void switch_set_texture_frame(
void *data, const void *frame, bool rgb32, void *data, const void *frame, bool rgb32,
unsigned width, unsigned height, float alpha) unsigned width, unsigned height, float alpha)
@ -449,7 +441,7 @@ video_driver_t video_switch = {
NULL, /* set_viewport */ NULL, /* set_viewport */
switch_set_rotation, switch_set_rotation,
switch_viewport_info, switch_viewport_info,
switch_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
NULL, /* overlay_interface */ NULL, /* overlay_interface */

View File

@ -576,14 +576,6 @@ static void switch_viewport_info(void *data, struct video_viewport *vp)
*vp = sw->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( static void switch_set_texture_frame(
void *data, const void *frame, bool rgb32, void *data, const void *frame, bool rgb32,
unsigned width, unsigned height, float alpha) unsigned width, unsigned height, float alpha)
@ -798,7 +790,7 @@ video_driver_t video_switch = {
NULL, /* set_viewport */ NULL, /* set_viewport */
switch_set_rotation, switch_set_rotation,
switch_viewport_info, switch_viewport_info,
switch_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
switch_overlay_interface, /* switch_overlay_interface */ switch_overlay_interface, /* switch_overlay_interface */

View File

@ -473,27 +473,6 @@ static bool vg_set_shader(void *data,
return false; 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, static void vg_get_poke_interface(void *data,
const video_poke_interface_t **iface) const video_poke_interface_t **iface)
{ {
@ -513,9 +492,9 @@ video_driver_t video_vg = {
vg_free, vg_free,
"vg", "vg",
NULL, /* set_viewport */ NULL, /* set_viewport */
vg_set_rotation, NULL, /* set_rotation */
vg_viewport_info, NULL, /* viewport_info */
vg_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
NULL, /* overlay_interface */ NULL, /* overlay_interface */

View File

@ -303,28 +303,6 @@ static bool vga_gfx_set_shader(void *data,
return false; 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, static void vga_set_texture_frame(void *data,
const void *frame, bool rgb32, unsigned width, unsigned height, const void *frame, bool rgb32, unsigned width, unsigned height,
float alpha) float alpha)
@ -444,9 +422,9 @@ video_driver_t video_vga = {
vga_gfx_free, vga_gfx_free,
"vga", "vga",
vga_gfx_set_viewport, vga_gfx_set_viewport,
vga_gfx_set_rotation, NULL, /* set_rotation */
vga_gfx_viewport_info, NULL, /* viewport_info */
vga_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -565,14 +565,6 @@ static void vita2d_gfx_viewport_info(void *data,
*vp = vita->vp; *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) static void vita_set_filtering(void *data, unsigned index, bool smooth)
{ {
vita_video_t *vita = (vita_video_t *)data; vita_video_t *vita = (vita_video_t *)data;
@ -979,7 +971,7 @@ video_driver_t video_vita2d = {
vita2d_gfx_set_viewport, vita2d_gfx_set_viewport,
vita2d_gfx_set_rotation, vita2d_gfx_set_rotation,
vita2d_gfx_viewport_info, vita2d_gfx_viewport_info,
vita2d_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
vita2d_get_overlay_interface, vita2d_get_overlay_interface,

View File

@ -270,12 +270,6 @@ static bool xenon360_gfx_suppress_screensaver(void *data, bool enable)
return false; return false;
} }
static void xenon360_gfx_set_rotation(void *data, unsigned rotation)
{
(void)data;
(void)rotation;
}
static bool xenon360_gfx_set_shader(void *data, static bool xenon360_gfx_set_shader(void *data,
enum rarch_shader_type type, const char *path) enum rarch_shader_type type, const char *path)
{ {
@ -286,20 +280,6 @@ static bool xenon360_gfx_set_shader(void *data,
return false; 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, static void xenon360_gfx_get_poke_interface(void *data,
const video_poke_interface_t **iface) const video_poke_interface_t **iface)
{ {
@ -319,9 +299,9 @@ video_driver_t video_xenon360 = {
xenon360_gfx_free, xenon360_gfx_free,
"xenon360", "xenon360",
NULL, /* set_viewport */ NULL, /* set_viewport */
xenon360_gfx_set_rotation, NULL, /* set_rotation */
xenon360_gfx_viewport_info, NULL, /* viewport_info */
xenon360_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY

View File

@ -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) static void xshm_poke_set_filtering(void *data, unsigned index, bool smooth)
{ {
@ -256,9 +241,9 @@ video_driver_t video_xshm = {
"xshm", "xshm",
NULL, NULL,
xshm_gfx_set_rotation, NULL, /* set_rotation */
xshm_gfx_viewport_info, NULL, /* viewport_info */
xshm_gfx_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
NULL, NULL,

View File

@ -920,20 +920,6 @@ static void xv_viewport_info(void *data, struct video_viewport *vp)
*vp = xv->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) static uint32_t xv_get_flags(void *data)
{ {
uint32_t flags = 0; uint32_t flags = 0;
@ -994,9 +980,9 @@ video_driver_t video_xvideo = {
xv_free, xv_free,
"xvideo", "xvideo",
NULL, /* set_viewport */ NULL, /* set_viewport */
xv_set_rotation, NULL, /* set_rotation */
xv_viewport_info, xv_viewport_info,
xv_read_viewport, NULL, /* read_viewport */
NULL, /* read_frame_raw */ NULL, /* read_frame_raw */
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
NULL, /* overlay_interface */ NULL, /* overlay_interface */

View File

@ -1750,9 +1750,6 @@ static int menu_displaylist_parse_load_content_settings(
if (settings->bools.quick_menu_show_take_screenshot) 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, menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_TAKE_SCREENSHOT), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_TAKE_SCREENSHOT),
msg_hash_to_str(MENU_ENUM_LABEL_TAKE_SCREENSHOT), msg_hash_to_str(MENU_ENUM_LABEL_TAKE_SCREENSHOT),

View File

@ -350,7 +350,6 @@ static bool screenshot_dump(
return screenshot_dump_direct(state); return screenshot_dump_direct(state);
} }
#if !defined(VITA)
static bool take_screenshot_viewport( static bool take_screenshot_viewport(
const char *screenshot_dir, const char *screenshot_dir,
const char *name_base, const char *name_base,
@ -400,7 +399,6 @@ static bool take_screenshot_viewport(
return true; return true;
} }
#endif
static bool take_screenshot_raw(const char *screenshot_dir, static bool take_screenshot_raw(const char *screenshot_dir,
const char *name_base, void *userbuf, const char *name_base, void *userbuf,
@ -446,7 +444,8 @@ static bool take_screenshot_choice(
bool use_thread, bool use_thread,
bool supports_viewport_read, bool supports_viewport_read,
bool supports_read_frame_raw, bool supports_read_frame_raw,
unsigned pixel_format_type) unsigned pixel_format_type
)
{ {
size_t old_pitch; size_t old_pitch;
unsigned old_width, old_height; unsigned old_width, old_height;
@ -459,15 +458,9 @@ static bool take_screenshot_choice(
video_driver_set_texture_enable(false, false); video_driver_set_texture_enable(false, false);
if (!is_idle) if (!is_idle)
video_driver_cached_frame(); 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, return take_screenshot_viewport(screenshot_dir,
name_base, savestate, is_idle, is_paused, fullpath, use_thread, name_base, savestate, is_idle, is_paused, fullpath, use_thread,
pixel_format_type); pixel_format_type);
#endif
} }
if (!has_valid_framebuffer) if (!has_valid_framebuffer)