From b11620e1ebbc19937d675a48bdefc04c1b0b7421 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 28 Jun 2017 04:41:38 +0200 Subject: [PATCH] Add retro_timers.h/retro_math.h --- audio/drivers/alsa_qsa.c | 1 + audio/drivers/ctr_csnd_audio.c | 1 + audio/drivers/dsound.c | 1 + audio/drivers/openal.c | 1 + audio/drivers/sdl_audio.c | 1 + audio/librsound.c | 1 + cheevos/cheevos.c | 1 + .../libretro-net-retropad/net_retropad_core.c | 1 + frontend/drivers/platform_emscripten.c | 1 + frontend/drivers/platform_unix.c | 1 + frontend/drivers/platform_wiiu.c | 1 + frontend/frontend.c | 2 + gfx/drivers/ctr_gfx.c | 1 + gfx/drivers/d3d.cpp | 1 + gfx/drivers/psp1_gfx.c | 1 + gfx/drivers_font/ctr_font.c | 2 + gfx/drivers_font/gl_raster_font.c | 1 + .../d3d9_cg_renderchain.cpp | 1 + .../gl_legacy_renderchain.c | 1 + gfx/video_coord_array.c | 2 +- gfx/video_driver.c | 1 + input/connect/connect_wii.c | 1 + libretro-common/gfx/scaler/scaler_filter.c | 3 +- libretro-common/include/retro_math.h | 94 +++++++++++++ libretro-common/include/retro_miscellaneous.h | 129 ++---------------- libretro-common/include/retro_timers.h | 110 +++++++++++++++ libretro-common/net/net_compat.c | 1 + network/netplay/netplay_handshake.c | 1 + record/record_driver.c | 1 + retroarch.c | 1 + tasks/task_http.c | 1 + ui/drivers/ui_cocoa.m | 1 + ui/drivers/ui_cocoatouch.m | 1 + 33 files changed, 244 insertions(+), 124 deletions(-) create mode 100644 libretro-common/include/retro_math.h create mode 100644 libretro-common/include/retro_timers.h diff --git a/audio/drivers/alsa_qsa.c b/audio/drivers/alsa_qsa.c index ef0fbab51d..6fe075cfd9 100644 --- a/audio/drivers/alsa_qsa.c +++ b/audio/drivers/alsa_qsa.c @@ -17,6 +17,7 @@ #define ALSA_PCM_NEW_HW_PARAMS_API #define ALSA_PCM_NEW_SW_PARAMS_API #include +#include #include "../audio_driver.h" diff --git a/audio/drivers/ctr_csnd_audio.c b/audio/drivers/ctr_csnd_audio.c index 8e7bac27c6..4765cd7f5c 100644 --- a/audio/drivers/ctr_csnd_audio.c +++ b/audio/drivers/ctr_csnd_audio.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "../audio_driver.h" diff --git a/audio/drivers/dsound.c b/audio/drivers/dsound.c index 1af78d9c15..2f0acb88b1 100644 --- a/audio/drivers/dsound.c +++ b/audio/drivers/dsound.c @@ -31,6 +31,7 @@ #include #include +#include #include #include diff --git a/audio/drivers/openal.c b/audio/drivers/openal.c index fc94f78e29..69964f4225 100644 --- a/audio/drivers/openal.c +++ b/audio/drivers/openal.c @@ -31,6 +31,7 @@ #endif #include +#include #include "../audio_driver.h" #include "../../verbosity.h" diff --git a/audio/drivers/sdl_audio.c b/audio/drivers/sdl_audio.c index c2eed35feb..49703948a2 100644 --- a/audio/drivers/sdl_audio.c +++ b/audio/drivers/sdl_audio.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "../audio_driver.h" #include "../../verbosity.h" diff --git a/audio/librsound.c b/audio/librsound.c index 3898bd73b3..273fc13334 100644 --- a/audio/librsound.c +++ b/audio/librsound.c @@ -73,6 +73,7 @@ #include #include #include +#include /* **************************************************************************** diff --git a/cheevos/cheevos.c b/cheevos/cheevos.c index 5ef170ad27..1d95646b17 100644 --- a/cheevos/cheevos.c +++ b/cheevos/cheevos.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include diff --git a/cores/libretro-net-retropad/net_retropad_core.c b/cores/libretro-net-retropad/net_retropad_core.c index 012cc4d8a1..4962367861 100644 --- a/cores/libretro-net-retropad/net_retropad_core.c +++ b/cores/libretro-net-retropad/net_retropad_core.c @@ -22,6 +22,7 @@ #include #include +#include #include diff --git a/frontend/drivers/platform_emscripten.c b/frontend/drivers/platform_emscripten.c index 3337596773..b9a5c5b017 100644 --- a/frontend/drivers/platform_emscripten.c +++ b/frontend/drivers/platform_emscripten.c @@ -22,6 +22,7 @@ #include #include #include +#include #ifdef HAVE_CONFIG_H #include "../../config.h" diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c index 2fe9160d78..b53cf33e35 100644 --- a/frontend/drivers/platform_unix.c +++ b/frontend/drivers/platform_unix.c @@ -51,6 +51,7 @@ #include #include #include +#include #include "../frontend.h" #include "../frontend_driver.h" diff --git a/frontend/drivers/platform_wiiu.c b/frontend/drivers/platform_wiiu.c index 0b22736e8f..50323f295b 100644 --- a/frontend/drivers/platform_wiiu.c +++ b/frontend/drivers/platform_wiiu.c @@ -22,6 +22,7 @@ #include #include +#include #ifndef IS_SALAMANDER #include diff --git a/frontend/frontend.c b/frontend/frontend.c index c40f9381e4..b6dcca2cd2 100644 --- a/frontend/frontend.c +++ b/frontend/frontend.c @@ -22,6 +22,8 @@ #include "../config.h" #endif +#include + #ifdef HAVE_MENU #include "../menu/menu_driver.h" #endif diff --git a/gfx/drivers/ctr_gfx.c b/gfx/drivers/ctr_gfx.c index 5559c6d524..da134da326 100644 --- a/gfx/drivers/ctr_gfx.c +++ b/gfx/drivers/ctr_gfx.c @@ -20,6 +20,7 @@ #include <3ds.h> #include +#include #include #ifdef HAVE_CONFIG_H diff --git a/gfx/drivers/d3d.cpp b/gfx/drivers/d3d.cpp index 2911e82028..2dec2df5be 100644 --- a/gfx/drivers/d3d.cpp +++ b/gfx/drivers/d3d.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "d3d.h" #include "../video_coord_array.h" diff --git a/gfx/drivers/psp1_gfx.c b/gfx/drivers/psp1_gfx.c index 307bcf7b74..1789aea993 100644 --- a/gfx/drivers/psp1_gfx.c +++ b/gfx/drivers/psp1_gfx.c @@ -23,6 +23,7 @@ #include #include +#include #ifdef HAVE_CONFIG_H #include "../../config.h" diff --git a/gfx/drivers_font/ctr_font.c b/gfx/drivers_font/ctr_font.c index 6d83ee9105..ea3b1e28c5 100644 --- a/gfx/drivers_font/ctr_font.c +++ b/gfx/drivers_font/ctr_font.c @@ -21,6 +21,8 @@ #include #include <3ds.h> +#include + #include "../font_driver.h" #include "../video_driver.h" #include "../common/ctr_common.h" diff --git a/gfx/drivers_font/gl_raster_font.c b/gfx/drivers_font/gl_raster_font.c index 3dd76a260a..444e8a25b6 100644 --- a/gfx/drivers_font/gl_raster_font.c +++ b/gfx/drivers_font/gl_raster_font.c @@ -19,6 +19,7 @@ #include #include +#include #include "../common/gl_common.h" #include "../font_driver.h" diff --git a/gfx/drivers_renderchain/d3d9_cg_renderchain.cpp b/gfx/drivers_renderchain/d3d9_cg_renderchain.cpp index 6d49409214..d06a25a245 100644 --- a/gfx/drivers_renderchain/d3d9_cg_renderchain.cpp +++ b/gfx/drivers_renderchain/d3d9_cg_renderchain.cpp @@ -28,6 +28,7 @@ #include "../include/Cg/cgD3D9.h" #include +#include #include #include diff --git a/gfx/drivers_renderchain/gl_legacy_renderchain.c b/gfx/drivers_renderchain/gl_legacy_renderchain.c index 5fab3a743d..77cbf126db 100644 --- a/gfx/drivers_renderchain/gl_legacy_renderchain.c +++ b/gfx/drivers_renderchain/gl_legacy_renderchain.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include diff --git a/gfx/video_coord_array.c b/gfx/video_coord_array.c index 7369cfa279..f1ead1ed5c 100644 --- a/gfx/video_coord_array.c +++ b/gfx/video_coord_array.c @@ -17,7 +17,7 @@ #include #include -#include +#include #include "video_coord_array.h" diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 9e0824d12d..d420786bb7 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/input/connect/connect_wii.c b/input/connect/connect_wii.c index cb3243618c..dcf342a5f1 100644 --- a/input/connect/connect_wii.c +++ b/input/connect/connect_wii.c @@ -22,6 +22,7 @@ #include #include +#include #include "joypad_connection.h" diff --git a/libretro-common/gfx/scaler/scaler_filter.c b/libretro-common/gfx/scaler/scaler_filter.c index cfdc34c52c..147cca21b8 100644 --- a/libretro-common/gfx/scaler/scaler_filter.c +++ b/libretro-common/gfx/scaler/scaler_filter.c @@ -22,12 +22,11 @@ #include #include -#include #include #include -#include #include +#include #include #define FILTER_UNITY (1 << 14) diff --git a/libretro-common/include/retro_math.h b/libretro-common/include/retro_math.h new file mode 100644 index 0000000000..d1fd908e10 --- /dev/null +++ b/libretro-common/include/retro_math.h @@ -0,0 +1,94 @@ +/* Copyright (C) 2010-2017 The RetroArch team + * + * --------------------------------------------------------------------------------------- + * The following license statement only applies to this file (retro_math.h). + * --------------------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef _LIBRETRO_COMMON_MATH_H +#define _LIBRETRO_COMMON_MATH_H + +#include + +#if defined(_WIN32) && !defined(_XBOX) +#define WIN32_LEAN_AND_MEAN +#include +#elif defined(_WIN32) && defined(_XBOX) +#include +#endif + +#include + +#ifdef _MSC_VER +#include +#endif +#include + +#ifndef M_PI +#if !defined(_MSC_VER) && !defined(USE_MATH_DEFINES) +#define M_PI 3.14159265358979323846264338327 +#endif +#endif + +#ifndef MAX +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#endif + +#ifndef MIN +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif + +/** + * next_pow2: + * @v : initial value + * + * Get next power of 2 value based on initial value. + * + * Returns: next power of 2 value (derived from @v). + **/ +static INLINE uint32_t next_pow2(uint32_t v) +{ + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v++; + return v; +} + +/** + * prev_pow2: + * @v : initial value + * + * Get previous power of 2 value based on initial value. + * + * Returns: previous power of 2 value (derived from @v). + **/ +static INLINE uint32_t prev_pow2(uint32_t v) +{ + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + return v - (v >> 1); +} + +#endif diff --git a/libretro-common/include/retro_miscellaneous.h b/libretro-common/include/retro_miscellaneous.h index 66cbd45d97..2a1fbc2aa8 100644 --- a/libretro-common/include/retro_miscellaneous.h +++ b/libretro-common/include/retro_miscellaneous.h @@ -25,24 +25,6 @@ #include -#if defined(__CELLOS_LV2__) && !defined(__PSL1GHT__) -#include -#elif defined(XENON) -#include