Commit Graph

2873 Commits

Author SHA1 Message Date
twinaphex 01bd76405f Buildfixes 2020-06-13 08:37:26 +02:00
valadaa48 3abcb2b922 Add ffwd to non-threaded oga_gfx driver 2020-06-09 20:24:28 -04:00
jdgleaver 1fde6f8aed Fix 3DS build 2020-06-09 10:57:00 +01:00
Themaister cd4f22c275 Vulkan: Add path which uses WSI acquire semaphores.
Fence wait path has some issues on certain platforms. For now, gate this
on whether the GPU is integrated or not.
2020-06-09 00:24:29 +02:00
Themaister 15df55d011 Vulkan: Refactor swapchain index and frame index.
Do not tie these concepts together, it will not work for upcoming
refactor of swapchain logic.
2020-06-09 00:24:29 +02:00
twinaphex 2660182d52 Get rid of gfx_widgets_ready call inside
gfx_widgets_frame
2020-06-08 05:45:15 +02:00
twinaphex be76958070 Unneeded gdi_has_menu_frame 2020-06-07 02:56:56 +02:00
Francisco José García García 13b5450ff9 [GL1] Initial changes for hw context without FBO 2020-06-03 20:48:16 +02:00
Guo Yunhe e9916df9d0 Change keys to upper case 2020-06-02 10:28:00 +03:00
Rinnegatamante 14a6c42e0d [VITA] Using a global to prevent erroneous vitaGL re-initializations. 2020-06-01 11:12:16 +02:00
twinaphex e030986837 Replace fprintfs with RARCH_LOG/RARCH_ERR 2020-05-24 19:29:55 +02:00
Vladimir Serbinenko c9c2d8a0b6 xshm_gfx: Add missing casts 2020-05-24 06:34:59 +02:00
Vladimir Serbinenko 54a07eaa60 Move decarations to the start of function 2020-05-24 06:33:20 +02:00
Vladimir Serbinenko 3f5eb55405 Replace C++ commants with C89 ones 2020-05-24 06:32:36 +02:00
Vladimir Serbinenko 77829a8e5b Rename xshm to x11 as it can now work without shm
xshm was disabled, so no problem with config update
2020-05-24 05:11:53 +02:00
Vladimir Serbinenko 62bb1d4da4 xshm: Allow to operate without shm extension
In most cases it doesn't make a nice gameplay but is still useful for debugging
on remote system and xnest
2020-05-24 05:01:51 +02:00
Vladimir Serbinenko c4b4961ed1 xshm: fix compatibility with x input 2020-05-24 03:52:13 +02:00
Autechre 942d82593b
Merge pull request #10691 from phcoder/rbxv
Fix xvideo support on xwayland and input in general
2020-05-23 05:47:57 +02:00
Vladimir Serbinenko a86e8e0f36 Support YV12
Only I420 and YZ12 are available on xwayland. Support it
2020-05-23 05:39:18 +02:00
Vladimir Serbinenko 9c4fde00ce xvideo: Fix order of context init
Current order causes an error in x11_input init and hence keyboard
doesn't work
2020-05-23 04:36:53 +02:00
twinaphex d717f3537a Update sdl2_gfx.c 2020-05-22 22:58:41 +02:00
barbudreadmon 2052f1595c
(vita) try at fixing upside-down vertical games
it is a blind commit, i don't have access to the hardware, see #6859 for more explanations
2020-05-22 12:02:19 +02:00
twinaphex 060ad38905 (WiiU) Buildfix 2020-05-20 23:34:23 +02:00
Francisco Javier Trujillo Mata 1eeb3dcf30 Adapt PS2 port to new SDK with newlib support (CDVDFS support is missing) 2020-05-20 20:13:19 +02:00
twinaphex a8fdfd77ce Make gamma correction 'int' type across the board 2020-05-20 15:04:16 +02:00
twinaphex ad1aa59ce1 Cleanup != NULL comparisons 2020-05-19 21:15:06 +02:00
twinaphex 9ace693ec0 Refactor menu_driver_frame 2020-05-19 16:20:43 +02:00
twinaphex 1d1c7e5a0d (PSL1GHT/GCM) Style nits 2020-05-12 15:10:15 +02:00
Vladimir Serbinenko 05500c6c39 dos: Add 32-bit gfx support 2020-05-12 03:09:38 +02:00
Vladimir Serbinenko 67c3c93aec dos fixes 2020-05-12 03:09:38 +02:00
Vladimir Serbinenko cc73de48d6 Fix dos compilation 2020-05-12 03:09:38 +02:00
twinaphex d995fa045a (GDI) Get rid of unused functions 2020-04-29 18:40:48 +02:00
twinaphex bb27496e2e Prevent NULL pointer dereference 2020-04-29 14:38:11 +02:00
twinaphex 9b8c596057 (GL Core) Buildfix for video context drivers that dont
implement this callback
2020-04-29 13:50:21 +02:00
twinaphex c88ffa56ff (Vulkan) Fix crash 2020-04-25 17:44:13 +02:00
jdgleaver 0e3026d41f (Vulkan) Fix display of statistics text 2020-04-23 17:48:15 +01:00
twinaphex 9f3a2db44e Merge branch 'master' of https://github.com/libretro/RetroArch 2020-04-17 16:24:39 +02:00
valadaa48 587a425f77 oga_gfx: move non-inlined function out of loop 2020-04-11 02:30:39 +00:00
twinaphex a9154373fc Merge branch 'master' of https://github.com/libretro/RetroArch 2020-04-02 02:13:12 +02:00
Twinaphex 8292f31ea0 Fix unused variable warning 2020-04-01 20:43:03 +02:00
Twinaphex d0a9de01a3 (GL) Fix unused variable setting 2020-04-01 20:41:38 +02:00
Vladimir Serbinenko 2fb7ba22e5 PSL1GHT port
Working:

* packaging
* running cores
* switching cores
* gamepad including axis
* rgui
* audio
* video

Not working:

* OSD
* menus other than rgui
* shaders
* Graphical acceleration
* Proper signing
* ODE build
* rumble
* keyboard
* mouse

Not tested:

* A lot
2020-03-30 05:39:22 +02:00
twinaphex 92c472c227 Merge branch 'master' of https://github.com/libretro/RetroArch 2020-03-29 06:01:31 +02:00
Autechre 15c661a374
Merge pull request #10262 from valadaa48/odroidgo2_drm_ctx_hw_scaling
Add drm_go2_ctx for odroidgo2
2020-03-29 04:40:57 +02:00
valadaa48 2d2bd625c6 Register signal handler for oga video driver 2020-03-28 04:54:33 +00:00
twinaphex 19c68fad43 Take out cb_update_window_title and cb_get_metrics 2020-03-28 05:36:31 +01:00
valadaa48 6e4228b054 Add drm_go2_ctx for odroidgo2
- Revert odroidgo changes to drm_ctx
- Introduce new drm_go2_ctx specifically for odroidgo2 (and libgo2)
- Add hw_scaling option to mitigate builtin gl scaling/filtering and to
use libgo2 and rga's hw scaling and bicubic filtering via librga. The
quality of the image is improved by this and should be a bit faster.

Credits to CrashOverride for the initial libgo2 port and
commit to RA. And to natinusala for the initial cleanup/commit in the original
drm_ctx driver. NOirBRight for finding this setting and testing.
2020-03-28 03:30:28 +00:00
valadaa48 53fffbd670 Add "oga" graphics driver for odroid go advance
libgo2 improvements

- Expose rga scale mode as param for future use
- Cleanup whitespace
- Add option to disable managed surfaces and allow direct posting to drm
  driver

oga graphics driver

- Uses direct framebuffers in libgo2
- Bitmap font only supported for now
- Uses built-in bicubic filtering: graphics quality better than gl + bilinear
- Support for rotation
2020-03-22 23:35:22 -04:00
natinusala 00590f2077 Fix VG and VC EGL 2020-03-20 09:19:06 +01:00
Javier Martinez Canillas 42e8890c91
(GL) Fix NULL pointer dereference in gl2_init()
Commit 10df615d14 ("add "Send Debug Info" option under Help") added some
debug information that contains the GL_VENDOR, GL_RENDERER and GL_VERSION
strings that are returned by the glGetString() function, and is used by
algorithms to recognize the platform.

But in some GL contexts, these may be NULL which leads to a NULL pointer
dereference when trying to copy the returned strings. Commit 97247dbaec
("gl1: check for vender/renderer was in the wrong place") later fixed it
for the GL1 driver, but it missed doing the same for the GL driver.

For example, on an Exynos Odroid XU4 with a mali-fdev GL context I get:

$ retroarch -v
[INFO] RetroArch 1.8.5 (Git 8d3f25f)
[INFO] === Build =======================================
[INFO] Capabilities:  NEON VFPv3 VFPv4
[INFO] Built: Mar 18 2020
[INFO] Version: 1.8.5
[INFO] Git: 8d3f25f
[INFO] =================================================
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 30000.00 Hz.
[INFO] [Video]: Video @ 960x720
[INFO] [EGL] Falling back to eglGetDisplay
[INFO] [EGL]: EGL version: 1.4
[INFO] [GL]: Found GL context: mali-fbdev
[INFO] [GL]: Detecting screen resolution 0x0.
[INFO] [EGL]: Current context: 0xf08e20.
[INFO] [GL]: Vendor: (null), Renderer: (null).
[INFO] [GL]: Version: (null).
Segmentation fault (core dumped)
2020-03-18 23:44:50 +01:00
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