Commit Graph

407 Commits

Author SHA1 Message Date
Tobias Jakobi
7cdb08b804 Add lima video driver
Documentation is provided in README-lima.
2014-01-26 04:43:00 +01:00
twinaphex
f7915ab55e Change param for get_sensor_input 2014-01-20 14:59:06 +01:00
twinaphex
460670f074 Move sensor value reading to retro_sensor_interface 2014-01-20 14:52:53 +01:00
twinaphex
0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
twinaphex
17af6a0465 (D3D) Rename video_d3d9 to video_d3d 2014-01-01 01:09:31 +01:00
Themaister
65aafdc2f4 Fix warning. 2013-12-24 23:38:25 +01:00
Themaister
8a81ee856c Some Win32 fixes. 2013-12-24 14:10:18 +01:00
Toad King
ccc797cadb don't reset keybinds on driver init 2013-12-23 20:05:09 -05:00
Themaister
188a233ec8 Add lifetime status callbacks to location interface. 2013-12-20 08:44:38 +01:00
twinaphex
da6e360e49 (Location) Implement horizontal and vertical accuracy - Android's
location API only provides horizontal API but iOS/OSX API supports
both horizontal and vertical. Maybe consider implementing vertical
accuracy for Android by hand later
2013-12-19 17:36:27 +01:00
twinaphex
2f1327bf3e (Apple)location driver is baked in now for OSX too 2013-12-19 17:10:03 +01:00
twinaphex
f0aa0f99fd (Location) Reimplement some parts of the location interface - get_latitude
and get_longitude are gone now in place of get_position. Basically,
from C land we basically do a poll-style queries, but on the
implementation side (ie. Android/iOS/OSX) - they all use callback-based
location updates. So we simply check in the poll function (get_position)
whether position has changed, and if so, update the pointer values and
return true - if not, set them to 0 and return false.
2013-12-19 15:47:47 +01:00
Themaister
855cb54def Some cleanups to location interface.
Avoid three redundant fields in struct.
Use unsigned instead of int for argument for API consistency.
2013-12-19 10:15:55 +01:00
twinaphex
031a9d05be (Location) Environ GET_LOCATION_INTERFACE should be implemented now 2013-12-19 05:51:25 +01:00
twinaphex
e983aa4c35 (Location) Implement stub Android location driver - will still need
a couple of functions filled in
2013-12-19 03:37:26 +01:00
twinaphex
ccd2246331 (Apple) Build fixes 2013-12-19 03:16:13 +01:00
twinaphex
dfe42f4026 (Location) Add g_extern.system handle to retro_location_callback 2013-12-19 02:54:46 +01:00
twinaphex
f29d590973 (Apple) Add location driver for Apple to location_drivers array 2013-12-19 02:41:48 +01:00
twinaphex
5f33a6b373 (Apple) Implement HAVE_LOCATION for OSX/iOS 2013-12-19 02:39:38 +01:00
twinaphex
742f85eafc Add HAVE_LOCATION - still need to write frontend drivers now for
location
2013-12-19 01:51:51 +01:00
twinaphex
38d785984f Add RETRO_ENVIRONMENT_GET_PERF_INTERFACE to libretro.h 2013-12-17 19:10:40 +01:00
Themaister
c21310b261 Start adding udev input driver. 2013-12-07 14:13:40 +01:00
twinaphex
cc7cda7252 (iOS) Skeleton camera driver 2013-12-01 14:41:18 +01:00
twinaphex
de1bae69c9 (Android) Add skeleton camera driver 2013-11-17 19:47:37 +01:00
Themaister
271939875a Update libretro camera API.
Need initialized/deinitialized callbacks to properly
handle driver reinit.
2013-11-16 17:54:18 +01:00
Squarepusher
4ab77e8405 Merge pull request #385 from libretro/webcam-test
Emscripten webcam driver
2013-11-13 01:25:19 -08:00
ToadKing
aaff8f2648 move prototype camera interface to libretro interface - GL texture only for now 2013-11-12 19:48:36 -05:00
twinaphex
aec049c803 (OSK) Refactor - (Onscreen Keyboard) - PS3-only backend for now -
I will make an overlay-based backend soon too for all other platforms
2013-11-13 00:27:31 +01:00
Themaister
dfff94e5a0 Rework camera interface.
Hook up a more proper interface for libretro. Still very experimental.
2013-11-12 16:02:26 +01:00
twinaphex
6a9bc1bfa4 (Menu) Show camera driver inside 'Drivers' category 2013-11-11 15:39:46 +01:00
twinaphex
f8d44c6e60 (Camera) Add camera driver init/deinit when HAVE_CAMERA is defined 2013-11-11 14:26:57 +01:00
Themaister
ae07e75e7c Hook up sensors API in libretro.
There are still many FIXMEs to be resolved before the interface
can lose its experimental status.
2013-11-03 12:06:14 +01:00
Themaister
970c973540 global_uninit_drivers() should come after main deinit.
Actually free video driver in global_uninit.
2013-11-03 10:42:05 +01:00
twinaphex
aabbf835fc global_init_drivers - remove obsolete comment 2013-11-02 05:30:05 +01:00
twinaphex
71a23ac18e Slim down global_init_drivers - we can now get rid of the 'start'
function
2013-11-01 21:10:42 +01:00
twinaphex
727dc76db8 (Console/Android) Init input driver from context driver/graphics
driver from now on - just like PC - input driver initing can be
hoisted out of global_drivers_init that way
2013-11-01 16:33:32 +01:00
Themaister
f2e85f9b9b Clean up driver prev/next/find a bit. 2013-10-30 23:37:46 +01:00
twinaphex
aab3f93f56 Fix driver next/previous switching 2013-10-30 17:50:43 +01:00
twinaphex
b2d1fe66b3 (RGUI) Can now change drivers from RGUI - you need to restart
for changes to take effect
2013-10-30 17:06:50 +01:00
Themaister
9be4fe705b viewport_info can be NULL. Check for this. 2013-10-26 18:51:00 +02:00
Themaister
fc5ba8f79a Use configured aspect ratio to set windowed size.
Fixes some cases where core aspect is used and aspect_ratio_auto isn't set.
2013-10-26 18:31:48 +02:00
twinaphex
d2c87e3039 Convert most C99-style for loop initial declarations to C89-compliant
ones
2013-10-22 15:08:17 +02:00
Themaister
d215ec4ea8 Fix potential bug when HW render is used.
If e.g. D3D9 driver was used find_video_driver() would override GL
driver on reinit. Avoid this by doing this logic in find_video_driver()
instead.
2013-10-07 16:26:06 +02:00
twinaphex
c052b2fb9c (RARCH_CONSOLE) Some cleanups 2013-10-06 23:14:41 +02:00
Themaister
3b97cdfdac Add threaded video option. 2013-10-06 17:23:49 +02:00
twinaphex
0798431175 (360) Fix build. 360 port works again 2013-09-29 20:49:04 +02:00
Themaister
ae0d1ff282 Fix bug with use_float.
If audio driver changed from pulse to alsa via config change,
audio would be broken as use_float would be set to true.
2013-09-27 00:19:03 +02:00
Themaister
c7db4aff64 Support variable strength for rumble motors. 2013-09-26 12:55:05 +02:00
Themaister
8b1ac3bc9e Add rumble tests to libretro-test. 2013-09-25 23:58:02 +02:00
Themaister
a01ef18f80 Add RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE. 2013-09-25 23:21:32 +02:00
Themaister
841d8fa8e1 Add video_rotation.
Replaces g_extern.console.screen.orientation.
Rotation semantics have slightly changed to be more composable.
The rotation is now video_rotation + rotation set by cores themselves
(if allowed).

