Commit Graph

2873 Commits

Author SHA1 Message Date
Connor McLaughlin ed2d6b1730 (d3d11) Don't draw content without a texture bound 2021-06-22 14:04:32 +10:00
Connor McLaughlin 9afa30af5e (d3d11) Disable DXGI's ALT+ENTER handling 2021-06-22 14:04:31 +10:00
twinaphex a30a86a09c (D3D11) Fixes Xbox again, do tear control checks only for non-UWP
- TODO/FIXME still has to be resolved, see comment at line 1362
2021-06-22 00:41:56 +02:00
sonninnos 917fb1f796 D3D12 Updates:
- Relocated 'd3d12_gfx_sync()'
- Fixed swap interval option
- Cleanups
2021-06-18 21:54:36 +03:00
twinaphex 8b6e58eebd Buildfix for D3D11 - courtesy of Stenzek 2021-06-16 16:07:38 +02:00
Connor McLaughlin 946d87cf89
(gfx/d3d11) Don't use allow tearing flag with blit swap chains (#12529) 2021-06-16 15:19:27 +02:00
jdgleaver d40d7c389b
(Dingux) Fix black screens when triggering gfx driver reinitialisation via menu actions (#12521) 2021-06-13 00:37:48 +02:00
Tony 3647bdef0f
(D3D) Logging + dupe code cleanups (#12501) 2021-06-09 06:33:14 +02:00
JustMeDaFaq 462cedb654
Update d3d12.c 2021-06-07 12:04:53 +02:00
JustMeDaFaq f1347829c2
Update d3d11.c 2021-06-07 12:03:58 +02:00
sonninnos 04962e1741 (D3D) Add common window title for D3D9+ 2021-06-06 22:24:47 +03:00
sonninnos 8584b122e1 (D3D11+12) Allow fastforward in fullscreen 2021-06-04 04:31:11 +03:00
Francisco José García García 194de13afb Vita: wait before free texture 2021-05-27 18:41:44 +02:00
Francisco José García García 52af69e6cd Vita: support for 720p in PSTV & Sharpscale plugin 2021-05-22 17:29:03 +02:00
U-LAPTOP-0BS9KNOH\crystal 159602d697 Change default video driver name for PSL1GHT 2021-05-19 22:50:34 +02:00
twinaphex 35543ecd91 Move defines files over to libretro-common 2021-05-18 22:15:04 +02:00
Autechre a04fe66032
Merge pull request #12380 from stenzek/vulkan-software-fb
(video/vulkan) Avoid caching stale mapped GPU texture as frame data
2021-05-18 18:01:47 +02:00
LazyFunker 4e0f8bf621 Fix typo 2021-05-16 20:44:31 +02:00
jdgleaver 484c4ad51e Add API extension for cores to override frontend fast-forward state 2021-05-13 13:16:37 +01:00
Autechre 89391ccf9a
Merge pull request #12287 from LazyFunker/master
Some fixes for UWP/XBox
2021-05-12 09:17:53 +02:00
Stenzek c9aaf598bb (video/vulkan) Avoid caching stale mapped GPU texture as frame data
At best, this results in junk on screen, at worst we could crash.

It's not a perfect fix, there's still a scenario where this breaks: when
fast forwarding is enabled, and we swap from vsync-off to vsync-on when
pausing/rendering the menu, the swap chain (and textures) gets
recreated, and the frame data is completely lost.

There isn't much we can do about this without more intrusive changes,
such as preserving the textures inbetween swap chain reinits.
2021-05-11 09:49:39 -07:00
bulzipke 7e7615c97c
(3DS) Load overlay texture images as BGR colors 2021-04-28 19:16:14 +09:00
bulzipke 56a0300db5
Load texture images as BGR colors 2021-04-27 01:58:41 +09:00
MrHuu 1235a7435e (3DS) Enable gfx_widgets / overlays 2021-04-24 15:36:03 +02:00
LazyFunker 8ff0430370 Disable mipmap generation for UWP 2021-04-20 10:29:17 +02:00
jdgleaver c23e32a047 OpenDingux Beta: Add 50Hz support 2021-04-07 10:06:11 +01:00
Autechre 115b08e0e1
Merge pull request #12232 from MrHuu/ctr_overlay
(3DS) Add HAVE_OVERLAY
2021-04-05 11:48:14 +02:00
jdgleaver a81280939e OpenDingux Beta: Fix IPU scaling when running GB/GBC/GG/NGP-resolution content 2021-04-04 22:50:25 +01:00
MrHuu 8df97a0c75 (3DS) Add HAVE_OVERLAY 2021-04-04 22:50:59 +02:00
jdgleaver 41855bb6d4 OpenDingux Beta: Fix IPU scaling when running GBA-resolution content 2021-03-31 11:17:56 +01:00
jdgleaver fe6e02e9bd OpenDingux: Improve handling of unsupported display resolutions + buffer overflow fix 2021-03-27 14:58:02 +00:00
jdgleaver 0a08437e0a Add OpenDingux Beta support 2021-03-25 16:19:42 +00:00
twinaphex 8f79e14d0a Silence LGTM static code analysis warnings 2021-03-24 00:25:47 +01:00
MrHuu b9849f78f7 (3DS) Add HAVE_GFX_WIDGETS 2021-03-23 22:03:44 +01:00
twinaphex 32a6bd021c Prevent 'may be used uninitialized' warning 2021-03-22 15:46:34 +01:00
twinaphex 611efea2bf More CXX_BUILD fixes 2021-03-22 15:20:51 +01:00
twinaphex 15b9bd47b9 (SDL2) Fix jump to label crosses initialization of const char* video_driver 2021-03-22 14:38:10 +01:00
Autechre a2ed065f25
Refactors pt3 (#12124)
* Remove video_pixel_get_alignment - move it to video
drivers that use it

* Rewrite video_driver_pixel_converter_{init/free} - get rid of
p_rarch dependency

* Replace some variables

* (Menu) Get rid of cbs_refresh - was never set to any other
function callback implementation
2021-03-11 02:03:37 +01:00
valadaa48 71cbec9252 oga_gfx: fix messages from not disappearing 2021-03-01 19:25:54 -05:00
sonninnos 6c3c2bea5f Logging cleanups 2021-02-18 18:35:31 +02:00
Francisco José García García 066917ac23
Vita: VitaGL api changes (#11981)
* Vita: VitaGL api changes: vglSwapBuffers

* Vita: VitaGL api change: Remove vglStartRendering
2021-02-04 11:46:00 +01:00
twinaphex 732fce9a04 (SDL2) Add ifdefs for HAVE_X11 and HAVE_WAYLAND 2021-02-01 23:18:06 +01:00
twinaphex 0b08693f9d Merge branch 'sdl2-out-of-x' of git://github.com/keithbowes/RetroArch into master 2021-02-01 23:13:17 +01:00
Francisco Javier Trujillo Mata 082fa22b05 Clean all the warnings in PS2 2021-01-30 15:47:52 +01:00
Autechre a49b02c44b
(Mac) Makefile changes for supporting Metal build (#11929)
* (QB) Add rule for Metal - define HAVE_COCOA_METAL for now
when building for Metal, and HAVE_COCOA for non-Metal build

* Make necessary changes to Makefile.common and qb/config.libs.sh:
- Disable OpenGL for now for Metal build
- Take Metal conditional out of OpenGL block in Makefile.common

* (Metal) Header fixes for compiling without Xcode/Griffin

* (Mac) Some buildfixes for non-Xcode building

* (cocoa_common.h) Restructure to no longer use -DOSX

* (Apple) More buildfixes

* (Apple) Cleanups
2021-01-22 22:20:38 +01:00
Keith Bowes 125154e831 Get the SDL2 video driver to work in Wayland/KMS 2021-01-21 09:42:06 -05:00
twinaphex c7e8d2adf5 Silence warnings for some console platforms 2021-01-20 08:53:45 +01:00
Twinaphex a83c328631 (Metal) Fix some build problems 2021-01-19 04:38:07 +01:00
Twinaphex eea07ea367 (COcoa GL/Cocoa Common) Refactor code for eventual splitting up
of cocoa_gl_ctx.m into two files
2021-01-18 15:41:30 +01:00
twinaphex 6d39160de1 CLeanups 2021-01-16 22:36:03 +01:00
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