Commit Graph

544 Commits

Author SHA1 Message Date
twinaphex
c25bc493ab Add RARCH_CMD_SHADER_DIR_INIT/RARCH_CMD_SHADER_DIR_DEINIT 2014-10-03 00:13:50 +02:00
aliaspider
6f15383b2c initialize frame_cache and texture_frame to a dummy frame in
init_video_input() to avoid undefined behavior in the init phase in case
they are used before being set.
2014-10-02 21:02:27 +01:00
twinaphex
53c7bf65ed Turn fixed-function vertex coord/matrix code into macros 2014-10-02 14:50:24 +02:00
twinaphex
3a2f3755ad Rename some files 2014-10-01 23:27:52 +02:00
twinaphex
dead11f182 Move driver_active variables over to driver global 2014-10-01 22:34:48 +02:00
twinaphex
0311480bc4 driver.c - Indent style nits 2014-10-01 13:32:41 +02:00
twinaphex
c016867b2b driver.c - declare variables at top 2014-10-01 13:04:58 +02:00
twinaphex
e58c9dc179 Move init_shader_dir/deinit_shader_dir to retroarch.c and make them
non-static functions
2014-10-01 12:49:21 +02:00
twinaphex
1a94f14e50 Move recording and resampler drivers to 'driver' global struct -
moving it outside of g_extern
2014-09-30 21:23:00 +02:00
Twinaphex
c37e1505ae Check if driver.frontend_ctx is not NULL in find_video_driver 2014-09-20 23:30:54 +02:00
Higor Eurípedes
b6dd4df368 (frontend) Add support for frontend specific video drivers 2014-09-15 16:48:55 -03:00
Higor Eurípedes
85cef84bd4 (driver.c) Add driver_video_resolve()
This function returns the real video driver data when threaded video is
in use.
2014-09-12 17:26:26 -03:00
Lioncash
4e0b25d0fc Remove some dead stores 2014-09-11 09:30:40 -04:00
Jean-André Santoni
5e433abf8b (GLUI) GL based RGUI display driver clone 2014-09-11 04:07:07 +02:00
twinaphex
e84db78571 Remove extra conditional for checking if use_float funcptr
points to anything
2014-09-09 22:31:37 +02:00
twinaphex
598421e7d7 Move resampler drivers to audio/resamplers 2014-09-09 21:54:41 +02:00
Lioncash
6b84ccdcef Make some functions static 2014-09-06 00:10:52 -04:00
twinaphex
ceb4e05e88 Cleanups - C-style comments, 80-char limit, etc 2014-09-02 04:43:31 +02:00
twinaphex
a44665bcae Refactor prev/next driver settings 2014-08-31 19:06:32 +02:00
twinaphex
e196f69234 (driver.c) Cleanups 2014-08-27 00:59:18 +02:00
twinaphex
31e7f1009d Refactor find_prev/find_next menu driver functions 2014-08-26 23:19:48 +02:00
twinaphex
d05d909373 Get rid of some duplicate get_prev/get_next functions 2014-08-26 23:11:35 +02:00
twinaphex
db396976ee Refactor find_prev_* / find_next_* functions 2014-08-26 22:26:23 +02:00
twinaphex
5668e1b89c Cleanups - remove extraneous else 2014-08-26 21:22:01 +02:00
twinaphex
7ce5ebb927 Refactor find_driver_index 2014-08-26 21:13:14 +02:00
twinaphex
623c02405d Refactor find_driver_index 2014-08-26 20:55:24 +02:00
twinaphex
e4629c87cb find_driver_index - cleanups 2014-08-26 20:41:39 +02:00
twinaphex
3cfe954b74 Combine all driver_index* functions 2014-08-26 20:32:48 +02:00
twinaphex
eb6ff437f3 Move all drivers to beginning of driver.c 2014-08-26 20:21:23 +02:00
twinaphex
a468d9e860 Remove unused menu_ctx_find_driver 2014-08-26 20:18:53 +02:00
twinaphex
4dea8caa6f (SoftFilter) Refactor most code associated to SoftFilter plugin - load .filt
files instead of the dynamic libraries directly. Options can be
set in the config file.