The config is now also saved properly.
2013-09-22 11:45:04 +02:00
Themaister
38ec55573c Rework SET_AUDIO_CALLBACK.
When disabling audio and/or muting, the core has no way
of knowing this, causing potential issues in a threaded mixer.

This environ is not used by any public core to my knowledge so the old
API has been removed and replaced with a change to environment number
(20 -> 22).
2013-09-14 17:28:09 +02:00
Hans-Kristian Arntzen
7d90ff4011 Merge pull request #303 from libretro/emscripten
Emscripten/Javascript port
2013-09-11 01:01:29 -07:00
ToadKing
a09dda3a9d [EMSCRIPTEN] add custom input driver, removes SDL dependency + adds mouse support 2013-09-10 20:21:48 -04:00
meancoot
149a0f37d0 (Overlay Analog) Coding style fixes 2013-09-05 18:19:07 -04:00
ToadKing
04be8cbee2 new audio core, RWebAudio. Glitchy, but works well, even with requestAnimationFrame callbacks 2013-08-28 00:03:25 -04:00
ToadKing
87844cc486 Merge branch 'master' of https://github.com/libretro/RetroArch into emscripten
Conflicts:
	gfx/gl.c
2013-08-25 15:37:16 -04:00
Themaister
e8271031b6 Stop/start audio driver on mute. 2013-08-11 01:09:10 +02:00
Themaister
a543b5da74 Fix threaded audio race conditions. 2013-08-11 01:07:59 +02:00
Themaister
f4a23115c2 Begin adding AUDIO_CALLBACK/FRAME_TIME_CALLBACK. 2013-08-11 01:05:33 +02:00
Themaister
3dd5cd39c4 Add cache_context/destroy notification. 2013-08-11 00:55:05 +02:00
Themaister
b33af9d6b6 Fix some context_reset() calls being missed. 2013-08-11 00:53:46 +02:00
Themaister
e18af77412 Add path to cache GL context on reinit.
If successful, can avoid libretro GL reset context callback being
called.
2013-08-11 00:53:19 +02:00
Themaister
b268c2957c Don't spam errors when in RGUI and threaded video. 2013-08-10 23:58:56 +02:00
twinaphex
f7622d3294 Add OMAP graphics driver (Tobias Jakobi) 2013-07-28 18:37:31 +02:00
ToadKing
49398698b5 initial emscripten port (no audio/files, input broken) 2013-07-17 20:26:01 -04:00
meancoot
78acc25931 (Apple) Add keyboard input support for OSX 2013-07-07 16:01:58 -04:00
twinaphex
308e64094b (ALSA QSA) Add preliminary ALSA QSA driver based on CatalystG's
audio driver for PCSX ReARMed - still broken - exits at 'Error:
Channel Parameter Error - no such process'
2013-06-21 18:56:39 +02:00
Themaister
d5a8d3bfb0 Can update video refresh rate from RGUI. 2013-06-07 14:34:09 +02:00
Themaister
b0b6e65ab6 Add monitor refresh rate monitor in RGUI.
Doesn't support updating refresh rate setting yet.
2013-06-07 14:10:42 +02:00
Themaister
cee493fb18 Make integer scale robust against rounding errors. 2013-06-05 21:48:52 +02:00
Themaister
ac6c576d29 Drop dependency on delay_timer in RGUI. 2013-04-26 23:52:29 +02:00
Themaister
9a3875d99a Don't hardcode new delay timers in RGUI.
Delay timers are reset in driver.c.
2013-04-26 20:16:58 +02:00
ToadKing
73e4adf8dc adjust delay timers when resetting frame count 2013-04-26 13:12:45 -04:00
twinaphex
34619412bc (RARCH_CONSOLE) Get rid of video_stop_func 2013-04-24 16:08:18 +02:00
Themaister
3c31d6118a Fix video_poke check causing SDL crash. 2013-04-21 23:17:34 +02:00
Themaister
be01a0ea59 Refactor aspect ratio handling.
Rework aspect ratio handling in RGUI.
Custom viewports work on PC. Ensure that aspect_ratio_idx persist
through reentrancy. Change ASPECT_RATIO_AUTO to ASPECT_RATIO_SQUARE to
better signal that it's the square pixel option.

