diff --git a/Makefile.griffin b/Makefile.griffin
index a51b4f20cd..669e11291a 100644
--- a/Makefile.griffin
+++ b/Makefile.griffin
@@ -257,7 +257,7 @@ endif
endif
ifeq ($(HAVE_VITA2D), 1)
-LIBS += -lvita2d
+LIBS := -lvita2d $(LIBS)
endif
ifeq ($(HAVE_RSOUND), 1)
diff --git a/frontend/drivers/platform_vita.c b/frontend/drivers/platform_vita.c
index 424e159e27..74422bab27 100644
--- a/frontend/drivers/platform_vita.c
+++ b/frontend/drivers/platform_vita.c
@@ -80,6 +80,11 @@ static void frontend_vita_get_environment_settings(int *argc, char *argv[],
fill_pathname_join(g_defaults.dir.remap, g_defaults.dir.remap,
"remaps", sizeof(g_defaults.dir.remap));
+ struct rarch_main_wrap *params = NULL;
+ params = (struct rarch_main_wrap*)params_data;
+
+ params->verbose = true;
+
#ifndef IS_SALAMANDER
if (argv[1] && (argv[1][0] != '\0'))
{
diff --git a/gfx/drivers/vita2d_gfx.c b/gfx/drivers/vita2d_gfx.c
new file mode 100644
index 0000000000..80aed61ea1
--- /dev/null
+++ b/gfx/drivers/vita2d_gfx.c
@@ -0,0 +1,153 @@
+/* RetroArch - A frontend for libretro.
+ * Copyright (C) 2015 - Sergi Granell (xerpi)
+ *
+ * RetroArch is free software: you can redistribute it and/or modify it under the terms
+ * of the GNU General Public License as published by the Free Software Found-
+ * ation, either version 3 of the License, or (at your option) any later version.
+ *
+ * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with RetroArch.
+ * If not, see .
+ */
+
+#include "../../general.h"
+#include "../../driver.h"
+#include "../video_viewport.h"
+
+#include
+
+static void *vita2d_gfx_init(const video_info_t *video,
+ const input_driver_t **input, void **input_data)
+{
+ *input = NULL;
+ *input_data = NULL;
+ (void)video;
+
+ vita2d_init();
+ vita2d_set_clear_color(RGBA8(0x40, 0x40, 0x40, 0xFF));
+
+ return (void*)-1;
+}
+
+static bool vita2d_gfx_frame(void *data, const void *frame,
+ unsigned width, unsigned height, uint64_t frame_count,
+ unsigned pitch, const char *msg)
+{
+ (void)data;
+ (void)frame;
+ (void)width;
+ (void)height;
+ (void)pitch;
+ (void)msg;
+
+ vita2d_start_drawing();
+ vita2d_clear_screen();
+
+ vita2d_end_drawing();
+ vita2d_swap_buffers();
+
+ return true;
+}
+
+static void vita2d_gfx_set_nonblock_state(void *data, bool toggle)
+{
+ (void)data;
+ (void)toggle;
+}
+
+static bool vita2d_gfx_alive(void *data)
+{
+ (void)data;
+ return true;
+}
+
+static bool vita2d_gfx_focus(void *data)
+{
+ (void)data;
+ return true;
+}
+
+static bool vita2d_gfx_suppress_screensaver(void *data, bool enable)
+{
+ (void)data;
+ (void)enable;
+ return false;
+}
+
+static bool vita2d_gfx_has_windowed(void *data)
+{
+ (void)data;
+ return true;
+}
+
+static void vita2d_gfx_free(void *data)
+{
+ (void)data;
+
+ vita2d_fini();
+}
+
+static bool vita2d_gfx_set_shader(void *data,
+ enum rarch_shader_type type, const char *path)
+{
+ (void)data;
+ (void)type;
+ (void)path;
+
+ return false;
+}
+
+static void vita2d_gfx_set_rotation(void *data,
+ unsigned rotation)
+{
+ (void)data;
+ (void)rotation;
+}
+
+static void vita2d_gfx_viewport_info(void *data,
+ struct video_viewport *vp)
+{
+ (void)data;
+ (void)vp;
+}
+
+static bool vita2d_gfx_read_viewport(void *data, uint8_t *buffer)
+{
+ (void)data;
+ (void)buffer;
+
+ return true;
+}
+
+static void vita2d_gfx_get_poke_interface(void *data,
+ const video_poke_interface_t **iface)
+{
+ (void)data;
+ (void)iface;
+}
+
+video_driver_t video_vita2d = {
+ vita2d_gfx_init,
+ vita2d_gfx_frame,
+ vita2d_gfx_set_nonblock_state,
+ vita2d_gfx_alive,
+ vita2d_gfx_focus,
+ vita2d_gfx_suppress_screensaver,
+ vita2d_gfx_has_windowed,
+ vita2d_gfx_set_shader,
+ vita2d_gfx_free,
+ "vita2d",
+ NULL, /* set_viewport */
+ vita2d_gfx_set_rotation,
+ vita2d_gfx_viewport_info,
+ vita2d_gfx_read_viewport,
+ NULL, /* read_frame_raw */
+
+#ifdef HAVE_OVERLAY
+ NULL, /* overlay_interface */
+#endif
+ vita2d_gfx_get_poke_interface,
+};
diff --git a/gfx/video_driver.c b/gfx/video_driver.c
index 0522f3da11..4c57252df0 100644
--- a/gfx/video_driver.c
+++ b/gfx/video_driver.c
@@ -1,7 +1,7 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2015 - Daniel De Matteis
- *
+ *
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
@@ -70,8 +70,8 @@ static const video_driver_t *video_drivers[] = {
#if defined(HAVE_D3D)
&video_d3d,
#endif
-#ifdef SN_TARGET_PSP2
- &video_vita,
+#ifdef HAVE_VITA2D
+ &video_vita2d,
#endif
#ifdef PSP
&video_psp1,
@@ -233,7 +233,7 @@ void find_video_driver(void)
* video_driver_get_ptr:
* @drv : real video driver will be set to this.
*
- * Use this if you need the real video driver
+ * Use this if you need the real video driver
* and driver data pointers.
*
* Returns: video driver's userdata.
@@ -323,7 +323,7 @@ static void init_video_filter(enum retro_pixel_format colfmt)
unsigned width, height, pow2_x, pow2_y, maxsize;
struct retro_game_geometry *geom = NULL;
settings_t *settings = config_get_ptr();
- struct retro_system_av_info *av_info =
+ struct retro_system_av_info *av_info =
video_viewport_get_system_av_info();
deinit_video_filter();
@@ -360,7 +360,7 @@ static void init_video_filter(enum retro_pixel_format colfmt)
pow2_x = next_pow2(width);
pow2_y = next_pow2(height);
- maxsize = max(pow2_x, pow2_y);
+ maxsize = max(pow2_x, pow2_y);
video_state.filter.scale = maxsize / RARCH_SCALE_BASE;
video_state.filter.out_rgb32 = rarch_softfilter_get_output_format(
video_state.filter.filter) == RETRO_PIXEL_FORMAT_XRGB8888;
@@ -398,8 +398,8 @@ static void init_video_input(const input_driver_t *tmp)
if (!driver->input)
{
- /* This should never really happen as tmp (driver.input) is always
- * found before this in find_driver_input(), or we have aborted
+ /* This should never really happen as tmp (driver.input) is always
+ * found before this in find_driver_input(), or we have aborted
* in a similar fashion anyways. */
rarch_fail(1, "init_video_input()");
}
@@ -452,7 +452,7 @@ void init_video(void)
driver_t *driver = driver_get_ptr();
settings_t *settings = config_get_ptr();
rarch_system_info_t *system = rarch_system_info_get_ptr();
- struct retro_system_av_info *av_info =
+ struct retro_system_av_info *av_info =
video_viewport_get_system_av_info();
init_video_filter(video_state.pix_fmt);
@@ -478,7 +478,7 @@ void init_video(void)
if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM)
{
float default_aspect = aspectratio_lut[ASPECT_RATIO_CORE].value;
- aspectratio_lut[ASPECT_RATIO_CUSTOM].value =
+ aspectratio_lut[ASPECT_RATIO_CUSTOM].value =
(custom_vp->width && custom_vp->height) ?
(float)custom_vp->width / custom_vp->height : default_aspect;
}
@@ -496,7 +496,7 @@ void init_video(void)
if (settings->video.force_aspect)
{
/* Do rounding here to simplify integer scale correctness. */
- unsigned base_width =
+ unsigned base_width =
roundf(geom->base_height * video_driver_get_aspect_ratio());
width = roundf(base_width * settings->video.scale);
}
@@ -531,8 +531,8 @@ void init_video(void)
#endif
video.smooth = settings->video.smooth;
video.input_scale = scale;
- video.rgb32 = video_state.filter.filter ?
- video_state.filter.out_rgb32 :
+ video.rgb32 = video_state.filter.filter ?
+ video_state.filter.out_rgb32 :
(video_state.pix_fmt == RETRO_PIXEL_FORMAT_XRGB8888);
tmp = (const input_driver_t*)driver->input;
@@ -911,7 +911,7 @@ void video_monitor_adjust_system_rates(void)
{
float timing_skew;
const struct retro_system_timing *info = NULL;
- struct retro_system_av_info *av_info =
+ struct retro_system_av_info *av_info =
video_viewport_get_system_av_info();
settings_t *settings = config_get_ptr();
rarch_system_info_t *system = rarch_system_info_get_ptr();
@@ -1016,7 +1016,7 @@ bool video_monitor_fps_statistics(double *refresh_rate,
retro_time_t accum = 0, avg, accum_var = 0;
unsigned samples = 0;
settings_t *settings = config_get_ptr();
-
+
samples = min(MEASURE_FRAME_TIME_SAMPLES_COUNT,
video_state.frame_time_samples_count);
diff --git a/gfx/video_driver.h b/gfx/video_driver.h
index 7eef275889..e2843a22ee 100644
--- a/gfx/video_driver.h
+++ b/gfx/video_driver.h
@@ -1,7 +1,7 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2015 - Daniel De Matteis
- *
+ *
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
@@ -129,11 +129,11 @@ typedef struct video_poke_interface
typedef struct video_driver
{
/* Should the video driver act as an input driver as well?
- * The video initialization might preinitialize an input driver
- * to override the settings in case the video driver relies on
+ * The video initialization might preinitialize an input driver
+ * to override the settings in case the video driver relies on
* input driver for event handling. */
void *(*init)(const video_info_t *video, const input_driver_t **input,
- void **input_data);
+ void **input_data);
/* msg is for showing a message on the screen along with the video frame. */
bool (*frame)(void *data, const void *frame, unsigned width,
@@ -190,7 +190,7 @@ typedef struct video_driver
extern video_driver_t video_gl;
extern video_driver_t video_psp1;
-extern video_driver_t video_vita;
+extern video_driver_t video_vita2d;
extern video_driver_t video_ctr;
extern video_driver_t video_d3d;
extern video_driver_t video_gx;
@@ -250,7 +250,7 @@ void find_video_driver(void);
* video_driver_get_ptr:
* @drv : real video driver will be set to this.
*
- * Use this if you need the real video driver
+ * Use this if you need the real video driver
* and driver data pointers.
*
* Returns: video driver's userdata.
diff --git a/griffin/griffin.c b/griffin/griffin.c
index 952f706120..73bcd24204 100644
--- a/griffin/griffin.c
+++ b/griffin/griffin.c
@@ -236,6 +236,8 @@ VIDEO DRIVER
#include "../gfx/drivers/gx_gfx.c"
#elif defined(PSP)
#include "../gfx/drivers/psp1_gfx.c"
+#elif defined(HAVE_VITA2D)
+#include "../gfx/drivers/vita2d_gfx.c"
#elif defined(_3DS)
#include "../gfx/drivers/ctr_gfx.c"
#elif defined(XENON)