Commit Graph

2873 Commits

Author SHA1 Message Date
twinaphex 26bb0105c0 (Vita) Buildfix 2020-03-12 20:54:38 +01:00
jdgleaver 086c68bca7 Enable widget persistence across drivers_init()/driver_uninit() events 2020-03-11 11:47:13 +00:00
twinaphex c4dfa1e12a (Gfx drivers) Cleanups 2020-03-10 19:52:05 +01:00
twinaphex ae18fc808d Cleanups 2020-03-10 19:32:21 +01:00
twinaphex 92b09a9f60 (Video layout) Get rid of video_frame_info dependency 2020-03-10 19:10:02 +01:00
twinaphex f4c5036c3c Get rid of video_frame_info dep for fonts 2020-03-10 03:24:59 +01:00
Twinaphex 783f16b198 Updates 2020-03-10 02:48:01 +01:00
Twinaphex dde5f67962 Revert "(Metal raster font) remove video_frame_info dep"
This reverts commit f2df63e246.
2020-03-10 02:07:10 +01:00
twinaphex f2df63e246 (Metal raster font) remove video_frame_info dep 2020-03-10 02:02:19 +01:00
twinaphex 083a0453c6 (PS2) Buildfix 2020-03-10 01:07:29 +01:00
twinaphex 867bdad010 Get rid of unimplemented FPGA font driver 2020-03-09 22:13:17 +01:00
twinaphex a395bf9355 (Drivers font) Start getting rid of video_frame_info dependency 2020-03-09 21:56:03 +01:00
twinaphex 4e6f26d2e4 (Video drivers) Cleanups 2020-03-09 16:24:20 +01:00
twinaphex b7da58b40b (Gfx) Video driver cleanups 2020-03-09 16:15:53 +01:00
twinaphex 17bb6f7354 (D3D10) Cleanups 2020-03-09 15:55:37 +01:00
twinaphex 68678987c4 (Vulkan) Cleanups 2020-03-09 15:48:15 +01:00
twinaphex cd152399a3 (GL) Cleanups 2020-03-09 15:40:14 +01:00
twinaphex ee2f25b1dc (Gfx drivers) Cleanups 2020-03-09 05:18:02 +01:00
twinaphex 874510152e (drivers_display) Get rid of video_frame_info argument for
get_default_mvp
2020-03-08 19:59:03 +01:00
twinaphex 3e706fe5b2 (D3D9 renderchain) Take out video_frame_info dependencies 2020-03-08 19:03:57 +01:00
twinaphex c32cb51755 Cleanups 2020-03-08 01:45:29 +01:00
twinaphex f0bf2df92f Get rid of stale PERF_START/PERF_STOP macros in d3d files 2020-03-07 23:16:25 +01:00
twinaphex 4c92d43fe2 (Gfx drivers) More cleanups 2020-03-07 19:54:58 +01:00
twinaphex 9e31c2de34 Remove this for now until this gets reintroduced in some way 2020-03-07 19:34:24 +01:00
twinaphex 83ac24e7f1 (VGA) Move static global variables to struct 2020-03-07 19:33:03 +01:00
twinaphex 3aa8afd60d (gfx/drivers) Further cleanups 2020-03-07 18:05:50 +01:00
twinaphex 1aa95f6cc4 (GX) Cleanups 2020-03-07 17:53:47 +01:00
twinaphex daea169e5d (GL1) Move static global variables into struct 2020-03-07 17:47:26 +01:00
twinaphex b1337d0a21 (GL) Move shared_context_use into struct 2020-03-07 17:34:35 +01:00
twinaphex 8ec6447b18 (FPGA) Move regOp to struct too 2020-03-07 17:30:56 +01:00
twinaphex 788ae60d12 (FPGA) Put static global variables into struct 2020-03-07 17:28:42 +01:00
twinaphex 3e35fb8672 (D3D8/D3D9) Move static global to struct 2020-03-07 17:04:06 +01:00
twinaphex d63daacdf9 (GDI) Put gdi_menu_frame into struct 2020-03-07 16:50:25 +01:00
twinaphex efe72dea94 (Caca) Put everything into the struct 2020-03-07 16:42:12 +01:00
twinaphex a7dd320653 (CACA) Cleanups 2020-03-07 16:34:12 +01:00
twinaphex 203b4d7f80 (GDI) Move these variables to struct 2020-03-07 16:31:04 +01:00
twinaphex 2b0164f551 (GDI) Get rid of gdi_video_width static globals 2020-03-07 16:23:34 +01:00
twinaphex bdc31234d5 (Caca) Move caca global state to struct 2020-03-07 06:03:32 +01:00
twinaphex 267800abaa (GL) Start reducing dependency on video_frame_info 2020-03-07 00:58:06 +01:00
twinaphex e20151a048 Get rid of video_info struct for swap_buffers too 2020-03-06 22:29:51 +01:00
twinaphex 68664fdf1d update_title - we don't need video_info 2020-03-06 22:11:44 +01:00
twinaphex 4aae293e3d Remove is_shutdown from check_window 2020-03-06 20:29:31 +01:00
twinaphex bd5f151077 Settings cleanups 2020-03-06 02:52:21 +01:00
twinaphex 6fd784375a Update 2020-03-06 02:25:28 +01:00
twinaphex 534f09373e Get rid of video_driver_height dependency 2020-03-05 22:03:58 +01:00
twinaphex 52fae101e8 (GL) Get rid of video_driver_build_info dependency 2020-03-05 21:45:02 +01:00
twinaphex 8d5d91a5a4 (GL1/GLCore) Only video_info dependency now is 'height' 2020-03-05 20:32:58 +01:00
twinaphex e65c816ed0 (GL) Will have to rework set_viewport for the GL drivers -
video drivers should not be calling video_driver_build_info as
they could be on a separate thread
2020-03-05 20:29:51 +01:00
twinaphex da60c1bb96 Header cleanups 2020-03-05 14:06:04 +01:00
twinaphex 1bda81560e Get rid of remnant 2020-03-05 01:04:50 +01:00
twinaphex e895b9f101 (GX) Buildfix 2020-03-03 00:52:48 +01:00
twinaphex 80991a00f0 Settings cleanups 2020-03-02 20:24:00 +01:00
Justin Weiss a96be2cdce [3DS] Keep the bottom screen hidden on sleep/wakeup
When the 3DS wakes back up after being closed, the bottom screen needs
to be reinitialized. Adding the condition here will cause the screen
to be turned on or off based on the state of
ctr_bottom_screen_enabled, as you'd expect.
2020-02-28 23:01:22 -08:00
twinaphex a4c19457ce Found one instance where userdata was not implicitly set to NULL 2020-02-21 20:48:11 +01:00
twinaphex 1b0ab1c05f Cleanups 2020-02-21 07:34:53 +01:00
twinaphex 682462fb20 Cleanups 2020-02-19 19:23:10 +01:00
twinaphex d36941b81d (CTR) Buildfix 2020-02-19 00:23:45 +01:00
twinaphex 3ea96c2587 (GX) Buildfix 2020-02-19 00:23:45 +01:00
twinaphex 3a94c52426 (gfx drivers) Start reducing settings pointer usage 2020-02-18 14:51:40 +01:00
twinaphex 2ba45d0acb (GL1) Fixes crash on MSVC2005 2020-02-18 05:51:23 +01:00
twinaphex 6d09d29093 Be more safe with these functions - this was causing crashes on
MSVC 2005
2020-02-18 04:18:31 +01:00
twinaphex 7c7d0f596a HAVE_MENU_WIDGETS now decoupled from HAVE_MENU 2020-02-17 21:28:42 +01:00
twinaphex 43561dc389 (Xvideo) Buildfix 2020-02-17 01:54:25 +01:00
twinaphex b00bf17153 Move menu_widgets to gfx/ and call it gfx_widgets 2020-02-17 01:54:07 +01:00
twinaphex b229f267e4 Rename menu_widgets to gfx_widgets 2020-02-17 01:43:40 +01:00
twinaphex ec302bc4fc video_set_nonblock_state - remove settings dependency 2020-02-16 22:26:07 +01:00
twinaphex 47af95469a (font_driver.c) Remove configuration.h dependency 2020-02-16 21:59:03 +01:00
twinaphex c71469c715 Rename menu_display to gfx_display 2020-02-16 15:10:07 +01:00
twinaphex 2d946d0d95 (PS2 gfx) Cleanups 2020-02-14 13:06:56 +01:00
twinaphex e47b7526bc (gfx) Cleanups 2020-02-13 23:24:51 +01:00
twinaphex 880391d0c5 (libnx) Try to silence warnings 2020-02-10 12:36:11 +01:00
twinaphex 64c515bac4 Turn while (true) into for (;;) for easier MSVC backwards compatibility 2020-02-01 04:15:22 +01:00
twinaphex f0e889b552 Change prototype of video_driver_set_size 2020-01-31 15:06:50 +01:00
twinaphex 74cd84399f Cleanups - Replace '== NULL' 2020-01-30 16:47:33 +01:00
twinaphex a034909ae9 Cleanups 2020-01-30 16:35:59 +01:00
twinaphex 376ad6d61d move more C functions over to gl_core.c 2020-01-22 13:12:00 +01:00
twinaphex bcf8ff3d0a (shader_gl_core) Get rid of ConfigDeleter - move C code to gl_core.c 2020-01-22 11:57:06 +01:00
twinaphex ef27a660a7 (shader vulkan) Cleanups - moving C code out of the C++ file 2020-01-22 10:11:42 +01:00
twinaphex a986b71947 Remove separate audio / video null driver files 2020-01-06 15:22:21 +01:00
jovonna decd374c15 Initial port to dingux platform 2020-01-04 12:20:03 -05:00
twinaphex f92a507a9b Change function signature of font_driver_render_msg 2020-01-04 16:24:14 +01:00
twinaphex 3e1f56d57f Change function signature of win32_has_focus 2020-01-04 15:49:23 +01:00
twinaphex 91baea201a Change function signature of win32_show_cursor 2020-01-04 15:40:02 +01:00
twinaphex 6c97a7514c (Vulkan) turn superfluous functions in vulkan_common.c into macros
to avoid unnecessary function overhead
2020-01-03 20:20:59 +01:00
GH Cao 91ee8c8ee6 D3D11: Block 9_3 devices, implement gl failback 2020-01-03 09:44:24 +08:00
GH Cao a4e810795c D3D: Add get_metrics 2020-01-03 09:40:41 +08:00
Francisco José García García b4be7b0c74 (Vita) Several improvements to vita2d driver 2019-12-14 14:11:47 +01:00
driver1998 de203390be [Windows] Add ANGLE support 2019-12-06 13:24:17 +08:00
twinaphex ed8e440b0d Revert "Move update_window_title to main thread - this should resolve some"
This reverts commit 442608981d.
2019-11-19 22:48:35 +01:00
twinaphex 442608981d Move update_window_title to main thread - this should resolve some
concurrency issues on OSX as well
2019-11-19 22:13:51 +01:00
Twinaphex 53d18cf95e
Merge pull request #9713 from Rinnegatamante/vitagl
Added gl1 video driver support to Vita build
2019-11-17 23:14:29 +01:00
Rémi 6c47f02bdf Fixing OpenGL shader rotation 2019-11-16 19:52:47 +01:00
Rinnegatamante 2a77dc5600 Make code C89 compliant. 2019-11-13 21:44:59 +01:00
Rinnegatamante 96845f4a7e [VITA] Removing a no more used ifndef. 2019-11-13 00:45:48 +01:00
Rinnegatamante 2b20c8d350 [GL1] Fixed core frame renderer. 2019-11-12 19:46:37 +01:00
Rinnegatamante f3ca57e6f0 [VITA] Add vita video driver context. 2019-11-12 16:33:36 +01:00
Rinnegatamante 6b7673f806 [VITA] Fixing gl1 video driver crashes. 2019-11-12 15:37:37 +01:00
Rinnegatamante 1533d618e5 [VITA] Allow usage of null context with gl1. 2019-11-12 13:50:14 +01:00
Rinnegatamante 6394342b9c [VITA] Add gl1 video driver support through vitaGL. 2019-11-12 11:54:00 +01:00
Francisco Javier Trujillo Mata fd75ae487e Disable the duplication FPS in PSP 2019-10-16 00:46:29 +02:00
Rinnegatamante 26b0bc771d Add vulkan context logging. 2019-10-13 17:47:08 +02:00
Twinaphex 2d769d4bfb
Merge pull request #9558 from justinweiss/ctr-gfx-fix-flickering-with-osd
Fix 3DS screen flickering when OSD is enabled
2019-10-06 03:39:23 +02:00
Justin Weiss 64dc3dde40 Fix 3DS screen flickering when OSD is enabled
On the 3DS, for some cores, the screen will flicker if OSD is enabled,
and sometimes when going in and out of the menu.