Add ASPECT_RATIO_CONFIG as an option to use config file defined aspect
ratio.
2013-04-20 10:56:04 +02:00
Themaister
db183b5d97 Fix shader dir crash if folder doesn't exist. 2013-04-16 12:01:50 +02:00
Themaister
c7c952113a Reset frame_counter on driver reinit.
Avoids "Unnamed Window" for 3-4 secs on restart.
2013-04-16 00:57:46 +02:00
Themaister
c9fed3c6e9 More stringent pointer checking. 2013-04-14 12:24:16 +02:00
Themaister
36ea8f9cf6 Fix logic bug in driver_set_nonblock_state. 2013-04-14 11:52:15 +02:00
Themaister
f968ee6527 Refactor nonblock states.
Preserve nonblock state better across reinits, etc.
Try to keep vsync in RGUI.
2013-04-14 00:56:55 +02:00
Themaister
8fee69776f Disable threaded driver with HW render.
Won't work so simply.
2013-03-30 21:20:26 +01:00
OV2
4c4bbf3cf0 Fix build without HAVE_FBO 2013-03-30 14:48:33 +01:00
Themaister
4bcc566afb Fix some possible segfaults with HW render. 2013-03-28 12:27:40 +01:00
Themaister
1cececac18 Add get_proc_address.
Render something "real" in GL.
2013-03-28 01:11:32 +01:00
Themaister
af40f3e9b8 Add initial GL direct rendering test. 2013-03-27 16:15:15 +01:00
CatalystG
1e58421c84 (BlackBerry) Get input overlay to show when booting to RGUI 2013-03-24 20:42:09 -04:00
twinaphex
82329cf097 (Blackberry) Starts up in RGUI mode now - should (hopefully) allow
for dynamic changing of libretro core and selection of ROM instead
of hardcoded paths.
2013-03-24 01:00:00 +01:00
CatalystG
be9a8e63f4 Add input driver for QNX. Copy null driver for now.
Conflicts:
	griffin/griffin.c