There's still a problem with config file options - will work this
out later.
2014-08-19 19:38:33 +02:00
twinaphex
278a758ba9 driver.c - declare variables at top of function 2014-08-16 19:07:21 +02:00
twinaphex
ba6d353498 Add RARCH_CMD_AUDIO_SET_BLOCKING_STATE/RARCH_CMD_AUDIO_SET_NONBLOCKING_STATE 2014-08-16 18:56:56 +02:00
twinaphex
2d4cd0a56e Add new cmd enums to rarch_main_command 2014-08-16 18:39:18 +02:00
twinaphex
823be1ce41 Get rid of more driver_funcs macros 2014-08-15 20:51:59 +02:00
Twinaphex
76ee895f24 Add fallback for find_location_driver 2014-08-15 18:38:02 +02:00
Twinaphex
ba91b2a8f3 Add fallback for find_camera_driver 2014-08-15 18:29:51 +02:00
Twinaphex
e6e96cc74d (OSK) Add fallback for find_osk_driver 2014-08-15 18:13:29 +02:00
twinaphex
33ddbeb149 Rewrite more driver_funcs macros 2014-08-14 20:13:56 +02:00
twinaphex
9992e33a36 Replace more driver_funcs macros 2014-08-14 19:56:45 +02:00
twinaphex
e851d279f8 Start getting rid of driver_funcs.h macros 2014-08-14 19:54:22 +02:00
twinaphex
0966d384d8 (OSK) Get rid of HAVE_OSK ifdef 2014-08-14 06:40:33 +02:00
twinaphex
88af50ab82 Add null drivers 2014-08-14 03:05:44 +02:00
twinaphex
e1a122843b Add null camera - remove HAVE_CAMERA ifdefs 2014-08-14 02:55:04 +02:00
twinaphex
027bd68bb3 Add location/null.c - get rid of HAVE_LOCATION ifdefs 2014-08-14 02:15:48 +02:00
twinaphex
38ec3146f3 Cleanup driver-contexts 2014-08-13 08:55:29 +02:00
twinaphex
fcbbf08109 (Recording) Bake in HAVE_RECORD implicitly 2014-08-12 05:28:43 +02:00
Higor Eurípedes
b6df19dffb (SDL*) Merge input drivers 2014-08-11 19:47:30 -03:00
twinaphex
9df8cda62c Refactor video_xscale/video_yscale into video_scale - scales
both X and Y according to same value
2014-08-11 23:57:57 +02:00
twinaphex
f910a68083 (GX) Ifdef g_settings.vwidth with GEKKO 2014-08-11 11:00:11 +02:00
Twinaphex
0998c5a203 Merge pull request #866 from SuperrSonic/master
Basic video encoder changer (viWidth), affects GC/Wii only
2014-08-11 10:57:01 +02:00
Higor Eurípedes
f53b67aab7 (SDL2) Use sdl_audio.c as audio driver 2014-08-10 19:54:49 -03:00
SuperrSonic
08d95723a9 added viwidth stuff 2014-08-10 16:44:17 -04:00
Higor Eurípedes
46beb117ef (SDL2) Add input driver 2014-08-10 15:00:21 -03:00
Higor Eurípedes
1ea504fcfe (SDL2) Added video driver 2014-08-10 13:39:31 -03:00
twinaphex
c564278809 Refactor record init/deinit 2014-08-02 14:17:20 +02:00
twinaphex
ea64ea465a driver.c - cleanups 2014-08-02 13:44:36 +02:00
twinaphex
e110bd90f5 Refactor DSP filter init/deinit 2014-08-02 13:40:38 +02:00
twinaphex
7d4b6b23c5 Refactor overlay init/free 2014-08-02 12:36:48 +02:00
twinaphex
d70693345c Refactor rarch_set_fullscreen calls to rarch_main_command 2014-08-02 03:56:19 +02:00
twinaphex
8082dfb9cc Refactor away rarch_reinit_drivers 2014-08-01 17:26:11 +02:00
twinaphex
65a64c1111 Backport Themaister - Move g_settings.audio.in_rate to g_extern.audio_data.
It's not a setting.
2014-07-23 07:15:57 +02:00
twinaphex
14dbd27873 (Driver) Move find_audio_driver outside of HAVE_THREADS in init_audio -
man, this whole audio/input/video initing/deiniting is still hacky as shit.
2014-07-18 19:58:05 +02:00
twinaphex
5b727b58b7 Make init_video_input more robust - just failing the entire program
like this instead of defaulting to sane defaults is unacceptable
2014-07-18 19:40:26 +02:00
Themaister
1c1c92f38a Drop misleading "fallback" path for input drivers.
The codepath cannot be hit anyways due to checks in find_input_driver().
2014-07-18 18:42:27 +02:00
Tobias Jakobi
9a38d77655 Remove the lima video driver
The driver is now superseded by the exynos video driver. Also limare
only works up to mali kernelspace driver version r3p2, which makes
the driver nonfunctional with the latest r4p0.
2014-07-17 14:55:56 +02:00
Tobias Jakobi
7efa9def07 Add exynos video driver
Documentation is provided in README-exynos.
2014-07-17 14:41:44 +02:00
twinaphex
039aec9019 Make the init input check more robust in init_video_input 2014-07-17 03:19:23 +02:00
Twinaphex
63cd0eb927 Make find_audio_driver/find_input_driver more robust 2014-07-17 03:17:46 +02:00
Twinaphex
a990d7e319 Make find_video_driver more robust in case of failure 2014-07-17 03:03:05 +02:00
Themaister
53bc4c08ed Check recording based on g_extern.rec and not g_extern.recording.
Fixes some segfaults where g_extern.recording and g_extern.rec mismatch.
Makes it possible to record without loading content directly from CLI.
2014-06-16 15:50:53 +02:00
twinaphex
966db762cf (Menu) More replacement of namespace prefix 'rgui' with 'menu' 2014-06-10 02:06:10 +02:00
twinaphex
d3301083ac Revert "Create public init_menu/uninit_menu"
This reverts commit 8f7e9edd88.
2014-06-06 00:51:56 +02:00
twinaphex
8f7e9edd88 Create public init_menu/uninit_menu 2014-06-05 20:26:21 +02:00
twinaphex
07db4ea692 Menu context destroy needs to be grouped in HAVE_MENU ifdef 2014-06-02 22:00:33 +02:00
twinaphex
8e04ac2f12 (PS3 image) Some more safety checks
(Driver) Safety check before invoking menu_context_destroy
2014-06-02 18:08:08 +02:00
Themaister
4449f071ed Create rarch_reinit_drivers().
Avoid rarch_set_fullscreen() calls which are non-intuitive.
2014-06-01 00:42:36 +02:00
Themaister
41e770eb0c Derp, call context_reset after init_menu. 2014-06-01 00:29:49 +02:00
Themaister
206ea8012f Don't completely reinit menu driver unless we're killing Rarch. 2014-05-31 23:54:07 +02:00
Themaister
f1b3252193 Don't init assets from init.
Rename to context_reset/context_destroy and let the driver init/uninit
step signal the menu when the context is going down and coming up.
2014-05-31 23:24:46 +02:00
twinaphex
b2d9c60613 (Menu) Don't pass menu data to menu_iterate
(Menu) Don't pass menu data to backend - postprocess
2014-05-30 20:53:10 +02:00
twinaphex
d267f27130 (Style nit) Rename 'init' to 'initialize' in comments
(Filter) Get rid of questionable ifdef for HAVE_FILTERS_BUILTIN for
filter init
2014-05-30 18:23:32 +02:00
twinaphex
af440bf545 (Menu) Menu now gets inited from driver.c instead of frontend.c
(Console) Better way to 'restart' instead of using the function
'restart' - call rarch_set_fullscreen instead. 'Restart' function
in driver interface can go now
(Menu) Menu now gets properly deinited/reinited when - say -
rarch_set_fullscreen is toggled or some other state change like this.
If init_assets function of menu_ctx_driver is implemented, this should
ensure all GL/D3D assets get 'cleaned up' prior to teardown of the video
driver, and properly reinited after the video driver is brought up again
2014-05-30 17:49:04 +02:00
twinaphex
6f2927cbac (Filter) rarch_init_failter - Filter init failure was wrongly reported
for HAVE_FILTERS_BUILTIN targets
2014-05-30 09:11:56 +02:00
twinaphex
985a5d9779 Remove unnecessary uninit_video_misc 2014-05-30 03:14:10 +02:00
twinaphex
a97b53f9f1 Reimplement driver.*_data_own variables so that they actually
work for a usecase now -