As far as I can tell, this happens when a frame is dup'd, and we send
0x0 as the frame to the gfx driver. When that happens, we still draw
the OSD, using a vertex shader to transform and render it at the right
size.

When the frame is 0x0, though, the vertex shader uniforms are never
_reset_ to redraw the previous frame, so it's drawn with different
params, and gets drawn the wrong size. It will draw as the correct
size when the correct vertex shader uniforms are set, and the
incorrect size when the incorrect uniforms are set, causing
flickering.

At least, that's what I think is happening. Forcing the vertex shader
to be set regardless of whether the frame data is set fixes it, at
least during some light testing with PCSX.
2019-10-05 14:21:42 -07:00
Francisco Javier Trujillo Mata c48ccdb1fc Fix memory leak in the PS2 GFX and PS2 Font 2019-10-03 23:41:56 +02:00
twinaphex 547f8968aa (GL1) Buildfix + cleanups 2019-10-01 03:14:18 +02:00
GH Cao 27d2877106 gl1: take care of const 2019-10-01 06:51:29 +08:00
GH Cao 897488862e gl1: adapt C89 2019-10-01 06:24:06 +08:00
driver1998 0212567d75 Support GLDirect (D3D9 to OGL1.1 wrapper) in gl1 driver 2019-10-01 06:02:30 +08:00
twinaphex c5b3428408 Add sdl2_common.c/.h 2019-09-22 12:40:40 +02:00
twinaphex c7fd375120 Create video_driver_display_userdata_{set/get} 2019-09-22 07:35:05 +02:00
twinaphex 03bddff8e6 Cleanups of update_window_title functions 2019-09-22 03:05:06 +02:00
twinaphex 302e2fdc53 Move show memory details outside of the video context driver and
into retroarch.c - avoid lots of code duplication
2019-09-21 07:49:33 +02:00
twinaphex b28c405377 Backport and rebase initial FPGA port that was done in 2017 (port
done for Z-Turn board) - has some outstanding issues such as
very slow framebuffer software rendering output that needs to
be overcome before this becomes usable - community help needed
2019-09-17 08:16:50 +02:00
twinaphex 861262ef3a (network gfx) Cleanup 2019-09-17 05:04:57 +02:00
Brad Parker c7c7d0988e initial network video driver, sends raw frames over TCP 2019-09-17 04:18:44 +02:00
jdgleaver 3a680df733 (glcore) Ensure correct scaling of menu texture (RGUI) 2019-09-03 12:52:26 +01:00
twinaphex cb8107a154 remove video_context_driver_init_image_buffer 2019-08-29 11:26:28 +02:00
twinaphex d406fee72e Remove video_context_driver_suppress_screensaver 2019-08-28 22:52:41 +02:00
twinaphex c50cc7b010 Remove video_context_driver_show_mouse 2019-08-28 21:36:58 +02:00
twinaphex aeedeb14a9 (Vita) Vita has no video context driver set, so this can go 2019-08-28 21:30:17 +02:00
twinaphex fa3b927ece Get rid of video_context_driver_get_proc_address 2019-08-28 21:26:43 +02:00
twinaphex 88720b540e Get rid of video_context_driver_swap_interval 2019-08-28 21:12:51 +02:00
LazyBumHorse a882901e39 save unmodified auto-shaders as a reference instead of a copy, see:
- implement #reference directive for auto-shaders
 - replace usual preset saving and loading functions with video_shader_read_preset() and video_shader_write_preset()
 - apply saved presets automatically for console menus
 - move auto-shader saving logic from menus into menu_shader.c menu_shader_manager_save_auto_preset()
 - refactor menu_shader_manager_save_preset() into menu_shader_manager_save_preset_internal()
2019-08-22 16:57:28 +02:00
twinaphex d52c573e13 Merge slang_preprocess.cpp into slang_process.cpp 2019-08-18 18:55:22 +02:00
twinaphex 6c671faed6 Start preparing for menu_widgets_ready to be moved to retroarch.c 2019-08-15 14:20:51 +02:00
twinaphex 980be6dba3 (GL2) Cleanups 2019-08-14 16:40:47 +02:00
twinaphex 3585d56067 (Vita2D) video_driver_get_size was used for no reason here 2019-08-13 12:34:34 +02:00
twinaphex dc3711b35f (GX2) video_driver_get_size was used for no reason here 2019-08-13 12:33:09 +02:00
twinaphex d43b26348b (Vulkan) Don't use video_driver_get_size 2019-08-13 12:28:16 +02:00
twinaphex e43c55bef3 (GLCore) Don't use video_driver_get_size 2019-08-13 12:23:02 +02:00
twinaphex c3d624267b (GL) Start avoiding usage of video_driver_get_size
from within video drivers
2019-08-13 12:14:53 +02:00
twinaphex 4a09f66c7b (GL drivers) Cleanups 2019-08-12 22:04:27 +02:00
twinaphex ed6f682754 Make code more similar to gl2 video driver 2019-08-12 21:07:12 +02:00
twinaphex fdd45f1f6b (glcore) memset is unnecessary 2019-08-12 20:55:46 +02:00
twinaphex 2a631bd031 (glcore) Turn this into macro 2019-08-12 20:52:33 +02:00
twinaphex a45c9b6eb4 Duplicate aspect ratio code that was being ran twice 2019-08-12 12:52:40 +02:00
twinaphex 211e664e5d (GX2) Cleanups 2019-08-08 14:54:21 +02:00
twinaphex 65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
orbea 779fbabc79 Fix CXX_BUILD=1 with libsixel. 2019-07-22 14:24:40 -07:00
Roman Fomin e01095a51b Fix maintaining aspect ratio 2019-07-23 01:33:43 +07:00
LazyBumHorse f8b92770d4 simplify video_shader_read_conf_preset() calls 2019-07-21 18:15:28 +02:00
twinaphex b33eb9bacf Cleanups 2019-07-21 12:13:04 +02:00
twinaphex b6b22a9a32 More shader refactors - make sure we can compile entirely
without shader support if HAVE_CG, HAVE_GLSL, HAVE_SLANG
and HAVE_HLSL are all not defined
2019-07-21 00:34:07 +02:00
Twinaphex 388c4857d3
Merge pull request #9140 from LazyBumHorse/shader_paths
much improved handling of relative shader paths
2019-07-20 21:54:58 +02:00
LazyBumHorse 2245af23e9 much improved handling of relative shader paths
- save texture paths in relative format as well
 - always write portable relative paths on Windows using '/' instead of '\'
 - remove an ancient piece of code that could sometimes fail loading relative paths
 - fix absolute path handling between different drives for Windows
 - integrate video_shader_resolve_relative() into video_shader_parse_* functions
2019-07-20 18:29:46 +02:00
twinaphex a0060182e3 Add more ifdefs covering HAVE_THREADS and HAVE_AUDIOMIXER 2019-07-20 16:09:39 +02:00
twinaphex d905986a52 Rename functions - change rarch_ prefix to retroarch_ 2019-07-20 12:43:43 +02:00
twinaphex c0787accc3 Use config_file_new_from_path_to_string 2019-07-18 12:13:09 +02:00
twinaphex 27a65714f2 Remove some globals 2019-07-12 00:21:31 +02:00
twinaphex a867e3916e (D3D9) Silence warning when neither HAVE_MENU or HAVE_OVERLAY
is defined
2019-07-11 01:10:00 +02:00
twinaphex dc40a2ab66 (Travis) Another Travis buildfix 2019-07-11 01:03:35 +02:00
twinaphex 09f5d2c95d Fix compilation when configuring with --disable-overlay 2019-07-10 05:39:50 +02:00
twinaphex f0f5c32b51 Remove state tracker - legacy code - we can revisit this later
and integrate it in a way so that it scales across all drivers
2019-07-09 07:39:38 +02:00
LazyBumHorse f5497a4249 fix some bugs found through Clang Static Analyzer:
- task_content.c, load_content_from_compressed_archive: fix use after free
 - platform_win32/uwp: fix frontend_..._get_powerstate never returning FRONTEND_POWERSTATE_NONE
 - platform_win32/uwp: fix whitespace
 - cheevos.c: fix potential use after free in a loop, just to be save
2019-07-04 21:15:19 +02:00
LazyBumHorse c4530eb3f4 d3d9: add Cg/HLSL shader runtime check depending on the used renderchain 2019-06-25 10:57:46 +02:00
LazyBumHorse 17ec59ff21 enable Cg shader flag for d3d9 2019-06-24 23:41:05 +02:00
Twinaphex f23497fd80
Merge pull request #9014 from LazyBumHorse/fix_d3d9
fix d3d9 not rendering xmb and temporarily disable widgets due to segfault
2019-06-24 16:07:03 +02:00
LazyBumHorse 1f69f3960a fix d3d9 not rendering xmb and temporarily disable widgets due to segfault 2019-06-24 15:42:55 +02:00
twinaphex 405d3fec67 (CXX_BUILD) Silence warning 2019-06-24 15:09:56 +02:00
Twinaphex 596b375da5
Merge pull request #9001 from LazyBumHorse/metal_cocoa_flags
fix shader flags for metal
2019-06-22 14:53:18 +02:00
LazyBumHorse b8258a711a workaround for metal not being able to poll shader flags during init 2019-06-22 14:22:34 +02:00
Twinaphex 98c1f04635
Merge pull request #8998 from LazyBumHorse/fix_gl_set_shader
fix black screen in gl if video shaders were switched from on to off in the shader menu
2019-06-22 13:18:25 +02:00
LazyBumHorse b5199d7921 fix black screen in Metal 2019-06-22 11:07:08 +02:00
LazyBumHorse e5421940be fix gl's and d3d9's set_shader not returning to stock if path is NULL 2019-06-21 14:10:55 +02:00
twinaphex 761636a540 (Wiiu) add forward declaration 2019-06-20 21:10:07 +02:00
twinaphex 3a9a8d8d70 (WiiU) Buildfix 2019-06-20 08:38:40 +02:00
Twinaphex c523acbfe7
Merge pull request #8989 from LazyBumHorse/fake_context
temporary workaround for d3d10-12, gx2 not being able to poll flags during init
2019-06-20 00:37:53 +02:00
twinaphex 71e86bcc9c (GLSL) Put this around HAVE_GLSL ifdefs 2019-06-19 22:34:05 +02:00
LazyBumHorse 7b6444d911 temporary workaround for d3d10-12, gx2 not being able to poll flags during init 2019-06-19 19:10:40 +02:00
twinaphex 5d91af629e Set SHADERS_SLANG flag for D3D10/11/12 and query the video driver poke
interface's 'get flags' function before querying the video context
driver's 'get flags' function (D3D10/11/12/WiiU don't have a context
driver at all)
2019-06-19 03:18:28 +02:00
Brad Parker d01f04c146 d3d10/11/12: add GPU selection 2019-06-18 16:35:50 -04:00
Twinaphex a9a1ff0047
Merge pull request #8979 from LazyBumHorse/fix_dolphin_crash
workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-18 20:18:14 +02:00
LazyBumHorse c20c67bd3a proper shader compatibility checks
- move shader flags from the video drivers to the context drivers
 - rework config_load_shader_preset() from configuration.c into retroarch_load_shader_preset() in retroarch.c with proper compatibility check
 - implicitly call retroarch_load_shader_preset() in retroarch_get_shader_preset() once per core/content life cycle
 - use video_shader_is_supported() instead of video_driver_test_all_flags() where appropriate
 - remove GFX_CTX_FLAGS_NONE because it is meaningless
