Commit Graph

2873 Commits

Author SHA1 Message Date
OsirizX b96a0c495a [VITA] Add support for Vita GLES2 (PIGLET) 2021-01-06 19:14:30 +01:00
pcjco a33bcfead7 Some null pointer check
fix Wii version crash on load.
2021-01-06 00:03:31 +01:00
valadaa48 659fb73867 oga_gfx: support for OGS 2021-01-04 18:58:58 -05:00
Francisco José García García 899ec9f9f4 [VITA] Disable depth test if needed 2021-01-03 17:31:18 +01:00
Francisco José García García d83dcba0dd [VITA] Fixes for GL HW renderer 2021-01-03 17:20:21 +01:00
HyperspaceMadness 0c526b6498 Shaders Load Refactor and Fix Referenced Texture Loading
Partial update to work with shaders directly

More Edits

More changes

more shader fixes

More Fixes Compiling, reference load still wrong

Added Feedback & things are working

Logging Fixes

Log Fix

More Fixes

Added Feedback Logging

Fixes for file pathing in Linux

Fix GLCore and Crash in QT Saving

Code Cleanup

Removed Unused Function filepath.c

Code Cleanup
2020-12-26 21:09:27 -05:00
twinaphex 8df5fe2a60 CLeanup 2020-12-20 16:48:52 +01:00
aliaspider 16f997172f (D3D12) allocate rt_view descriptors for feedback render targets too. 2020-12-20 08:08:04 +01:00
aliaspider bf2adda421 (D3D12) move D3D12SignalCommandQueue to d3d12_gfx_sync. 2020-12-20 07:13:11 +01:00
twinaphex 7d313647ae (D3D11) Add flip model support - fallback to blit model for OSes
where flip model is not supported (windows 7 and earlier). Will add
a menu option later allowing the user to switch inbetween the two
2020-12-17 14:39:58 +01:00
twinaphex 38ce3927ae (D3D10/11/12) Increase sprite capacity, we need this so that
the hardware rendered menu drivers don't glitch out
2020-12-17 08:31:06 +01:00
twinaphex 2a8024a71b (D3D10) Cleanups - create init_swapchain function 2020-12-15 23:05:58 +01:00
twinaphex 093dc30ffd Refactor d3d11_init_swapchain some more 2020-12-15 22:56:29 +01:00
twinaphex a1fd1d425c (D3D11) Split init swapchain code up into own function 2020-12-15 08:19:04 +01:00
twinaphex ad2502b645 (D3D11) Change this back 2020-12-15 08:09:48 +01:00
twinaphex d55ca599e0 Replace with macros 2020-12-15 07:28:39 +01:00
twinaphex cdca5d0afc Turn vulkan_copy_staging_to_dynamic into macro 2020-12-15 07:20:33 +01:00
twinaphex d70420a12d vulkan_copy_staging_to_dynamic - put sync texture to GPU
outside of the function
2020-12-15 07:01:00 +01:00
twinaphex 6b38a7916a (Vulkan) Simplify code 2020-12-15 06:19:48 +01:00
valadaa48 bbb9c1d248 oga_gfx: implement RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER 2020-12-13 21:16:11 -05:00
Autechre 71ed4db45a
Merge pull request #11681 from crystalct/master
Fix multipass shaders on PS3 - fix #11673
2020-12-11 20:18:35 +01:00
jdgleaver f657344d85 (OpenDingux/sdl_dingux_gfx) OSD font clean-up 2020-12-11 17:33:41 +00:00
unknown 96a7db2451 Fix multipass shaders on PS3 2020-12-11 18:22:27 +01:00
twinaphex 625f0d4fc6 Improve conditional 2020-12-05 04:54:22 +01:00
twinaphex 9688554921 (D3D11) Use SWAP_EFFECT_*_DISCARD from now on fallback PC codepath 2020-12-05 04:48:11 +01:00
Conrad Kreyling 9cfe50ddd3
Fix missing division sign in sunxi_gfx.c
Same fix as 71c031099b for the same problem, just in a different file.
2020-11-23 13:31:16 -05:00
aliaspider c6b77f6c62 (D3D11) get the hwrender texture format from the view desc
the format set in the texture desc isn't necessarily the same as the
view format.
2020-11-15 15:07:53 +01:00
aliaspider b3134fc05a (D3D11) fix slang shaders 2020-11-15 13:04:24 +01:00
aliaspider b7d3efc503 (D3D11) rename D3D11SetState to D3D11SetRasterizerState. 2020-11-14 04:29:44 +01:00
Rinnegatamante c04d9d62db Don't realloc video buffer when unnecessary. 2020-11-13 14:55:40 +01:00
jdgleaver 3481437b29 OpenDingux: Fix frozen video when enabling fast forward 2020-10-29 15:50:12 +00:00
Justin Weiss 91c695ac52 [3DS] Allow sideways screen rotation 2020-10-27 21:13:19 -07:00
valadaa48 82ce3ae632 oga_gfx: use 32bit aligned surface and other cleanups 2020-10-23 23:34:31 -04:00
twinaphex 2fb60e9510 Cleanup 2020-10-16 00:24:59 +02:00
twinaphex 44b7234756 Move cheat_manager and state_manager to root folder 2020-10-15 05:29:20 +02:00
Francisco José García García 085e592761 [VITA] Workaround: Increase memory threshold 2020-10-12 19:24:49 +02:00
jdgleaver 6094e2c32a OpenDingux: Ensure SDL surface width is a multiple of 16 when using 'sdl_dingux' gfx driver (crash/glitch fix) 2020-10-12 12:16:44 +01:00
twinaphex a11a0eae77 (Vulkan) Style nits 2020-10-12 01:36:50 +02:00
twinaphex 5c76ccbe4a Cleanups 2020-10-12 01:26:51 +02:00
valadaa48 c6aaa0076b drm_gfx: fix race condition in drm_surface_set_aspect 2020-10-10 00:04:09 -04:00
jdgleaver 2dc837850f OpenDingux: Add 'sdl_dingux' input/joypad drivers and use by default 2020-10-08 13:26:45 +01:00
twinaphex d1dd0e9d60 Not sure why this printf was there 2020-10-05 16:01:40 +02:00
jdgleaver 80f1da2fb1 OpenDingux: Enable selection of image interpolation method when using 'sdl_dingux' gfx driver 2020-10-05 14:34:21 +01:00
jdgleaver 472f01e0e6 OpenDingux/sdl_dingux: Prevent crash when selecting invalid video modes + optimisations 2020-10-04 11:43:33 +01:00
jdgleaver bbba80f01e OpenDingux: Enable integer scaling when using the 'sdl_dingux' gfx driver 2020-10-02 16:38:42 +01:00
jdgleaver 3bd66cc14d OpenDingux port improvements: Phase 1 2020-10-01 15:56:14 +01:00
Connor McLaughlin 696df6e916 (video/d3d11) Skip shader/stock blend when we don't have a texture
This happens if the core calls video_cb with the frame set to null on
the first frame, and was causing black screens/driver resets.