on Xbox, full teardown/re-initing of D3D context seems to be
error-prone - so by flagging driver.video_data_own to true inside
of the video_init function, we signal later on to the uninit_drivers
function that we DO NOT want to call the free function of this driver
and clean up the handle.

Instead, this driver should properly retain the handle by returning
the pre-existing handle when (for example) driver.video_data is
not NULL. You can see an example of this in xdk/xdk_d3d.cpp.

Overall still a quite clean solution and we will only use this in
extraordinary conditions (like this Xbox one I suppose) - full
teardown/setup will be the goal for all other platforms where we
can be certain that the state can be brought down and up entirely
during runtime without any problems.
2014-05-30 02:37:48 +02:00
twinaphex
346701fce8 (Xbox) Make hack less ugly 2014-05-30 02:01:29 +02:00
twinaphex
ffd68d4878 (Xbox) Seems that Xbox D3D does not free up all resources
for some reason and that they didn't anticipate full teardown/setup.
Not sure if I can confirm, but it has been hell so far trying to get
this to work. So, instead, implement a butt-ugly hack that forces
ownership over video/input lifetime state. Will properly refactor
the driver.*_data_own variables later so that this hack is less
ugly. Ideally we'd solve the teardown/setup problem but given this
is esoteric D3D gibberish - good luck debugging >_>
2014-05-30 01:48:55 +02:00
twinaphex
d70b8a0f15 Get rid of global driver init/uninit bullshit - we're going to do
console initing/deiniting properly once and for all
2014-05-28 22:09:42 +02:00
twinaphex
e1387a7b0b Take out image driver 2014-05-28 21:14:33 +02:00
twinaphex
7b4e735821 Cleanup global_init_drivers/global_uninit_drivers 2014-05-28 18:40:03 +02:00
twinaphex
b2d32fed3e Place find_image_driver above adjust_system_rates in init_drivers 2014-05-28 08:48:49 +02:00
twinaphex
db189e1094 init_drivers - if driver.image is NULL, set it 2014-05-28 08:44:38 +02:00
twinaphex
0ea15de950 (GL) Force fp_fbo to false for PS3 for now 2014-05-27 21:55:54 +02:00
twinaphex
8fc357647d (RARCH_CONSOLE) Add find_image_driver() to global_init_drivers 2014-05-27 19:05:04 +02:00
twinaphex
f788249c59 (Menu) Add get_default_menu function for default settings 2014-05-27 17:13:53 +02:00
twinaphex
c55693855b (Menu) Add find_menu_driver to global_init_drivers as well 2014-05-26 23:39:21 +02:00
twinaphex
17267ff316 (Menu) ifdef find_menu_driver in init_drivers_pre 2014-05-26 23:20:00 +02:00
twinaphex
e69b9c4f8a (Menu) Initialize menu driver during init_drivers_pre 2014-05-26 23:18:49 +02:00
twinaphex
619c96187b (Driver.c) driver.c was a big mess - split up into separate files
that get included in. Should probably be properly refactored later
on for all targets so that each included file becomes its own
object file
2014-05-26 19:01:40 +02:00
Themaister
c7eee695ce Remove references to XML shaders. 2014-05-25 23:40:14 +02:00
Themaister
addba80c3b Rewrite DSP plugin interface. 2014-05-20 12:28:33 +02:00
twinaphex
216a3e4ea7 (QNX) Change __BLACKBERRY_QNX__ define to __QNX__ 2014-05-20 02:48:11 +02:00
twinaphex
701a805737 (Playbook) Fixes Playbook build 2014-05-20 02:33:09 +02:00
twinaphex
b2b5c6daec (Image) Put image functions through abstract interface
(Image) Add image_driver to retroarch.cfg to specify image driver to use
(Menu)  Add Image Driver to Drivers section
2014-05-10 20:26:58 +02:00
twinaphex
d7c1ea5ece Revert "(RARCH_CONSOLE) Can finally get rid of global_driver_init"
Spoke too soon - we really need to refactor this mess so that
consoles, mobile and PC all follow the SAME basic initing/deiniting
structure. This kind of backwardsness is going to scale very, very
badly.