2019-06-18 13:46:41 +02:00
LazyBumHorse 692dc9f6a9 refactor shader checks affected by last commit and more:
- gl.c: refactor backend fallback into more general gl2_get_fallback_shader_type
 - d3d9-12, gl_core, gx2_gfx, gl, vulkan: more consistent shader init and `set_shader` behavior
 - configuration.c: remove check_shader_compatibility
 - shader_glsl.c, shader_gl_cg.c: use `video_shader_get_type_from_ext`
 - shader_gl_cg.c: add shader type check with fallback to stock like in shader_glsl.c
 - menu_shader.c: use `enum rarch_shader_type` instead of `unsigned`
 - video_shader_parse.c: add `video_shader_to_str` for easier logging
 - remove `type` from `struct video_shader`, which was always set to CG and wrongly used in lang_process.cpp's `slang_process()` (has no further consequences because the code is unused)
2019-06-18 13:44:19 +02:00
LazyBumHorse 42e35c825f refactor some video_shader_parse functions
- video_shader_parse_type()'s fallback only worked for NULL paths and was wrongly used, now returns RARCH_SHADER_NONE like video_shader_get_type_from_ext().
 - video_shader_get_type_from_ext() should not be checking video driver flags, this is instead done by video_shader_is_supported()
 - video_driver_get_all_flags() did not actually 'get' flags, changed to video_driver_test_all_flags()

workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-18 13:12:56 +02:00
LazyBumHorse 76438fa098 workaround for crash due to glcore not always using at least OpenGL 3.2 2019-06-17 18:28:04 +02:00
twinaphex f061941456 Integrate record_driver.c into retroarch.c 2019-06-17 16:23:46 +02:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
twinaphex f60306b232 Rename read_conf_cgp/write_conf_cgp to
read_conf_preset/write_conf_preset
2019-06-15 09:00:35 +02:00
jdgleaver e6c236d275 (Wii) Add widescreen RGUI support 2019-06-11 15:57:50 +01:00
Tatsuya79 3b31dafa7e
glcore rotation fix for desmume 2019-06-06 20:11:08 +02:00
Tatsuya79 1cc307a879
glcore fix wrong rotation with HW cores 2019-06-06 17:05:07 +02:00
Ash Logan 24fba02a9f (GX2) Display menu texture at full opacity
rgui does its own transparency effects in the texture, so we don't have 
to add another 50% on that
2019-06-05 23:19:35 +10:00
Ash Logan 87be0d366f (GX2) Use correct pixelformat ordering for menu texture
This fixes up some backwards colours on wiiu, resulting in all the
themes looking lovely.
2019-06-05 23:18:09 +10:00
jdgleaver 736ff13e35 (GEKKO) Add optional overscan correction 2019-06-04 15:50:47 +01:00
Ash Logan 3d40a3bcaf (GX2) Respect filtering settings for menu 2019-06-03 21:41:03 +10:00
Ash Logan 3461955dae (GX2) Scale menu to viewport size 2019-06-03 21:38:40 +10:00
Ash Logan ab4ca8cf1b (GX2) Use correct menu coordinates to render menu 2019-06-03 20:35:46 +10:00
LazyBumHorse 9ab49b7b2c Add FrameDirection for metal and gx2_gfx 2019-05-29 21:06:44 +02:00
LazyBumHorse b54ad4d67f implement FrameDirection slang semantic for d3d10,11,12 2019-05-29 18:09:37 +02:00
Brad Parker 086b3ccfb7 gl1: ignore alpha in core video, fixes XRGB8888 rendering in some cores 2019-05-25 17:08:30 -04:00
LazyBumHorse ee3cda8abf added "FrameDirection" slang semantic and implementation for glcore and vulkan 2019-05-24 22:11:12 +02:00
twinaphex 6aed230930 Reimplement 'Take Screenshot' - if GPU-accelerated viewport screenshots
are not available, resort to raw screenshots instead
2019-05-22 07:08:11 +02:00
Brad Parker 711ea77390 glcore: store GPU device/version string 2019-05-21 21:43:31 -04:00
Dwedit 24fa0cd5b5 Move `pool_info.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;` to after the other variable declaration (so all variable declarations happen before any other code) 2019-05-17 14:29:23 -05:00
twinaphex ecb6318f40 Some buildfixes 2019-05-13 01:07:02 +02:00
Huw Pascoe acb28a38c4 video_layout gl basic implementation 2019-05-11 14:23:26 +01:00
Huw Pascoe 2c56011f84 video_layout interface 2019-05-11 09:58:48 +01:00
Nathan S edb37ccf70 menu widgets: cleanup fix and draw above overlay for gl and vulkan (#8732)
* menu_widgets: cleanup properly all widgets when loading or closing content

* gl: draw menu widgets above overlay

* vulkan: draw menu widgets above overlay

* vulkan: draw OSD above overlay

* menu_widgets: better cleanup
2019-05-11 06:26:40 +02:00
twinaphex 360f8189e0 (D3D8/D3D9) Screenshots don't seem to work, disabling 2019-05-05 14:25:16 +02:00
twinaphex f349410082 (CTR/3DS) hide 'Take Screenshot' since screenshots are not implemented
anyway
2019-05-05 14:14:14 +02:00
twinaphex 3b110c0e3b (D3D8) Add 'Screenshots supported' 2019-05-05 13:55:12 +02:00
twinaphex c3d2b190f2 (dispmanx) Implement get_flags 2019-05-05 13:49:06 +02:00
twinaphex a0b2d97ca3 Hide 'Take Screenshot' for video drivers that don't support
taking screenshots yet
2019-05-05 13:46:26 +02:00
orbea 9e9849170d Silence unused function with --disable-menu.
gfx/drivers/gl_core.c:1529:13: warning: ‘gl_core_draw_menu_texture’ defined but not used [-Wunused-function]
 static void gl_core_draw_menu_texture(gl_core_t *gl, video_frame_info_t *video_info)
             ^~~~~~~~~~~~~~~~~~~~~~~~~
2019-05-04 08:26:49 -07:00
twinaphex 066643ac6e (GX2) Buildfix 2019-05-01 00:11:43 +02:00
twinaphex bc2bdd5734 config_file_read not needed anymore 2019-04-30 13:37:10 +02:00
twinaphex c2f95940fb (GL1) Whether GL1 driver has windowed mode support or not
depends on the video context driver and not the video driver itself
2019-04-29 07:21:37 +02:00
twinaphex 3e72c502a8 strlen optimizations :
- use STRLEN_CONST for constant strings, translates to sizeof
which should be computed at compile-time
- found some places where we are needlessly calling strlen two
times instead of just once
2019-04-27 04:21:10 +02:00
Twinaphex e9bbc8d8dd (gl_core.c) Remove unused variable 2019-04-24 03:49:34 +02:00
twinaphex 04d062b3d4 (MSVC2003) Enable HAVE_OPENGL1; make HAVE_OPENGL1 independent from
HAVE_OPENGL
2019-04-22 22:48:23 +02:00
twinaphex 146b4ccc50 Use config_file_read in more places 2019-04-22 02:20:04 +02:00
twinaphex 499235cd40 (CXX_BUILD) Another buildfix 2019-04-20 19:55:50 +02:00
Brad Parker e7dbac7eb0 prevent null derefs found by scan-build 2019-04-18 11:46:53 -04:00
jdgleaver a9a5782cc0 (3DS) Fix screen tearing when running 50Hz content 2019-04-16 15:44:47 +01:00
jdgleaver 54e1711f9a (3DS) Sanitise/Improve display mode selection 2019-04-15 17:05:55 +01:00
Brad Parker 95145ec0d4 remove debug code 2019-04-12 21:17:04 -04:00
Brad Parker b8471aa3dc gl1: add gpu hard sync support and print osd statistics 2019-04-12 19:28:34 -04:00
Huw Pascoe fed06044c4 silence warnings 2019-04-12 17:32:11 +01:00
twinaphex 702c889cd1 (D3D10/11/12) Menu widgets can now appear ingame 2019-04-11 02:22:21 +02:00
Themaister f82601c4a8 glcore: Fix GLES build. 2019-04-08 21:17:13 +02:00
twinaphex 0af7167586 (GL1) Add menu widgets support 2019-04-08 18:58:26 +02:00
twinaphex c12e8dea07 (D3D10/11) All struct members are already being set 2019-04-08 18:42:52 +02:00
jdgleaver 9fff07e589 (Menu Widgets) Fix text alignment issues with Vulkan and D3D video drivers 2019-04-08 13:35:35 +01:00
Brad Parker 9579804c72 gl1: add overlay support 2019-04-05 23:07:59 -04:00
twinaphex ab33d16da1 Small cleanup 2019-04-03 16:33:16 +02:00
twinaphex 25ba8f4ab0 (GL1) GL1.x won't have mipmapping support 2019-04-03 16:13:01 +02:00
orbea 3fb4ed753d Fix caca warning.
One too many lines were removed in
commit f67bfa24ef.
2019-03-19 21:54:51 -07:00
twinaphex 794f9c8968 (GL) Add comments 2019-03-18 16:02:28 +01:00
twinaphex 7c93da1360 (GL2) Simplifications 2019-03-18 15:57:43 +01:00
twinaphex 819016b00c Move video_shader_driver_init to gl.c 2019-03-18 15:52:21 +01:00
twinaphex 27928081cf Cleanups 2019-03-18 15:27:37 +01:00
twinaphex f67bfa24ef Get rid of video_poke_interface set_mvp 2019-03-18 15:19:11 +01:00
twinaphex fe1255094f Get rid of now unused set_coords in video_driver_poke_interface 2019-03-18 05:04:23 +01:00
Brad Parker a8a06d498c gl1: fix matrix not loading when threaded video is on 2019-03-17 12:46:01 -04:00
Francisco Javier Trujillo Mata adf2743464 Implement CDFS and custom file descriptor support 2019-03-15 20:19:14 +01:00
Themaister e3a88e8806 glcore: Set frame count in shader interface. 2019-03-15 15:36:18 +01:00
twinaphex c8eb85ec2e Implement gl_core_wrap_type_to_enum 2019-03-14 20:04:04 +01:00
twinaphex 643cd1923e CXX_BUILD / C89_BUILD buildfixes 2019-03-14 14:14:44 +01:00
Brad Parker 8064672f11 gl: set shader data to null after deinit 2019-03-13 16:22:04 -04:00
Brad Parker 97247dbaec gl1: check for vender/renderer was in the wrong place 2019-03-13 14:44:03 -04:00
twinaphex 3691f4fabf Fix CXX_BUILD errors 2019-03-13 17:00:52 +01:00
twinaphex b347b26d61 Reimplement shader flags being set - GL core should have only
Slang support and no GLSL, with the GL2 driver it is dependent
on the context driver
2019-03-13 14:06:50 +01:00
twinaphex cd77093588 Reimplement gl2_get_flags to no longer be reliant on shader driver's
get flags implementation
2019-03-13 12:12:02 +01:00
Twinaphex 1a8b185c5e
Merge pull request #8455 from Tatsuya79/patch-1
glcore, fix rotation
2019-03-13 11:38:41 +01:00
twinaphex 191d0c0309 Add get_flags to GL shader interface 2019-03-13 11:21:00 +01:00
twinaphex 365053266f Add more flags 2019-03-13 11:04:52 +01:00
twinaphex 2c024f400e Start hooking up extra shader capability stats - not done yet 2019-03-13 00:54:11 +01:00
Tatsuya79 16681653b4
glcore, fix rotation 2019-03-12 22:32:47 +01:00
twinaphex 3d06b4aee2 Add comment about hack 2019-03-12 21:47:35 +01:00
cold-brewed 8a6de4adfb (macOS) Add temporary GL hack 2019-03-11 19:16:59 -04:00
twinaphex 6ba6f9e3ec (D3D9) Some buildfixes for C89 2019-03-11 17:07:49 +01:00
twinaphex 104508a29c (GL core) Fix menu widgets 2019-03-11 14:57:25 +01:00
Themaister 1d0b3b96e6 Be a bit more pedantic about which contexts are active. 2019-03-09 20:53:29 +01:00
Themaister 37298876fc Clear out FBO on startup.
Some cores seem to rely on it?
2019-03-09 13:15:14 +01:00
Themaister 4bb17fd6e9 Fix wrong condition for hard sync. 2019-03-09 12:42:11 +01:00
Themaister 07bf62eaba GLcore: Actually bind depth/stencil RT to HW fbo. 2019-03-09 12:30:49 +01:00
Themaister 74039617ce Use correct context flags. 2019-03-09 12:30:49 +01:00
Themaister 4adf16b5ed Fix version detection for non-HW cores. 2019-03-09 12:30:49 +01:00
Themaister 3029f96511 Add a new "glcore" driver with slang support.
This driver should sunset the old gl2 driver, but that driver will
likely live on to support really ancient and terrible GL stacks.
All the worst legacy cruft has been ripped out, and it's almost a decent
backend now.

Requirements for slang are GL 3.2+ or GLES3.
Some shaders require features which are not directly compatible with
GLES2 or legacy GL.

This driver shares a lot of concepts from the Vulkan driver.
The slang shader stack and SPIRV-Cross are used to implement the shader
spec, and the menu shaders are also shared with Vulkan.
2019-03-09 12:30:49 +01:00
Brad Parker 9279d06f93 Merge branch 'master' into send_debug 2019-03-07 19:23:41 -05:00
Brad Parker 10df615d14 add "Send Debug Info" option under Help 2019-03-07 19:17:54 -05:00
Francisco Javier Trujillo Mata 8316d073bc [PS2] Implement Pitch support in the ps2_gfx 2019-03-03 14:08:12 +01:00
Brad Parker 433cbb021f temporary crash fix 2019-02-26 23:37:08 -05:00
Francisco Javier Trujillo Mata 0e7d5ed32b Improvements regarding the ps2 font driver 2019-02-26 21:02:29 +01:00
Brad Parker 4f0d61a2ac update copyright 2019-02-22 19:13:36 -05:00
Brad Parker 477d46d52b update copyright 2019-02-22 19:13:36 -05:00
twinaphex 292c5e93ad Add d3d9_menu_widgets_enabled 2019-02-22 03:13:41 +01:00
Twinaphex 0778847062
Merge pull request #8341 from fjtrujy/feature/PS2AudioImprovement
[PS2] Audio improvement
2019-02-22 01:48:43 +01:00
Francisco Javier Trujillo Mata 7ec160f860 Remove the specific audio thread 2019-02-22 00:01:36 +01:00
twinaphex 74a35d8be1 (GL2) Add GL1 fallback 2019-02-21 21:49:22 +01:00
Brad Parker 0cb6ed7b29 remove tabs 2019-02-21 15:38:18 -05:00
twinaphex a39bed3bb1 Silence warnings 2019-02-21 21:31:29 +01:00
twinaphex e6d5f427fc (D3D9) Add widgets function call 2019-02-21 17:09:08 +01:00
Francisco Javier Trujillo Mata cf68058e67 Fix issues with the GSFont 2019-02-21 00:38:56 +01:00
Twinaphex 905f67810c
Merge pull request #8312 from bparker06/overlay
gl: draw OSD on top of overlay
2019-02-18 10:38:55 +01:00
Brad Parker 3a431adf02 gl: draw OSD on top of overlay 2019-02-17 18:51:19 -05:00
Francisco Javier Trujillo Mata b8e2216dd4 Improvement the use of the palette 2019-02-17 23:29:16 +01:00
Brad Parker 5e177c75a5 add memory stats to more context drivers, use correct default variables for fps/stats/framecount/memory_show 2019-02-15 15:59:00 -05:00
Themaister 3b9ad729fb Vulkan: Fix color issues with RGBA8888 swapchains in readback. 2019-02-15 20:30:08 +01:00
Brad Parker 0c790d89dc gl1: use built-in pixel conversion routines 2019-02-11 19:02:36 -05:00
Brad Parker 42098e09ad C89/vc2005 fix 2019-02-11 17:17:36 -05:00
Brad Parker 5a3a58c8a6 gl1: fix order of non-rgui menu drawing, add proper texture support 2019-02-11 12:05:31 -05:00
twinaphex eee2445c45 (GL) Buildfix for GL_DEBUG 2019-02-09 04:07:12 +01:00
Brad Parker 8d8feec318 gl1: screenshot support 2019-02-08 16:31:34 -05:00
Brad Parker c83611e526 gl1: allow extra padding in pitch 2019-02-08 15:46:00 -05:00
Brad Parker cbbb81f46f gl1: add BFI and menu/content linear filtering 2019-02-08 15:37:38 -05:00
Brad Parker 333c630469 gl1: blend menu with video 2019-02-08 13:47:43 -05:00
Brad Parker 74fd184097 initial GL1 video driver, only rgui is working currently 2019-02-08 12:14:55 -05:00
twinaphex 6d54ebfcec (GL2) Some cleanups 2019-02-07 23:54:33 +01:00
twinaphex c1415d70f8 (GL2) Fix warnings with CXX_BUILD 2019-02-07 23:16:50 +01:00
twinaphex 715ddf1924 (WiiU/GX2) Add widget support (untested) 2019-02-07 02:03:48 +01:00
twinaphex f49b6e26a0 (Metal) Add menu widget support 2019-02-07 02:00:23 +01:00
twinaphex 4b2fdfad48 (D3D10/12) Add menu widgets support - text offset is wrong 2019-02-07 01:40:15 +01:00
twinaphex dd21cfd825 (D3D11) Implement menu widgets - offset is wrong 2019-02-07 00:43:36 +01:00
twinaphex fb121ac75e (Vulkan) Hook up menu widgets 2019-02-07 00:15:32 +01:00
natinusala c20ab3864d First version of menu widgets (gl only) 2019-02-06 20:48:24 +01:00
twinaphex c48febc4f9 (GL2) Cleanups 2019-02-06 19:49:45 +01:00
twinaphex 1e394091d8 Namespace GL2 driver 2019-02-06 19:43:31 +01:00
orbea c9b0ba1123 Fix travis warnings. 2019-02-05 11:27:01 -08:00
twinaphex 1b79f08715 (GL) Use set_coords function directly 2019-02-05 02:24:13 +01:00
twinaphex ba9de324bf Simplify gl.c 2019-02-05 02:19:16 +01:00
twinaphex 9877e1ce3e (GL) Cleanups 2019-02-05 02:12:42 +01:00
twinaphex 5102eff399 (GL) Move GL-only shader code to gl.c 2019-02-05 01:13:39 +01:00
Twinaphex 7fedabee4b
Merge pull request #8163 from orbea/cleanup
Cleanup
2019-02-04 23:19:05 +01:00
twinaphex 845b30131f Cleanups 2019-02-04 23:17:39 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex 4cbbd3470b Revert "Simplify video_driver_set_mvp"
This reverts commit 1dd89e1bce.
2019-02-03 19:40:48 +01:00
twinaphex 4aadd53d80 Revert "Get rid of video_shader_driver_scale"
This reverts commit 256b28fa2a.
2019-02-03 19:40:36 +01:00
twinaphex 1eeb58c5dd Revert "Cleanups"
This reverts commit 4554669750.
2019-02-03 19:40:27 +01:00
twinaphex 5a45464bb3 Revert "Reimplement video_driver_set_coords"
This reverts commit 93ded925d3.
2019-02-03 19:40:21 +01:00
twinaphex 43884758c5 Revert "(GL) Cleanups"
This reverts commit 5bab7e4460.
2019-02-03 19:40:15 +01:00
twinaphex 5bab7e4460 (GL) Cleanups 2019-02-03 18:38:18 +01:00
twinaphex 93ded925d3 Reimplement video_driver_set_coords 2019-02-03 18:29:00 +01:00
twinaphex dd366cd5c5 Revert "Simplify set_coords"
This reverts commit e10eb51f71.
2019-02-03 18:05:14 +01:00
twinaphex e10eb51f71 Simplify set_coords 2019-02-03 18:03:07 +01:00
twinaphex 4554669750 Cleanups 2019-02-03 17:49:31 +01:00
twinaphex 256b28fa2a Get rid of video_shader_driver_scale 2019-02-03 17:39:25 +01:00
twinaphex 67e777767c Revert "Remove video_shader_driver_get_ident"
This reverts commit 0814cc34ee.
2019-02-03 07:07:50 +01:00
twinaphex 0814cc34ee Remove video_shader_driver_get_ident 2019-02-03 07:06:57 +01:00
twinaphex 1dd89e1bce Simplify video_driver_set_mvp 2019-02-03 06:53:02 +01:00
Twinaphex b7cee0a633
Merge pull request #8154 from orbea/nuklear
Further remove nuklear.
2019-02-03 06:42:05 +01:00
twinaphex add4ac00eb Cleanups 2019-02-03 06:28:27 +01:00
orbea af813d9c46 Further remove nuklear. 2019-02-02 20:58:47 -08:00
twinaphex 9a04c4c67b Get rid of video_shader_driver_get_prev_textures 2019-02-03 05:49:18 +01:00
twinaphex 000787837e Cleanups 2019-02-03 05:41:43 +01:00
twinaphex 9b233f71ac Buildfixes 2019-02-03 05:32:03 +01:00
twinaphex 7e92468508 Get rid of video_shader_driver_filter_type 2019-02-03 05:28:00 +01:00
twinaphex 845c8d1757 Get rid of more video_shader_driver functions 2019-02-03 05:05:23 +01:00
twinaphex 7e81ac4218 Get rid of video_shader_driver_mipmap_input 2019-02-03 04:47:52 +01:00
twinaphex 9aa542b1ae * Get rid of video_shader_driver_use
* Get rid of Nuklear - ozone/menu widgets is probably the replacement
for it - Zarch will go next
2019-02-03 04:37:54 +01:00
twinaphex 633ad1788d Turn this into static function 2019-02-03 00:13:41 +01:00
twinaphex 91f8e8465a (GL) Cleanups 2019-02-03 00:11:41 +01:00
twinaphex 97dc77b940 (GL) renderchain interface is gone now 2019-02-03 00:07:53 +01:00
twinaphex 1a6d0b2ce4 Update 2019-02-02 21:52:33 +01:00
twinaphex 0c0ab19b11 (GL) We don't need gl_common.c anymore 2019-02-02 21:47:31 +01:00
twinaphex 350b0dd1a2 gl_add_lut can now become a static function inside gl.c 2019-02-02 21:34:02 +01:00
twinaphex 90f1317498 Cut down on code duplication - create gl_load_luts 2019-02-02 21:32:37 +01:00
twinaphex 2560d1c105 Move gl_load_texture_data to gl_common.c 2019-02-02 17:33:58 +01:00
twinaphex 987a91a1ae Silence some warnings 2019-01-31 21:24:13 +01:00
Brad Parker 5ea97cccb9 win32: force video driver to gdi if no accelerated graphics driver is found 2019-01-31 09:48:10 -05:00
twinaphex 406d927f6b (D3D11) Comment out performance counter 2019-01-29 08:57:06 +01:00
natinusala 04b2ffcb9e Fix scissoring for d3d10 and d3d11 2019-01-28 19:23:46 +01:00
Twinaphex e8e384aa4f
Merge pull request #8076 from jdgleaver/rgui-vulkan-linear
(Vulkan) Enable RGUI 'Menu Linear Filter' option (please review)
2019-01-28 16:00:18 +01:00
Brad Parker 8b6676e17f d3d9: implement scissor test 2019-01-26 20:13:39 -05:00
Brad Parker 29a07895b9 implement scissor test for D3D10/11, fixes #7897 2019-01-26 18:52:49 -05:00
jdgleaver 11af72286b (Vulkan) Enable RGUI 'Menu Linear Filter' option 2019-01-23 11:55:17 +00:00
M4xw 7d186f7d2c Revert PR #8043 2019-01-20 20:06:57 +01:00
twinaphex 4350073265 Revert "Revert "Fix function signature of metal_unload_texture""
This reverts commit 1a7d69621f.
2019-01-20 17:34:38 +01:00
twinaphex 1a7d69621f Revert "Fix function signature of metal_unload_texture"
This reverts commit bd16d5c9dc.
2019-01-20 17:33:07 +01:00
Twinaphex bd16d5c9dc Fix function signature of metal_unload_texture 2019-01-20 03:31:45 +01:00
twinaphex 8349f9217c Warning cleanup 2019-01-20 01:52:20 +01:00
twinaphex 22e99568ed Small cleanups 2019-01-20 00:48:02 +01:00
Twinaphex b99ad352e3
Merge pull request #8043 from daliaetnano/fix-6747-black-bug
Fix #6747 Black bug
2019-01-20 00:17:37 +01:00
orbea 46676289d4 Fix segfault with a null gl context. 2019-01-19 13:56:39 -08:00
Nano c017271d8a Fix #6747 Black bug 2019-01-19 10:26:06 +01:00
orbea e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
Francisco Javier Trujillo Mata 3706aa9904 ClearVRAM detection improved 2019-01-16 22:57:08 +01:00
Francisco Javier Trujillo Mata f7c9bc4e61 Make GFX PS2 support palette in the cores 2019-01-16 22:57:08 +01:00
Francisco Javier Trujillo Mata a5d381eced Improve VRAM clear detection 2019-01-13 20:19:21 +01:00
Francisco Javier Trujillo Mata ba75b1f4b3 Enable the possibility to disable VSync 2019-01-13 19:15:52 +01:00
twinaphex 7ad34509e7 Silence more CXX_BUILD warnings 2019-01-12 21:16:48 +01:00
twinaphex 6ca9afbd57 Silence more warnings with CXX_BUILD 2019-01-12 18:51:06 +01:00
twinaphex 4c8e5e07c0 Fix some CXX_BUILD errors 2019-01-12 18:35:14 +01:00
M4xw c111b4a7f0 Fix double semicolon and format line endings 2019-01-11 23:48:52 +01:00
Francisco Javier Trujillo Mata 7b175496ce [PS2] Clean screen before the core start 2019-01-11 14:42:47 +01:00
Twinaphex 01397f008a
Revert "Fix issue #6747 black bug" 2019-01-10 22:52:13 +01:00
Twinaphex e4f9aebbd3
Merge pull request #7973 from daliaetnano/fix-2791-black-bug
Fix issue #6747 black bug
2019-01-10 22:36:40 +01:00
twinaphex b9ff2e4de1 Fix some static code analysis warnings from MSVC 2017 2019-01-10 21:47:15 +01:00
Francisco Javier Trujillo Mata 29948c0878 Apply guideline styles for PS2 files 2019-01-10 09:37:09 +01:00
Francisco Javier Trujillo Mata a2db47bead Improve manage of VRAM in the GFX and Font Driver for PS2 2019-01-10 02:25:02 +01:00
Nano f1ba335cb3 Fix issue #2791 black bug 2019-01-09 22:52:45 +01:00
Twinaphex ac04c1bfc5
Merge pull request #7892 from Datamats/libnx_nwindow
libnx: refactor all the code of the now deprecated gfx api over to the new nwindow / framebuffer api
2019-01-08 23:36:20 +01:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
Francisco Javier Trujillo Mata 9370fb604d Enable 2 controller for PS2 Driver (multiplayer is not implemented yet) 2019-01-08 00:28:14 +01:00
Francisco Javier Trujillo Mata 26ce69694f Create Font driver for PS2 2019-01-07 21:51:48 +01:00
Mats 462a4b24fd libnx: refactor all the code of the now deprecated gfx api over to the new nwindow / framebuffer api 2019-01-07 15:03:44 +01:00
Twinaphex 9b46caa6db
Merge pull request #7911 from fjtrujy/feature/PS2OpenRGUIMenu
[PS2] Open RetroArch menu from Core
2019-01-07 01:42:01 +01:00
Francisco Javier Trujillo Mata f48ffb9aac Open RetroArch Menu Long Pressing Start button 2019-01-07 01:38:48 +01:00
twinaphex 2686cf1498 Fix disable-rgui 2019-01-06 17:04:28 +01:00
Francisco Javier Trujillo Mata d5a8c30dfe PS2 Timing Improvement 2019-01-05 18:47:39 +01:00
Francisco Javier Trujillo Mata b5cf8e90c9 Improve aspect_ratio detection in PS2 GFX (#7879) 2019-01-03 12:51:00 -05:00
Francisco Javier Trujillo Mata 56207bd08e Improvement in:
* Makefile.ps2
* ps2_gfx
* ps2_platform
* ps2_audio
2019-01-03 13:16:28 +01:00
Francisco Javier Trujillo Mata e2ca8aa1b5 Apply NTCS mode 2019-01-03 13:16:28 +01:00
twinaphex 1cb9f7c1bf Fix D3D10/11/12 drivers for Win32 build 2018-12-30 05:08:57 +01:00
twinaphex 88e283f0c1 (D3D10/11/12) Some buildfixes 2018-12-30 04:51:03 +01:00
krzys-h 1cb1ea55b1 Bugfix - creating swap chain twice in d3d11
Not sure what I was thinking when writing this

dd60b5d576 (commitcomment-31801518)
2018-12-29 11:38:09 +01:00
twinaphex dd60b5d576 MSVC2017 Non-UWP buildfixes 2018-12-29 02:54:17 +01:00
twinaphex 8f67cf7384 Some buildfixes 2018-12-29 02:20:25 +01:00
krzys-h 4fb06703b3 Port d3d12 driver for UWP 2018-12-28 22:10:26 +01:00
krzys-h b201d669b5 First iteration of UWP support
Enough to kind of run

Working drivers: xinput, d3d11
Still missing: input driver with keyboard support, audio driver
2018-12-28 22:09:22 +01:00
Francisco Javier Trujillo Mata 38397370e6 Apply proper color correction for 16 bits 2018-12-26 14:17:25 +01:00
Francisco Javier Trujillo Mata 69ad3273b9 Disable use of `setvbuf` for the PS2 2018-12-26 14:17:25 +01:00
Francisco Javier Trujillo Mata 40b028ebce Replace malloc for calloc in the ps2_gfx 2018-12-26 13:48:48 +01:00
Francisco Javier Trujillo Mata 90ba2df972 Put proper license in the files for the PS2 development 2018-12-26 13:48:48 +01:00
twinaphex 374384128c Revert "(D3D8/D3D9) Buildfixes"
This reverts commit 992d221af9.
2018-12-24 03:34:58 +01:00
Twinaphex 1aee59f9f4
Revert "Fix issue #2791 black bug" 2018-12-24 03:33:18 +01:00
twinaphex 992d221af9 (D3D8/D3D9) Buildfixes 2018-12-24 03:31:01 +01:00
Nano 770bd52411 Fix issue #2791 black bug 2018-12-23 18:31:21 +01:00
Themaister 077b108aa1 Vulkan: Fix potential crash when toggling fullscreen.
If we have HW rendering, and we toggle fullscreen while in the menu, we
don't have a ready HW image, so fall back to black dummy texture.
2018-12-12 13:28:46 +01:00
orbea 0735fbcd57 Fix build with '--enable-sixel'. (#7704)
First bad commit 2edd03361c
2018-12-06 10:09:03 -05:00
Themaister 124d9b57d6 Vulkan: Fix blue/red flip when using HW rendered cores with history.
Was using frontend format of BGRA8 when core was RGBA8, with blind
vkCmdCopyImage. Fix is to use the same format as core is pushing to
history buffer.
2018-12-06 11:38:30 +01:00
Stuart Carnie 0e295716b9
feat(metal): Add native rotation support for Metal driver
* fix crash when frame or frame size is 0
2018-11-29 22:04:43 -07:00
natinusala 9cad7135a9 libnx: implement focus gain and loss callbacks 2018-11-28 14:11:42 +01:00
twinaphex bc0dbffc01 Revert "Change custom_command_method_t returntype to int64_t"
This reverts commit e13efbd400.
2018-11-26 20:30:53 +01:00
twinaphex e13efbd400 Change custom_command_method_t returntype to int64_t 2018-11-26 17:39:04 +01:00
twinaphex 62c6d60c57 Revert "Cleanup shaders_common.h"
This reverts commit c1de2e5697.
2018-11-24 01:29:35 +01:00
twinaphex c5b9352c34 Revert "Rename some files"
This reverts commit 03a8bc9875.
2018-11-24 01:26:05 +01:00
twinaphex 08d024ecad Revert "Get rid of the header guards in shaders_common.h/glsl_common.h"
This reverts commit eef67ee0cd.
2018-11-24 01:25:55 +01:00
twinaphex eef67ee0cd Get rid of the header guards in shaders_common.h/glsl_common.h 2018-11-24 00:37:07 +01:00
twinaphex 03a8bc9875 Rename some files 2018-11-24 00:30:46 +01:00
twinaphex c1de2e5697 Cleanup shaders_common.h 2018-11-23 23:57:22 +01:00
Twinaphex 8514d6ccc8
Revert "Fix shader warnings" 2018-11-23 04:18:38 +01:00
Alfrix 3e7328b00a Fix shader warnings 2018-11-22 16:18:11 -03:00
jdgleaver ca13805937 (3DS) Add 'bottom screen' enable to User Interface menu 2018-11-14 16:41:19 +00:00
Francisco Javier Trujillo Mata 8065e19cc1 Improve Initalisation of GSTextures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 801927aaf5 Fixed issues with the colors. Now it is working fine with 2048 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 7fa7bd32d3 Now it supports force_aspect ratio 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 52544115db Add fullscreen parameter 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 4e1624359a Added Filter option in the creation of Textures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 66159a44e5 Some clean in gfx 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata b4d2c5d85a Refactor method where transfer the frame to the textures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 6b5ae4cdd6 Make more generic to choose the 32bits or 16bits 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 18dc40117d Applied color correction to the libretro core 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata b378ecf26b Test Core working with 2 textures 2018-11-09 22:40:51 +01:00
Francisco Javier Trujillo Mata 8a0266cf8d PS2 Input looks to be ready 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 21587ba2a4 Now RGUI shows fullscreen proper colors 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata f4680b03eb now it looks full screen 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 1f756533f9 First Content on the Screen!! 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata d7cc3b7983 PS2 making the gfx driver clean the screen 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 0880bd00b0 PS2 is compiling with null drivers 2018-11-09 22:40:50 +01:00
twinaphex f271ea789d (VG) Buildfix 2018-11-06 20:58:41 +01:00
Themaister 66e7c73193 Keep enable state the same after loading new overlay. 2018-10-18 23:37:45 +02:00
Themaister 3f41cd533b Fix RGUI regression on Vulkan. 2018-10-16 23:29:17 +02:00
Brad Parker a92a27a230 gdi: ignore menu_shader_pipeline setting 2018-10-16 10:30:57 -04:00
twinaphex 778c3fff73 (GL) Use shader_driver directly 2018-10-15 06:47:18 +02:00
twinaphex 9e2d688e1d Get rid of video_context_driver_get_context_data 2018-10-15 01:27:18 +02:00
twinaphex 6b03a95b8d Cleanup 2018-10-14 20:04:29 +02:00
twinaphex 454761a6ed Get rid of video_context_driver_bind_hw_render 2018-10-14 19:49:24 +02:00
twinaphex 2edd03361c Remove video_context_driver_check_window 2018-10-14 17:49:29 +02:00
twinaphex c73d13d4bc Don't use video_context_driver_check_window anymore - go call it
directly
2018-10-14 08:40:00 +02:00
twinaphex 448d2d333c Set ctx_driver 2018-10-14 08:22:26 +02:00
twinaphex e661cf3cfd Rewrite video_context_driver_init_first 2018-10-14 08:13:05 +02:00
twinaphex 85c1de7d3a Cleanups 2018-10-11 05:05:21 +02:00
twinaphex 75f8e2e7a1 Revert 2018-10-11 03:52:38 +02:00
twinaphex 0782c3c820 Cleanups 2018-10-11 03:26:39 +02:00
Twinaphex 77f508dccb
Merge pull request #7411 from fr500/presets
fix auto shader preset loading in d3d10, d3d11, d3d12
2018-10-11 02:34:12 +02:00
radius 454efe03dc fix auto shader preset loading in d3d10, d3d11, d3d12 2018-10-10 19:02:36 -05:00
twinaphex 5b4473b948 Create gl_set_core_context 2018-10-10 18:24:41 +02:00
twinaphex c3c169aeab Add this 2018-10-10 18:08:13 +02:00
twinaphex f336fa0337 CXX_BUILD fixes 2018-10-10 16:38:13 +02:00
Twinaphex 1fae526337
Merge pull request #7403 from bparker06/gdi_imp
win32: Improvements to GDI drivers
2018-10-10 16:13:10 +02:00
Brad Parker b9699f4780 gdi: texture load support, fix menu text alignment, support multi-line messages 2018-10-10 09:58:49 -04:00
twinaphex c02536af08 Roll all this back 2018-10-09 20:42:47 +02:00
flyinghead 8d586e1a0c Do not force the requested hw context to be Open GL 2018-10-09 20:31:40 +02:00
flyinghead c11e47b08a Checking for core context returns an error in GL3
This error should be ignored.
Mac build fix
2018-10-09 19:27:55 +02:00
Flyinghead d4815084ec Update the rendering context with the GL version whether it is a core context 2018-10-09 17:58:36 +02:00
twinaphex a27bce38cd Simplify gl_get_context 2018-10-09 16:46:40 +02:00
twinaphex 0b3ac4e39d Fix C++ comment 2018-10-09 15:28:09 +02:00
twinaphex 508e5efdd7 Revert "Should hopefully fix Reicast issues"
This reverts commit 509ecab3fe.
2018-10-08 18:54:26 +02:00
twinaphex 509ecab3fe Should hopefully fix Reicast issues 2018-10-08 15:39:00 +02:00
twinaphex 60eb45c102 prevent some pointer grabbing 2018-10-01 02:00:07 +02:00
M4xw a8555a76c5 [LIBNX] Fix Switch video driver with enabled GL build 2018-09-28 22:53:46 +02:00
M4xw cf097d7f42 [LIBNX] Implement OpenGL 2018-09-27 01:23:24 +02:00
lifajucejo 1c097fbd5b gfxWaitForVsync not needed with libnx 1.4
- still honors ctx->vsync if enabled in _frame callback for throttling
2018-09-20 22:11:52 -04:00
twinaphex 60f4e39092 Buildfix 2018-09-19 02:10:10 +02:00
radius 16bd85b118 [recording] refactor recording_is_enabled no need to use a pointer for all of this 2018-09-15 21:09:41 -05:00
twinaphex f21493947d vim - add RetroArch style conventions 2018-09-15 17:43:34 +02:00
twinaphex 2fc08ce394 (switch_nx_gx.c) Some style nits 2018-09-15 17:39:03 +02:00
misson20000 abd86058c6 fix attribution (it's a common mistake) 2018-09-15 03:28:08 -07:00
misson20000 fa76a3cb60 CRLF -> LF 2018-09-15 03:27:05 -07:00
twinaphex ec5d046f4c Cleanups - get rid of strcmp references 2018-09-15 07:44:21 +02:00
twinaphex 7428fef4bc Cleanups 2018-09-12 21:50:11 +02:00
twinaphex 0158bbe4aa Add switch_nx_gfx.c 2018-09-12 21:44:53 +02:00
twinaphex 4738ef545c Change interval type to signed int 2018-09-12 00:08:13 +02:00
Themaister d39f66a738 Emulate mailbox by wrapping acquire in a thread.
Needed on nVidia Windows since they don't support timeout == 0 ...
2018-09-08 15:56:49 +02:00
Themaister 9ebac87638 Vulkan: Emulate mailbox on Windows. 2018-09-08 11:47:58 +02:00
Themaister af534f0fa8 Vulkan maintenance fixes.
- Use VkBuffer instead of linear VkImage for staging uploads.
  Not guaranteed to be supported, and desktop IHVs recommend using
  buffers.

- Fix validation error where swapchain recreation with reuse of the old
  VkSwapchainKHR does not create a fence properly, leading to validation
  error next time that swapchain index is observed.
2018-09-08 11:47:58 +02:00
Stuart Carnie 99f497de85 feat(Metal): Add support for screen shots 2018-09-02 17:55:02 -07:00
orbea 260ce526c2 Fix segfaults when starting vulkan without a working vulkan driver.
RetroArch will crash in several places when running vulkan in an
environment that does not have working vulkan drivers.

This should guard against those crashes and allow RetroArch to fail
safely in those cases.
2018-08-24 19:36:03 -07:00
twinaphex 90efa02718 Fix more scan-build issues 2018-08-18 16:16:17 +02:00
twinaphex 646e64c28c Fix some clang scan-build warnings/errors 2018-08-18 15:56:44 +02:00
Brad Parker e2ff7478ca don't return uninitialized data 2018-08-17 07:49:25 -04:00
twinaphex a1d5b0fd03 Update MSVC 2012 solution 2018-08-16 20:49:31 +02:00
Brad Parker 12539f310d use strl functions 2018-08-16 13:51:44 -04:00
twinaphex 6266065384 Fix more code when compiling without menu support 2018-08-16 09:59:51 +02:00
twinaphex 921e52e64f Remove old leftover buggy Win32 driver 2018-08-16 00:05:09 +02:00
twinaphex 6a64e27e3d (D3D8) Add HAVE_MENU ifdefs 2018-08-14 11:41:43 +02:00
twinaphex db9f4697f6 Add HAVE_MENU ifdefs 2018-08-14 11:40:42 +02:00
twinaphex 9c0ed0f2c4 Don't use core profile GLSL shaders for OpenGLES 2018-07-18 10:06:30 +02:00
twinaphex 0d39701145 Get rid of double void argument 2018-07-14 00:54:14 +02:00
Stuart Carnie 167ad3b57d fix(Metal): Various Metal fixes
* OSD message background
* clear glui background
* add Metal to configuration
* added optional config to compile Metal build without OpenGL
* fixed fill_pathname_join_delim; if out_path and dir are same, don't
  strlcpy, as the results are undefined.
2018-07-12 21:33:18 -07:00
Brad Parker ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
twinaphex 6b5ade4ac3 Should be no more deprecated warnings with core context GL for menu
shaders
2018-07-12 22:03:37 +02:00
twinaphex 60d7d1c793 Add xmb ribbon simple core shader 2018-07-12 21:34:17 +02:00
Stuart Carnie 40a1446c95 feat(Metal): Reload shader preset when Metal driver reinitialized 2018-07-07 07:31:43 -07:00
Stuart Carnie 74e1f24e90 feat(Metal): Full screen support
* I believe there is a race condition where the viewport is not set
  correctly on launch
2018-07-06 23:38:34 -07:00
Stuart Carnie a19ea2ed07 feat(Metal): Add support for overlays 2018-07-04 13:12:40 -07:00
Stuart Carnie 048aa16599 feat(Metal): Support vsync enable / disable 2018-07-04 09:50:09 -07:00
Stuart Carnie 5e1f991e32 feat(Metal): initial xmb and glui menu support
TODOs

* menu shader pipeline effects
* refactor / optimize graphics rendering
2018-07-03 22:32:12 -07:00
Stuart Carnie 367c15f488 feat(Metal): font rendering
* FPS and other OSD messages render correctly
* add autoreleasepool around entire render loop to avoid memory leaks
2018-06-23 23:54:23 -07:00
Stuart Carnie eacd52f009 fix(Metal): improve shader stability
* use MTKView, which handles layer and scaling changes automatically
  between displays
2018-06-23 13:33:27 -07:00
twinaphex 0d8729daa6 FIx warning 2018-06-21 08:12:02 +02:00
Stuart Carnie 411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
misson20000 1404b63219 fix for tearing (depends on libtransistor commit cf5d0403 in v2.0.0, which is yet to be released) 2018-05-30 18:04:58 -07:00
Tatsuya79 e96463645d
Disable gl hard sync in menu 2018-05-17 17:24:10 +02:00
twinaphex 6d2b5c8052 Move read_viewport function back to d3d9.c 2018-05-17 17:17:08 +02:00
twinaphex 2d540264e8 Start hooking up set_shader_mvp function 2018-05-15 06:02:10 +02:00
twinaphex 39f45a17d2 create d3d9_convert_geometry 2018-05-14 21:32:14 +02:00
twinaphex e9054159ec Remove set_font_rect callback 2018-05-14 16:57:34 +02:00
twinaphex 232d3f4d92 Take out add_state_tracker function callback for D3D9 renderchain 2018-05-14 06:33:51 +02:00
twinaphex 94955eb3b5 (D3D8) Do less casting 2018-05-14 05:14:26 +02:00
twinaphex cbe4c78979 (D3D8/D3D9) Cleanups 2018-05-14 04:55:33 +02:00
twinaphex 6a9b39da3f Get rid of d3d.h and xdk_defines.h 2018-05-14 03:57:27 +02:00
twinaphex 8beed4c1ec (360) Buildfix 2018-05-14 01:50:58 +02:00
twinaphex 380fa6fd5e Updates 2018-05-13 18:51:05 +02:00
twinaphex 46f23f9fbd Get rid of d3d_video_viewport 2018-05-13 18:24:19 +02:00
twinaphex c6cc2c930c Create d3d9_log_info 2018-05-13 18:01:09 +02:00
twinaphex 659d8a4ec6 (GL) Cleanups 2018-05-13 14:34:41 +02:00
twinaphex 5bde17025a Move min_filter_to_mag to gl_common.h 2018-05-13 14:24:49 +02:00
twinaphex 08820b5245 Cleanup gl_update_input_size 2018-05-13 06:43:24 +02:00
twinaphex 1f944afff7 (GL) Cleanups 2018-05-13 06:34:15 +02:00
twinaphex 999f1db694 Cleanup 2018-05-13 06:30:13 +02:00
twinaphex 41295ef7b9 Remove viewport_info callback from D3D9 renderchain interface 2018-05-13 06:29:17 +02:00
twinaphex dee50349ba Rename d3d_renderchain_driver to d3d9_renderchain_driver 2018-05-13 06:03:26 +02:00
twinaphex 494ddb16d9 Get rid of viewport_info callback function - was the same for both
GL1 and GL2 renderchains
2018-05-13 05:56:44 +02:00
twinaphex 542294900f (WinRT) More compilation fixes 2018-05-12 19:03:39 +02:00
Diego A 3b738e0b2d
Always enable vfilter, enable deflicker setting in progressive scan, fix vsync set to off 2018-05-10 18:44:22 -04:00
twinaphex 41d2ebf8b5 Apparently not available 2018-05-08 00:16:20 +02:00
twinaphex 2c409c606e (Winphone) should be _DISCARD 2018-05-07 23:19:42 +02:00
twinaphex 244f167dd5 (D3D11) Start adding D3D feature level 9 and Windows Phone ifdefs 2018-05-07 23:18:59 +02:00
Ash 68d789a4ea
[WiiU] Fix out-of-bounds rendering bug 2018-05-06 21:18:03 +10:00
twinaphex 6c09195f5e (D3D8/D3D9) Updates 2018-05-03 22:08:14 +02:00
twinaphex 6d019284f8 Get rid of some of the casts 2018-05-03 22:06:04 +02:00
twinaphex 82ebb9576f Create d3d9_video_t and d3d8_video_t 2018-05-03 22:03:12 +02:00
twinaphex 7bc66ae710 Buildfixes for MSVC 2015 2018-05-03 15:20:06 +02:00
twinaphex f1d707a043 Running gl_check_capability from gl_get_flags resulted in a crash
on some Android systems, so unfortunately we cannot selectively hide
away GPU Hard Sync for now
2018-04-26 20:45:01 +02:00
twinaphex 37b1c9e8e9 Add NULL entry 2018-04-26 16:05:57 +02:00
twinaphex 023e280319 win32_get_refresh_rate not available on Xbox 2018-04-25 14:20:37 +02:00
twinaphex 6b31bd8b48 Only show Menu Linear Filter for RGUI and only show it for
video drivers that implement it
2018-04-24 15:14:06 +02:00
twinaphex c506f489df (D3D8) Hook up Menu Linear Filter 2018-04-24 14:49:58 +02:00
twinaphex a75e7ede0d (D3D9) Implement Menu Linear Filter 2018-04-24 14:47:21 +02:00
twinaphex 45cea92ba2 Remove null_renderchain 2018-04-23 14:57:37 +02:00
twinaphex e54cb1b121 Only show black frame insertion for the video drivers/context drivers
that support it
2018-04-23 14:15:21 +02:00
twinaphex f1fa1d4879 Previously, GPU Hard Sync options would only show up if the
video driver was explicitly set to the GL driver; now, it can be
dynamically shown for more video drivers if there are going to be
more drivers supporting this feature other than GL
2018-04-23 13:42:09 +02:00
twinaphex c4c8699ee3 Only show max swapchain images if supported by video driver and/or
context driver
2018-04-23 13:34:30 +02:00
twinaphex b1a2d1991c (d3d10.c) Cleanups 2018-04-23 13:09:05 +02:00
twinaphex 6f3003554e (D3D10/D3D11/D3D12) Don't load menu pipeline shaders unless XMB
is selected
2018-04-23 12:59:28 +02:00
twinaphex eb69025ca8 Cleanups 2018-04-23 11:30:38 +02:00
twinaphex 2a655116a6 Set #define CINTERFACE in these files 2018-04-22 14:27:39 +02:00
twinaphex 248f1242dc Some warning fixes 2018-04-21 18:14:19 +02:00
twinaphex dae0f36a20 Some cleanups 2018-04-21 15:00:35 +02:00
twinaphex 30c824c30a Try to fix MSVC warning 2018-04-21 08:54:57 +02:00
twinaphex 6929db9fb6 (D3D10/D3D11) Compile shaders with SM 4.0 instead of 5.0 2018-04-21 05:36:59 +02:00
twinaphex 832cc4e945 (MSVC) Silence warnings 2018-04-21 05:20:22 +02:00
aliaspider b78dcf9f4c update D3D10 driver. 2018-04-21 03:56:19 +01:00
twinaphex 9f2b56a929 Update Direct3D 10 driver 2018-04-21 03:27:41 +02:00
twinaphex 16df2ceb4e Fix Xbox OG 2018-04-17 11:39:59 +02:00
twinaphex b0e62f3ec6 (D3D11) Add more feature levels
(D3D11) If CreateDeviceAndSwapchain fails, error out gracefully
2018-04-17 21:29:02 +02:00
Brandon Wright c4f818599c Add some fbdev refresh rate polls. Also Xv. 2018-04-16 16:23:59 -05:00
Brandon Wright 95f8205fd1 Add DRM interface for refresh rate. 2018-04-16 15:36:46 -05:00
Brandon Wright e049605359 Add refresh rate polling to Win32 >= Windows 7. 2018-04-15 19:33:38 -05:00
Brandon Wright 533f898132 Add get refresh rate context function. Implement for X11 and Wayland. 2018-04-15 17:56:12 -05:00
Brandon Wright 7a00534378 Add poke interface for get_refresh_rate. 2018-04-15 17:56:11 -05:00
twinaphex 97cf6613da (XMB/Shaders) Reimplement menu shader loading for GLSL/Cg/HLSL backends - if
XMB is selected, it will compile the shader pipelines in
advance
2018-04-12 02:20:17 +02:00
twinaphex 260cd62482 Cleanup some CXX_BUILD warnings 2018-04-09 18:53:26 +02:00
twinaphex 50edd0d467 Remove unused variable 2018-04-09 16:45:44 +02:00
Twinaphex 08a54e45f2 Get rid of a lot of implicit conversions 2018-04-09 15:56:45 +02:00
twinaphex 92b46a8275 Some cleanups 2018-03-30 15:50:27 +02:00
Brandon Wright 3bbff3c689 Use _NET_WM_STATE_FULLSCREEN as a first measure, only falling back to override-redirect when not supported. 2018-03-29 17:13:51 -05:00
Brandon Wright 5da1aa0af7 Allow compositor disabling on X11 fullscreen through _NET_WM_BYPASS_COMPOSITOR.
Note: KWin doesn't bypass compositor on override-redirect windows, so enabling windowed fullscreen is necessary.
2018-03-29 15:20:14 -05:00
twinaphex 6e662a8064 (D3D12) Buildfix 2018-03-29 15:29:36 +02:00
twinaphex ef5830b233 Silence some CXX_BUILD warnings 2018-03-29 15:27:30 +02:00
Dwedit 2c1cb6cf55 Rename "cached_device" to "cached_device_d3d11" avoid a name conflict on griffin builds 2018-03-28 10:33:37 -05:00
aliaspider 97ecba8575 D3D11: hwrender: add support for cache_context. 2018-03-26 17:44:08 +01:00
aliaspider 3d96cacd71 add experimental D3D11 hwrender support. 2018-03-25 23:14:14 +01:00
aliaspider 88d1c1fdca msvc build fix. 2018-03-25 23:11:31 +01:00
twinaphex 9b8713aebd Fix Coverity defects 2018-03-24 11:59:01 +01:00
twinaphex 9057ffbde4 use boolean.h instead of stdbool.h 2018-03-24 11:45:50 +01:00
twinaphex 4d1b4f905f Start adding OSD statistics - doesn't work yet for SDL2/SDL 2018-03-23 17:43:49 +01:00
orbea 7526b12338 Fix apitrace shader compiler warning.
2418: message: major shader compiler issue 2: 0:3(311): warning: `atime' used uninitialized
  2418 @0 glCompileShader(shader = 27)
  2418: warning: 0:3(311): warning: `atime' used uninitialized
2018-03-20 17:39:33 -07:00
aliaspider b948cf46e7 (Vulkan) add missing queue locks when calling vkQueueWaitIdle. 2018-03-15 09:21:23 +01:00
twinaphex 32b2808fe0 Revert "Turn scaler_ctx_scale_direct into inline function"
This reverts commit d51edd8239.
2018-03-14 23:48:47 +01:00
twinaphex d51edd8239 Turn scaler_ctx_scale_direct into inline function 2018-03-11 18:14:17 +01:00
misson20000 e934f11065 NSW: skip frames if we can't acquire a buffer (newer libtransistors use three buffers, making this very unlikely to happen) 2018-03-06 20:55:40 -08:00
misson20000 4a4de74518 NSW(gfx): clear image row-by row for better caching (it's seriously a LOT faster), do pixel format conversion in scalers, and remove timing debug messages 2018-03-06 19:52:03 -08:00
misson20000 90c36c52ce NSW: fix graphics driver colors for rgb32 and don't break aspect ratio when scaling menu texture 2018-03-05 23:45:28 -08:00
misson20000 7487d938b3 NSW: remove global state in graphics driver, as it is no longer necessary 2018-03-05 20:14:52 -08:00
twinaphex 63823b339a Buildfix for D3D8 2018-03-03 15:34:21 +01:00
twinaphex b4a743fff4 Split up menu display drivers for D3D8/D3D9 into separate drivers;
split up d3d_common into separate files
2018-03-03 15:28:58 +01:00
twinaphex 0566b056a5 Take out d3d_common function call from d3d_w32_font.c 2018-03-03 05:42:14 +01:00
twinaphex 3f1ae25713 (D3D8) Buildfix 2 2018-03-02 17:44:48 +01:00
twinaphex ed67653086 (D3D8) Buildfix 2018-03-02 17:43:58 +01:00
twinaphex 371b6a604e (Xbox) Buildfix 2018-03-02 17:43:18 +01:00
twinaphex 588707f543 Cleanups 2018-03-02 17:30:21 +01:00
twinaphex 0ec5ce8cfe Get rid of d3d context drivers 2018-03-02 17:23:43 +01:00
twinaphex 95371cbda1 (Xbox 360) Buildfix 2018-03-02 17:05:30 +01:00
twinaphex dfdbc00a84 Cleanup Xbox 360 code from d3d_ctx 2018-03-02 17:03:34 +01:00
twinaphex dbf2fae5c1 (D3D9) Get rid of context driver 2018-03-02 17:00:11 +01:00
twinaphex fc9e018534 Implement d3d9_set_video_mode 2018-03-02 16:53:15 +01:00
twinaphex 7c599b715e Implement d3d9_has_windowed 2018-03-02 16:46:32 +01:00
twinaphex 9606db6f79 Start untangling more functions from context driver 2018-03-02 16:38:57 +01:00
twinaphex af5a2f61a1 (D3D9) Start getting rid of context driver for D3D9 driver 2018-03-02 15:30:39 +01:00
twinaphex 696fa900a1 Refactor macro functions which were unsafe 2018-02-26 18:08:17 +01:00
twinaphex 5b79d2b942 Refactor video_shader_driver_set_parameters 2018-02-26 17:51:52 +01:00
twinaphex 7acd4b1847 (Windows) Buildfixes - use fseek for MSVC 2003 and earlier 2018-02-17 19:11:49 +01:00
twinaphex 89cd494ab7 (WiiU) Buildfix 2018-02-17 11:27:14 +01:00
radius 7913b88853 fix potential wiiu crash 2018-02-17 00:10:08 -05:00
twinaphex 070c09faec Avoid more pointer grabbing for video driver ptr 2018-02-16 20:42:37 +01:00
twinaphex 1e2d8de9ca Move renderchain code to the relevant files 2018-02-16 11:24:10 +01:00
Andrés d3504abc5d
try to fix shader preset loading on WiiU 2018-02-12 12:27:16 -05:00
Andrés 521433d1c7
Merge pull request #6293 from aliaspider/master
(D3D) better handling of frame duping.
2018-02-11 21:36:21 -05:00
aliaspider 72e6909aaa (D3D) better handling of frame duping. 2018-02-12 03:25:37 +01:00
Twinaphex 34edaaf98b
Merge pull request #6291 from aliaspider/master
(D3D12) silence warning.
2018-02-12 01:32:16 +01:00
aliaspider 8a93e8d503 (D3D12) silence warning. 2018-02-12 01:29:44 +01:00
Twinaphex e428cec428
Merge pull request #6290 from aliaspider/master
(D3D11/12) add overlays.
2018-02-12 01:25:19 +01:00
aliaspider 98682197c9 (D3D11/12) add overlays. 2018-02-12 01:19:43 +01:00
Twinaphex 327e2237d6
Merge pull request #6289 from aliaspider/master
(D3D11/12) prevent double-free when resizing framebuffers.
2018-02-11 23:03:04 +01:00
aliaspider 19aed2af36 (D3D11/12) prevent double-free when resizing framebuffers.
(D3D12)
- correctly support lut/filtering/wrap options for slang shaders.
- rework frame sync.
2018-02-11 22:56:37 +01:00
twinaphex 6738d64546 Cleanups 2018-02-11 16:45:40 +01:00
Twinaphex d8257f4817
Merge pull request #6279 from aliaspider/master
(D3D12) slang shaders support.
2018-02-11 02:00:46 +01:00
aliaspider 37bebb5b65 (D3D12) slang shaders support. 2018-02-11 00:00:20 +01:00
twinaphex b31779c588 (D3D8/9) Don't do allocation for this struct 2018-02-10 22:27:38 +01:00
twinaphex b45b1b3e55 (D3D8) Refactor texture loading to no longer be thread-unsafe 2018-02-10 21:36:40 +01:00
twinaphex b141c37fe9 Get rid of set_mvp function in D3D9 renderchain driver - use
one common set_mvp function instead
2018-02-10 21:21:09 +01:00
twinaphex 843a7f200c (D3D9) Make video texture load functions thread-safe 2018-02-10 21:13:24 +01:00
aliaspider e11209ac79 (D3D12) precompute alpha before scaling when generating mipmaps. 2018-02-09 16:33:08 +01:00
aliaspider 6fe379d978 (D3D12) add a compute shader for mipmap generation. 2018-02-09 14:57:07 +01:00
Twinaphex 8e33b35b09
Merge pull request #6257 from aliaspider/master
(D3D11/12) fix dialogbox / gradient.
2018-02-08 20:54:05 +01:00
aliaspider 97813b9722 (D3D11/12) fix dialogbox / gradient. 2018-02-08 17:11:24 +01:00
radius 30353792a5 update gx2_gfx to use retroarch_get_shader_preset() 2018-02-07 21:26:01 -05:00
radius e9b7c7267e fix some potential crashes when a shader is not set in config 2018-02-07 21:26:01 -05:00
radius c64d5556c1 readd shader to config, let's use a runtime check instead of overwritting the shader preset all the time 2018-02-07 21:25:59 -05:00
aliaspider 0d88799e6d (D3D12) add menu display driver. 2018-02-08 00:18:05 +01:00
aliaspider 92afd7387d (D3D12) add a font driver. 2018-02-08 00:18:04 +01:00
aliaspider e42015e026 (D3D12) allow for dynamic allocation of descriptors. 2018-02-08 00:18:04 +01:00
aliaspider 757a9c08de (D3D) refactors. 2018-02-08 00:18:04 +01:00
aliaspider 4ccb844ad6 (D3D12) add font and menu pipelines. 2018-02-08 00:18:04 +01:00
aliaspider b030588669 (D3D12) refactor d3d12_init_samplers, add support for wrap modes. 2018-02-08 00:18:04 +01:00
aliaspider 6d90aae5d6 (D3D12) refactor init_pipeline. 2018-02-08 00:18:04 +01:00
twinaphex cbd5e87711 Indenting nits 2018-02-04 22:12:53 +01:00
twinaphex 534e5bbf34 Make code compatible when compiled as C++ 2018-02-04 21:50:05 +01:00
twinaphex 028fc18294 Fix more warnings 2018-02-04 21:12:42 +01:00
twinaphex 2b4890220a (D3D) Silence CXX_BUILD warnings 2018-02-04 20:40:28 +01:00
aliaspider 700fce3bd2 various fixes for CXX_BUILD. 2018-02-04 20:03:27 +01:00
twinaphex ac22a9ce20 (D3D10) Start making D3D10 ready for CXX_BUILD 2018-02-04 17:11:00 +01:00
twinaphex 8771171f63 (glslang) Compatibility tweaks for MSVC 2010 compatibility 2018-02-04 15:49:53 +01:00
Twinaphex e5610d5ddb
Merge pull request #6228 from aliaspider/master
(slang) slang_process: simplify data mappings.
2018-02-03 17:27:25 +01:00
aliaspider 76d07cd6a7 (slang) slang_process: simplify data mappings. 2018-02-03 17:22:47 +01:00
twinaphex df632814e6 Add appropriate HAVE_SPIRV_CROSS ifdefs 2018-02-03 17:13:36 +01:00
twinaphex 1464995fdc (D3D11) ability to compile without HAVE_SLANG 2018-02-03 17:01:47 +01:00
twinaphex dac1f10708 C89_BUILD fixes 2018-02-03 15:16:04 +01:00
Twinaphex 50e902f2ea
Merge pull request #6227 from aliaspider/master
(D3D11) multi-pass shaders: add support for history frames.
2018-02-03 14:48:48 +01:00
twinaphex 0b4ccf25e7 Revert "* d3d11.c - minor cleanups for C89"
This reverts commit fa458b2f5c.
2018-02-03 14:48:34 +01:00
twinaphex fa458b2f5c * d3d11.c - minor cleanups for C89
* C89 build fixes for D3D9X headers
2018-02-03 14:01:32 +01:00
aliaspider e225e96025 (D3D11) multi-pass shaders: add support for history frames. 2018-02-03 13:29:00 +01:00
twinaphex d446742d4b Some C89_BUILD build fixes 2018-02-03 12:47:53 +01:00
aliaspider e30c7edd8d (D3D11) multi-pass shaders: add support for feed-back textures. 2018-02-02 19:57:45 +01:00
aliaspider 6fe3a31617 (D3D11) multi-pass shaders: add support for wrap modes and lut
mipmapping.
2018-02-02 17:18:41 +01:00
aliaspider 2a25e284af (D3D11) better handling of FBO scale. 2018-02-02 14:39:53 +01:00
Twinaphex ba3513fb70
Merge pull request #6215 from aliaspider/master
(slang) slang_process.cpp: add support for more shaders.
2018-02-01 21:10:04 +01:00
aliaspider 461a936eb4 (D3D11) correct the size data of the last pass. 2018-02-01 20:56:40 +01:00
Twinaphex f096e667d8
Merge pull request #6204 from aliaspider/master
(D3D11) Implement slang shader specification using Spirv-Cross.
2018-02-01 16:33:58 +01:00
aliaspider 0aa1164a6f (D3D11) fix fbo size when no scale factor is specified. 2018-02-01 16:29:40 +01:00
aliaspider 3865856aa2 (D3D11) add support for `#pragma format` in slang shaders. 2018-02-01 15:07:12 +01:00
aliaspider 91298255ad (D3D11) resize fbos when the viewport size changes. 2018-02-01 12:45:35 +01:00
aliaspider 4dd8fb4df9 (D3D11) make sure the stock shader is set before drawing the menu
texture.
2018-02-01 12:31:24 +01:00
aliaspider e6c455d2c6 (D3D11) move format support checks to d3d11_init_texture(); 2018-02-01 11:21:51 +01:00
aliaspider d8924d6fbb (D3D11) clear out all unused texture/sampler bindings each pass to avoid
hazards with SetRenderTargets.
2018-01-31 17:05:48 +01:00
aliaspider f7b5baccb6 (D3D11) always save emitted hlsl code when debugging. 2018-01-31 16:12:55 +01:00
aliaspider f907f2ea7d (D3D11) save spirv-cross's hlsl output when shader compilation fails. 2018-01-31 15:55:59 +01:00
aliaspider 5e09af9c77 (D3D11) attach identifiers to the generated slang semantic mappings to
simplify debugging.
2018-01-31 12:00:39 +01:00
radius d953ec2b5f load shader presets at startup on wiiu 2018-01-30 22:49:49 -05:00
aliaspider 5bc78d3ad5 (D3D11) Implement slang shader specification using Spirv-Cross.
(incomplete)
2018-01-31 01:08:36 +01:00
twinaphex 08e61230e9 Update video_poke_interface 2018-01-30 22:29:57 +01:00
twinaphex b0b39ff899 Cleanups 2018-01-30 22:16:16 +01:00
twinaphex 7dcd46a20f Get rid of HAVE_MENU ifdefs for video_driver_poke interface 2018-01-30 22:14:47 +01:00
aliaspider b228775b0d (D3D10/11/12) allow building without HAVE_D3D9 2018-01-30 21:33:25 +01:00
twinaphex a6f8013c24 More MSVC2013 buildfixes 2018-01-29 17:19:36 +01:00
twinaphex 2906744a0d (D3D10) Add non_HAVE_DYNAMIC codepaths 2018-01-29 15:33:30 +01:00
twinaphex 03e800c1c8 Add HAVE_D3D11 to MSVC 2013 - we need non-HAVE_DYNAMIC codepaths
for D3D11
2018-01-29 14:05:44 +01:00
cucholix 648032bd75
Update gx2_gfx.c 2018-01-26 16:10:04 -03:00
cucholix de6c185e88
Shader parameters saving fix
It's @aliaspider code :p
2018-01-26 15:49:34 -03:00
Twinaphex f97ebfbf1f
Merge pull request #6179 from aliaspider/master
(D3D11) add the remaining menu shaders.
2018-01-25 17:18:59 +01:00
aliaspider c0117f077b (D3D11) add the remaining menu shaders. 2018-01-25 17:07:23 +01:00
twinaphex 3adb6cc5a8 CXX_BUILD fixes 2018-01-25 16:42:10 +01:00
twinaphex b0f7728606 CXX_BUILD - buildfixes 2018-01-25 15:54:37 +01:00
aliaspider a2cddb27e5 (D3D11) refactors. 2018-01-25 15:48:53 +01:00
twinaphex 204f9aa484 (360) More buildfixes 2018-01-25 15:35:07 +01:00
twinaphex d4367ed993 Cleanups 2018-01-25 15:30:48 +01:00
twinaphex b9e65fc750 (D3D8) Buildfixes 2018-01-25 14:38:24 +01:00
twinaphex 8f4a1b748b (D3D8/D3D9) More dehardcoding 2018-01-25 14:34:20 +01:00
Twinaphex 994e07fa3d
Update d3d.h 2018-01-25 13:24:39 +01:00
Twinaphex 4315b57791
Update d3d8.c 2018-01-25 12:27:02 +01:00
Twinaphex 8797fa95eb
Update d3d9.c 2018-01-25 12:26:45 +01:00
Twinaphex 1163c1aef8
Update d3d.h 2018-01-25 12:26:12 +01:00
twinaphex aa66ca8bf4 (D3D8) Buildfix 2018-01-25 11:51:24 +01:00
twinaphex 766f3b33c7 Dehardcode some more opaque types defined by macros 2018-01-25 11:50:07 +01:00
twinaphex a18e7767f3 Fix some unreferenced local variable warnings 2018-01-25 10:25:50 +01:00
twinaphex 2634a5ea2d (D3D8) Cleanups 2018-01-25 10:12:49 +01:00