The ffmpeg core seems to do this.
2020-10-01 19:19:13 +10:00
Connor McLaughlin 10bbe119a7 (video/d3d11): Fix shaders with scaled framebuffers
The scissor rectangle was left as whatever the core last used.
2020-10-01 16:53:19 +10:00
Connor McLaughlin 30c6f90c93 (video/d3d11) Use cached view as the slang source texture
Fixes shaders in D3D11 driver.
2020-10-01 00:19:11 +10:00
Connor McLaughlin 12382c057a (video/d3d11) Cache view left bound by hw renderers
Fixes garbage/black screen when menu is active.
2020-10-01 00:19:11 +10:00
Autechre 7b600d46ad
Merge pull request #11342 from Ophidon/master
Variable BFI
2020-09-19 22:24:47 +02:00
Ophidon 05c5bdf587 C89 Compliance
For loop iterators updated for C89 compliance.
2020-09-19 13:28:21 -04:00
valadaa48 15708f5d44 oga_gfx: strlcpy, msg max len 128 + style nits 2020-09-19 11:23:59 -04:00
twinaphex ca9683d58d C89 fixes - use C style comments instead of C++, style nits 2020-09-19 14:47:40 +02:00
valadaa48 7015e199bb oga_gfx: rewrite
- Drop libgo2 dep
- Use more features of RGA
- Triple buffer instead of double buffer
- Rewrite of message code to support surface caching, transluceny,
  and multiline message support. Messages also don't scale with the
  emulation frame anymore and are drawn directly to the frame buffer.