This reverts commit 540fad51a6.
2014-05-10 03:33:11 +02:00
Jean-André Santoni
22a5e07ead Merge branch 'master' of https://github.com/libretro/RetroArch 2014-05-09 16:24:36 +02:00
twinaphex
540fad51a6 (RARCH_CONSOLE) Can finally get rid of global_driver_init 2014-05-09 06:45:03 +02:00
Jean-André Santoni
7dda9f0b00 Lakka menu display and icons 2014-05-08 01:12:51 +07:00
twinaphex
cb53d65fc3 Compile with HAVE_BUILTIN_FILTERS for Android - and some C90 build
fixes for filters. Note/FIXME: We need to get rid of the complex.h
dependency in the equalizer plugin
2014-05-03 04:59:35 +02:00
twinaphex
08965cfa0d Change HAVE_FFMPEG ifdefs into HAVE_RECORD - recording will get
a proper interface soon so there can be multiple implementations
instead of just ffmpeg
2014-05-03 00:21:07 +02:00
twinaphex
f9cff5b00d Move extern references to built-in filters to driver.h 2014-04-30 02:38:13 +02:00
twinaphex
8321506b39 (MSVC) Build fixes 2014-04-29 23:02:07 +02:00
twinaphex
8c79314066 DSP Filters work now on non-HAVEDYLIB targets 2014-04-29 22:12:35 +02:00
twinaphex
cdc60da07f (DSP Filters) Add code for HAVE_BUILTIN_FILTERS 2014-04-29 21:56:50 +02:00
twinaphex
1bf9a43db6 (DSP Filters) Add SIMD detection to DSP Filter API 2014-04-29 18:38:23 +02:00
twinaphex
669ebbabf6 (DSP filters) Bump up ABI of DSP Filter API to version 6 - make it
more like SoftFilters API
2014-04-29 18:24:49 +02:00
twinaphex
e2eb36ce22 rarch_init_dsp_filter and rarch_deinit_dsp_filter now get called
by non-HAVE_DYLIB targets
2014-04-28 06:52:01 +02:00
twinaphex
6f13028aba (Audio DSP) Make it no longer dependent on HAVE_DYLIB being
defined
2014-04-28 06:45:50 +02:00
twinaphex
8a77674efc Cleanup rarch_deinit_dsp_filter 2014-04-28 06:35:40 +02:00
twinaphex
9f3ffa077d (Menu) Add DSP filter options 2014-04-27 18:15:41 +02:00
twinaphex
8d6a7dbe1f (Console) Bakes in filters now for ifndef HAVE_DYLIB targets 2014-04-16 03:33:10 +02:00
twinaphex
45c917afa4 Compile in filters for console ports (HAVE_DYLIB not defined in
Griffin)
2014-04-16 02:09:09 +02:00
Themaister
d0a6f45565 Use modified width/height as filter buffer size.
Fixes scale2x segfault.
2014-04-15 19:36:41 +02:00
Themaister
4913683462 Small filter fixes. 2014-04-15 12:22:01 +02:00
twinaphex
b01754e63b rarch_init_filter - pass color format as param instead of a bool indicating
if color format is of 32bit color
2014-04-15 05:13:56 +02:00
Themaister
4b97de0c9e Replace filter cruft with new stuff. 2014-04-15 00:03:55 +02:00
twinaphex
552c0ab495 use public scope for init_filter and deinit_filter 2014-04-13 18:29:57 +02:00
twinaphex
e779681528 Add Privacy Options 2014-04-06 22:59:16 +02:00
Themaister
ab2040a100 Avoid some confusing opaqueness.
First argument of menu_ctx_init_first must always be const menu_ctx_driver_t**.
2014-04-01 17:42:00 +02:00
twinaphex
aadb940da8 Move menu_context.c code into driver.c 2014-04-01 04:12:41 +02:00
twinaphex
3f3af129de (XDK) Build fix #2 2014-03-07 20:21:12 +01:00
Themaister
d98af82baf Honor ident param. 2014-02-25 09:56:39 +01:00
Themaister
21c383f77a Add initial SET_SYSTEM_AV_INFO environ. 2014-02-20 22:48:31 +01:00
aliaspider
650adef8da (PSP) added audio support 2014-02-17 14:26:03 +01:00
twinaphex
ff6bd795cd (PSP) Video driver was not hooked up 2014-02-12 17:18:45 +01:00
Themaister
4653174cf5 Don't reset volume settings on driver reinit. 2014-02-08 16:24:21 +01:00
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