2013-03-19 19:26:36 -04:00
Themaister
51b5a2df5c Refactor aspect_ratio member.
Mutate in g_extern.system.aspect_ratio to avoid
getting wrong aspect ratio on reentrancy.
2013-03-17 22:05:15 +01:00
twinaphex
f028a8555e Revert "Move set_keybinds autoconfiguration (that is done on every console"
This reverts commit c26653fca8.
2013-03-16 17:51:37 +01:00
twinaphex
b59c262971 Revert "Move console 'set default binds' and 'set analog stick' default"
This reverts commit 5f2a808042.
2013-03-16 17:51:00 +01:00
twinaphex
5f2a808042 Move console 'set default binds' and 'set analog stick' default
set_keybindings to global_init_drivers
2013-03-16 17:44:24 +01:00
twinaphex
c26653fca8 Move set_keybinds autoconfiguration (that is done on every console
port) to driver.c - reducing lots of duplicate code
2013-03-16 17:24:24 +01:00
twinaphex
3bc487be87 Merge branch 'ios' of git://github.com/meancoot/RetroArch 2013-03-15 20:05:15 +01:00
twinaphex
24a4618f88 (Minizip) Don't go through ioapi's function pointers - negates
dependency on ioapi.c
(driver.c) ifdef start/stop() calls with RARCH_CONSOLE for now
2013-03-13 05:06:26 +01:00
twinaphex
c28bb3a3fd Move init_console_drivers and uninit_console_drivers to driver.c
and rename them global_init_drivers and global_unit_drivers -
we'll need this for Blackberry, starting RetroArch with RGUI
at startup AND consoles
2013-03-13 04:16:56 +01:00
meancoot
9fadca2a54 Merge branch 'master' of https://github.com/Themaister/RetroArch into ios 2013-03-09 20:09:32 -05:00
Themaister
e1a545b695 Explicitly clear out poke interface to NULL. 2013-03-10 01:20:16 +01:00
Themaister
2681f14032 Add video_poke_interface_t. 2013-03-10 01:17:17 +01:00
meancoot
06bb6b7840 Merge branch 'master' of https://github.com/Themaister/RetroArch into ios 2013-02-21 22:18:14 -05:00
Themaister
76bf41188a Add video_threaded option to Android. 2013-02-17 00:26:17 +01:00
Themaister
843d079002 Begin adding threaded video driver wrapper. 2013-02-16 02:48:08 +01:00
meancoot
5d139b185b Merge branch 'master' of https://github.com/Themaister/RetroArch into ios 2013-02-15 18:54:57 -05:00
Themaister
11d919b9e8 Fix downsampling for SINC. 2013-02-13 21:55:58 +01:00
meancoot
19fb2fe8f4 Merge branch 'master' of https://github.com/Themaister/RetroArch into ios 2013-02-11 17:13:31 -05:00
Themaister
5632836446 Report how many frames is needed to measure FPS. 2013-02-10 14:34:03 +01:00
Themaister
3b5eedeab5 Measure frame times at frame granularity. 2013-02-10 01:42:56 +01:00
Themaister
cb1c3b5943 Add very specific debug logging for FPS measurements. 2013-02-10 00:02:18 +01:00
Themaister
0c460c524d Disregard first measurement for statistics. 2013-02-09 23:26:24 +01:00
Themaister
d33d2e9f0c Make resamplers more modular. 2013-02-08 11:49:51 +01:00
meancoot
7e4e028fc8 ios: Add a simple input driver draft; tracks only one touch for now. 2013-02-06 18:23:11 -05:00
Themaister
1df86a722a Rework FPS measurement. 2013-02-05 12:51:12 +01:00
Themaister
27d57b789a Add basic FPS measurement routines. 2013-02-04 21:46:56 +01:00
Themaister
7ab8eaec02 Use NEON conditionally for sample conversions. 2013-01-24 18:37:42 +01:00
Themaister
019959a012 Add audio buffer statistics measurement. 2013-01-18 10:38:43 +01:00
twinaphex
1b398a1941 (PSP) comment out non-working video driver for now - use null video
for now
2013-01-10 04:22:42 +01:00
twinaphex
589b5eefdb (360) 360 audio driver now goes through the same Xaudio driver
as PC
2013-01-09 22:04:28 +01:00
twinaphex
403a087926 Null drivers have to be explicitly compiled in now -
otherwise they are ommitted
2013-01-09 05:54:48 +01:00
Themaister
31dc256e19 Do not allow audio to be initialized twice. 2013-01-08 13:23:15 +01:00
Themaister
235244e438 Use safer checking when dealing with FP. 2013-01-08 12:42:28 +01:00
ToadKing
1dc08b9a6d (GX) work with new console code 2013-01-07 23:48:21 -05:00
twinaphex
c76ae2a8d1 (RARCH_CONSOLE) Use init_drivers_pre once at startup of console
ports - use driver.video, driver.input as much as possible from
then instead of explicit platform-specific drivers
2013-01-07 18:18:44 +01:00
twinaphex
9251eebe13 (RARCH_CONSOLE) Make find_video_driver public in scope and use
it in console ports
2013-01-07 17:48:45 +01:00
twinaphex
1cae4de653 (Android) More elegant way of setting refresh rate 2013-01-05 06:02:02 +01:00
ToadKing
fd0bb1b3ee make alsathread a seperate audio driver 2013-01-04 14:58:34 -05:00
Themaister
276b588217 Add custom xml parser. Use as fallback. 2013-01-02 15:18:42 +01:00
Themaister
0b4cf2d053 Update license headers to 2013. 2013-01-01 01:41:15 +01:00
Themaister
e3378c219c Use crude ref-counting for driver handles. 2012-12-25 23:18:19 +01:00
Themaister
e4e0d9c72d Reset driver.* handles on driver reinit. 2012-12-25 00:01:06 +01:00
twinaphex
e8a57f21cd (Android) Fix - restore state functionality broke again due to
'refactor' in driver.c - this does not work for re-entrancy - please
consult with me
2012-12-24 18:06:51 +01:00
Themaister
225647d0e3 Add public function to set refresh rate of monitor. 2012-12-23 19:05:20 +01:00
Themaister
35bf5c82c1 Make OVERLAY optional. 2012-12-23 18:39:01 +01:00
Themaister
9056946079 Merge branch 'master' into overlay 2012-12-22 11:38:18 +01:00
Themaister
6bb2349833 Kill off external driver plug interfaces.
These are too much work to maintain, and aren't really all
that useful.
2012-12-22 11:37:15 +01:00
Themaister
ca9f081d27 Make input overlay configurable. 2012-12-20 20:23:53 +01:00
Themaister
a1fd01dbc6 Add some TODOs for overlay. 2012-12-20 15:53:09 +01:00
Themaister
47a98ef205 Make overlay polling completely independent. 2012-12-20 15:33:54 +01:00
twinaphex
a697b562f6 (PSP2) Rename to Vita 2012-11-26 03:16:20 +01:00
Themaister
f6e2c190ad Fix memory leak on consoles. 2012-11-23 22:46:36 +01:00
twinaphex
728b775905 (PSP1) Add preliminary PSP1 video driver 2012-11-23 05:20:05 +01:00
twinaphex
3b6fffa9f9 (PSP1/PSP2) Refactor psp_input.c - should now work for both PSP1
and PSP2
2012-11-23 02:40:03 +01:00
twinaphex
c837e1101d (PSP2/Griffin) Add video driver hooks 2012-11-22 23:32:42 +01:00
twinaphex
f278bc7f55 (PSP2) Add input driver 2012-11-22 18:37:10 +01:00
Themaister
91edc8ff49 Add volume control.
It imposes no performance loss as it is performed
during s16->float conversion.

It is however grouped together with check_mute.
2012-11-03 14:15:03 +01:00
Themaister
f9693f7ea2 ARRAY_SIZE to simplify some for-loops. 2012-10-26 23:15:34 +02:00
Themaister
e53dd431b4 Begin merging D3D9 driver. 2012-10-26 22:18:26 +02:00
Themaister
a79ca54bc7 Fix CXX_BUILD. 2012-10-21 23:24:25 +02:00
Themaister
668ff7687e Let CPU filters work with any format. 2012-10-21 22:59:13 +02:00