- Better support for aspect ratios
2020-09-18 21:24:10 -04:00
Ophidon 2f36c94f3f Variable BFI
BFI support added for 180hz / 240hz / etc. Solves issue with image retention from voltage issues at 120hz BFI. Also disabled BFI while in menu, as if set to an incorrect value for the current refresh rate, could cause severe flickering and difficulty reverting to the correct value.
2020-09-18 11:57:32 -04:00
twinaphex c436ac83cd Call gl2_set_viewport directly 2020-09-15 11:11:32 +02:00
jdgleaver 55b6d8ba15 Miscellaneous overlay fixes 2020-09-11 17:00:44 +01:00
Autechre 33a04a794f
Merge pull request #11312 from justinweiss/3ds-enable-threading
[3DS] Enable threading and add a threaded audio driver
2020-09-10 06:50:12 +02:00
Autechre 2d3c63f545
Merge pull request #11248 from justinweiss/update-libctru
[3DS] Update to libctru 2.0
2020-09-10 06:49:54 +02:00
driver1998 9cf71619d3 GDI: use custom BITMAPINFO struct to avoid malloc 2020-09-07 12:36:43 +08:00
driver1998 fb00bf8602 gdi: Fix crashing 2020-09-07 10:55:25 +08:00
driver1998 a4dec6e226 d3d9: "Fix" the HLSL render chain
It won't get you very far, but at least it won't crash.
Needs HAVE_HLSL and HAVE_D3DX defines and DirectX SDK
2020-09-07 10:13:41 +08:00
valadaa48 405b987986 oga_gfx: round width to nearest integer when scaling 2020-09-03 21:53:21 -04:00
twinaphex e810b0251a (GL) Cleanups 2020-09-01 19:54:41 +02:00
twinaphex 5f08605680 Refactor joypad drivers 2020-08-30 05:29:32 +02:00
Justin Weiss f53c137459 [3DS] Enable threading 2020-08-27 19:36:39 -07:00
twinaphex 4d1cfa9c41 Make the 'raw' versions the generic function for the message loop
callback - this way it's reused for SDL2 input driver too
2020-08-28 02:55:39 +02:00
twinaphex 32279c3a70 Split up wnd_proc_common_internal into two - one for dinput,
one for raw
2020-08-28 02:21:13 +02:00
Justin Weiss 9ae2514009 [3DS] Update to libctru 2.0
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.

Some 2.0 changes addressed rare problems in earlier versions:

- Save / restore stack pointer for init / exit
  Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events

Other changes for 2.0:

- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
2020-08-26 19:08:12 -07:00
twinaphex 662e37f670 Replace more instances of string_split 2020-08-26 13:35:05 +02:00
twinaphex 6b3fcf79f0 (DXGI) Turn these into macros 2020-08-24 00:04:12 +02:00
twinaphex 6b978eb057 (D3D11) Cleanups 2020-08-19 11:26:30 +02:00
twinaphex 5166eebcaf for loop cleanups - use space after 'for' 2020-08-19 03:06:22 +02:00
twinaphex aeeff7f350 (D3D11) Cleanup 2020-08-16 03:11:00 +02:00
twinaphex bb58b0d6e3 (GLSLANG) Move more common code out of shader_gl_core and shader_vulkan
and into glslang_util.h
2020-08-16 02:05:38 +02:00
twinaphex 2a9915f80d (D3D) Buildfix 2020-08-08 19:12:01 +02:00
twinaphex ade58fc8b6 (UWP) Buildfix 2020-08-08 18:17:40 +02:00
twinaphex 365ca7cf63 Buildfix 2020-08-06 02:59:09 +02:00
twinaphex a1ce1e4f1d gl_glsl_set_proc_address unneeded - remove it 2020-08-04 03:58:51 +02:00
twinaphex 72afa2f932 Cleanups 2020-08-03 16:33:54 +02:00
twinaphex 332bcc7f9e Remove dxgi_update_title 2020-08-03 15:48:08 +02:00
twinaphex f3c4b4fcf7 (GLCORE) Fix other use after free issues pointed to by jdgleaver 2020-08-03 15:19:34 +02:00
twinaphex 2d10d9fd7a (D3D10) Move these static global variables to D3D10 struct 2020-08-03 12:39:46 +02:00
twinaphex db80281b0f (D3D11) Move static global variables to D3D11 state 2020-08-03 12:36:51 +02:00
twinaphex 76398f4151 (glcore) Fix heap use after free 2020-08-03 12:15:52 +02:00
twinaphex 85e5c783af Backport getting rid of video_context_driver_input_driver 2020-08-03 00:47:58 +02:00
twinaphex deee393dfb Backport video_context_driver_free changes 2020-08-03 00:35:07 +02:00
twinaphex 3e41cbc381 Revert "Add get_metrics to poke interface"
This reverts commit 119689c940.
2020-08-02 23:44:28 +02:00
twinaphex 03fe023de4 Revert "Cleanup"
This reverts commit 576679ac05.
2020-08-02 23:44:09 +02:00
twinaphex da5806a810 Revert "Cleanups"
This reverts commit a01a2375a1.
2020-08-02 23:43:56 +02:00
twinaphex 2efa8ac80e Revert "Get rid of video_context_driver_input_driver"
This reverts commit 75b1a09184.
2020-08-02 23:43:19 +02:00
twinaphex 75b1a09184 Get rid of video_context_driver_input_driver 2020-08-02 20:37:21 +02:00
twinaphex a01a2375a1 Cleanups 2020-08-02 20:19:42 +02:00
twinaphex 576679ac05 Cleanup 2020-08-02 19:59:26 +02:00
twinaphex 119689c940 Add get_metrics to poke interface 2020-08-02 19:25:45 +02:00
twinaphex 416363e9fd Cleanups 2020-08-02 18:49:31 +02:00
bulzipke 1c0fb50877
Update ctr_gfx.c
It fixed the sound cracking when opening or closing the 3DS screen.
2020-07-28 15:03:43 +09:00
twinaphex 7f1cd52d65 Remove video_driver_context_get_size 2020-07-27 14:33:21 +02:00
twinaphex d6465a1348 Refactor 'focus' function callback 2020-07-27 13:46:55 +02:00
twinaphex 74345f08d6 Refactor video_driver_has_windowed 2020-07-27 13:39:02 +02:00
twinaphex 0c78d2ec27 Cleanup 2020-07-27 13:22:23 +02:00
twinaphex 60f3265017 Cleanups 2020-07-27 13:16:14 +02:00
twinaphex 61b798b789 Get rid of video_context_driver_set_video_mode 2020-07-27 11:08:34 +02:00
twinaphex 197465c1ea make_current is only ever used for GL, so move it out of
video_driver_load/unload_texture and into the inner GL
drivers
2020-07-27 10:26:13 +02:00
twinaphex 3d893b7602 Add extra parameter to unload_texture 2020-07-27 10:15:28 +02:00
twinaphex dc94356505 Cleanup context driver video output functions 2020-07-27 09:38:20 +02:00
twinaphex 3e04b158ab Get rid of video_context_driver_write_to_image_buffer 2020-07-27 08:25:11 +02:00
twinaphex 8dc7524e43 Get rid of video_context_driver_translate_aspect wrapper function 2020-07-27 08:15:35 +02:00
twinaphex 4e5037d7e1 Revert "Get rid of these context driver higher level functions"
This reverts commit 27b09229b3.
2020-07-26 23:11:24 +02:00
twinaphex 27b09229b3 Get rid of these context driver higher level functions 2020-07-26 11:58:38 +02:00
twinaphex 30dd294c43 (GDI) Implement resolution callback functions 2020-07-25 19:36:19 +02:00
twinaphex 9f20a48602 (D3D10/11/12) Implement resolution callback functions 2020-07-25 11:47:49 +02:00
twinaphex cb138183ad (Vulkan) Implement video resolution callback functions 2020-07-25 11:35:42 +02:00
barbudreadmon 2dedaca7b3
gcm_gfx.c: oops, forgot to include this 2020-07-24 19:40:07 +02:00
barbudreadmon 70025e4d08
gcm_gfx.c: compatibility with all sdks 2020-07-24 18:39:00 +02:00
barbudreadmon 3f7895a668
gcm_gfx.c: compatibility with recent psl1ght sdk 2020-07-24 17:47:28 +02:00
twinaphex eba83390ba Warning fixes 2020-07-23 07:39:08 +02:00
twinaphex 2f6ba7f477 Silence Emscripten warnings and leave TODO/FIXME note 2020-07-23 06:50:08 +02:00
Yoshi Sugawara c462aaf374 iOS Metal: implement the metric method for the graphics context to support getting the dpi - this is needed to make the touch interactions with the menus work. Update the metal and opengl graphics context to support a lower dpi for larger screen iPhones to make better use of the screen 2020-07-21 11:33:37 -10:00
Francisco Javier Trujillo Mata 86c43d65fa Add FPSLimiter functionality 2020-07-20 22:58:31 +02:00
twinaphex 9fb54a0a1c Fix --disable-menu 2020-07-20 01:58:49 +02:00
twinaphex 7c66f0adbc Simplify win32_check_window 2020-07-18 17:09:07 +02:00
twinaphex 04a0c55add Cleanups 2020-07-18 16:54:14 +02:00
valadaa48 9bbf191523 oga_gfx: fix last character from being chopped in on-screen messages 2020-07-14 21:43:19 -04:00
twinaphex f707994cb8 Get rid of gfx_ctx_network 2020-07-15 02:37:50 +02:00
Francisco José García García dc01bf8d46 [Vita][GL] Fix returning to menu and clear for fake hw render 2020-07-09 18:49:22 +02:00
twinaphex 4c5f4b244a (Sixel) Buildfixes 2020-07-09 15:07:06 +02:00
twinaphex d0736a1797 (MSVC) Buildfixes 2020-07-09 10:20:27 +02:00
twinaphex 77d630a0a5 (GDI) Only render framebuffer texture when menu is enabled 2020-07-09 09:40:13 +02:00
twinaphex 35762e07cb (GDI) Get rid of memory allocation per frame 2020-07-09 09:34:06 +02:00
twinaphex f56b6a3a0f (GDI) Merge gdi_ctx.c into gdi_gfx.c 2020-07-09 09:25:10 +02:00
twinaphex 255332c989 Remove sixel_ctx.c 2020-07-09 08:12:47 +02:00
twinaphex 6b466c6013 Cleanups 2020-07-09 07:46:40 +02:00
twinaphex f6c4890063 Get rid of cb_set_resize 2020-07-09 05:36:29 +02:00
twinaphex 298413dce8 Cleanups 2020-07-09 00:33:19 +02:00
twinaphex 276e86a403 (Vulkan) Turn some of these functions into macros 2020-07-03 17:48:46 +02:00
twinaphex 25f682249f (Vulkan) Turn vulkan_image_layout_transition into macro 2020-07-03 08:45:53 +02:00
Autechre 043a60633f
Merge pull request #10951 from fjtrujy/salamanderPS2
WIP: PS2 Salamander and multi-core
2020-07-01 21:18:53 +02:00
twinaphex 87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
Francisco Javier Trujillo Mata 9d2a1b5ac4 Improve dist scripts
Improve cores folder
Improve WaitTillDeviceIsReady
Now every single driver, init and deinit the IRX binaries
Improve platform PS2
Make salamander to open proper elf
2020-07-01 17:07:53 +02:00
twinaphex 120afe5d21 (Vulkan) return early/error out if no context driver is found 2020-06-30 01:33:19 +02:00
twinaphex 968922e151 Fix static code analysis warnings 2020-06-29 21:24:32 +02:00
twinaphex cf92d8fddb (gl.c) Prevent static code analysis warnings 2020-06-29 19:40:17 +02:00
twinaphex 1b3826b348 (Vulkan) Avoid some unnecessary memsets 2020-06-29 00:02:45 +02:00
twinaphex bc73a815b7 Prevent memsets for vk->tracker 2020-06-28 19:18:48 +02:00
twinaphex c1f90e4c9a (Vulkan) Cleanups 2020-06-28 01:09:33 +02:00
twinaphex 1ae20ea17c Style nits - turn macro names into upper-case - some while style nits 2020-06-26 20:00:19 +02:00
valadaa48 f753efeaa7 oga_gfx: fix race condition with rgui callback
- oga_gfx_frame is sometimes called before set_texture_frame has been
called
2020-06-22 21:38:19 -04:00
valadaa48 69e2bd986d oga_gfx 24bit menu support
- hack borrowed from drm_gfx
2020-06-14 03:54:36 +00:00
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