Commit Graph

1938 Commits

Author SHA1 Message Date
Viačasłaŭ Chalikin 9ad2cc2bc6
Fix crash when using threaded video (#16518)
for Mesa 23.2 and later
2024-05-13 07:24:51 -07:00
Eric Warmenhoven 55be94212a
macOS: MoltenVK as xcframework (#16507) 2024-05-08 16:41:15 -07:00
Brad Smith d55f95f056
Windows mouse ungrab must release the mouse instead of confine it to the current desktop (#16488)
* Windows mouse ungrab should release the cursor, instead of confining it to the current screen.

* conform to style
2024-05-04 06:10:57 -07:00
Eric Warmenhoven ca904a3f5d
iOS/tvOS: MoltenVK 1.2.8, and fix mame core signing (#16452) 2024-04-19 07:11:49 -07:00
Carlo Refice adaa19cbf7
vulkan: Add support for A2R10G10B10 HDR format (#16435) 2024-04-18 07:34:46 -07:00
Eric Warmenhoven 5fd4eb905c
iOS QOL improvements (#16444)
* iOS/tvOS: bundle cores as frameworks as opposed to dylibs

* iOS/tvOS: update plist to indicate controller support

* iOS/tvOS: living within the sandbox

* iOS/tvOS: import content through share sheet

* iOS/tvOS: default audio sync off due to crash on background

* iOS/tvOS: don't try altkit if there's no reason to

* iOS/tvOS: enumerate cores for appstore distribution
2024-04-18 03:01:39 -07:00
Colin Kinloch 917c2b0d15
wayland: Use frontend signal handler to quit (#16418) 2024-04-08 16:56:29 -07:00
Colin Kinloch 08496b302c
wayland: Commit viewport resizes (#16419)
This allows a resize to keep up with the users pointer movements.
2024-04-08 16:56:20 -07:00
libretroadmin a7e1a6c8ce DM_INTERLACED seems not defined for MSVC 2005 - so exclude it for MSVC
versions prior to 2010
2024-04-06 23:07:25 +02:00
libretroadmin a7f6dced8d Expand win32_monitor_set_fullscreen 2024-04-06 22:16:00 +02:00
Colin Kinloch 0212d8e770
wayland: Ignore splash sized events during splash (#16412) 2024-04-05 11:02:33 -07:00
Colin Kinloch 9749940c67
wayland: Let wl_display_disconnect close fd (#16407) 2024-04-05 07:39:45 -07:00
Colin Kinloch cdd6aed8ec
wayland: Ignore configure events during splash (#16398)
These were causing the gl/vk surfaces to be created with the wrong size.
2024-04-02 17:55:02 -07:00
Cristi Mitrana b541d1e2d3
gfx/drm: fix mode vrefresh calculation (#16376)
When using an interlaced/doublescan mode, the vertical refresh rate is mis-calculated.
Replaced the current calc method with the one from libdrm's 'modetest' utility [1].

[1] https://gitlab.freedesktop.org/mesa/drm/-/blob/main/tests/modetest/modetest.c?ref_type=heads#L140
2024-03-20 14:02:51 -07:00
Themaister ee64f59b18 vulkan: Remove use of oldSwapchain.
Works around a hang on gamescope. oldSwapchain generally isn't useful
after all. Just use the same code paths everywhere.
2024-03-06 12:49:52 +01:00
aerisarn 8b1e4a1ad0
MESA UWP Integration (#16285)
* [WINRT] Enable logging on __WINRT__ and bypass verbosidy in debug

* [UWP] wrong configuration prevents GLES to compile, common functions defines GL symbols

* [UWP] configure project to allow OPENGL on default configuration and copy MESA DLLs into UWP release

* [UWP] add MESA headers

* [UWP] add MESA EGL.lib needed for GLES context. However HAVE_OPENGL is better as GL cores use desktop version, so this is left for reference and to make the solution build with HAVE_OPENGLES

* [UWP] UWP is missing some GDI function definitions, implemented into MESA Gallium

* [UWP] Configure Release project too

* [UWP] Add mesa alpha-2 release dlls

* [UWP] allow griffin and vide_driver to have an OPENGL context

* [UWP] allow wgl context to work with mesa under WINRT

* [UWP] BUG: have to modify height/width getters and align them to MESA because the screen resolution is not right in gl context. Pending further investigation

* [UWP] fix ANGLE build

* [UWP] remove duplicate import code.

* (UWP) Cleanup filters file

* MESA screen destroy fix and Yabasanshiro hack. Align to alpha-2-hack tag

---------

Co-authored-by: Gabriel Morazán <35014183+GABO1423@users.noreply.github.com>
2024-03-02 09:36:17 -08:00
sonninnos 55f1120036
(WIN32) Read menubar shortcuts with menubar hidden (#16291) 2024-02-26 06:01:33 -08:00
Bobby Smith c43f4738d9
Fullscreen/windowed fixes when using overrides (#16213) 2024-02-09 11:54:46 -08:00
Ophidon 7b711214a7
Slang Subframe Shaders Feature (#16209)
Adds support for sub-frame shaders to vulkan/glcore/dx10-11-12.

Builds on the concept already present for frame duplication in use for BFI, to present multiple 'sub' frames per real frame to the shaders, so they can run at a higher framerate than the content framerate. Must be enabled via subframe shaders setting under synchronization settings to be active.

Will allow BFI to be implemented inside of the shaders, among any other use for the higher framerate shader authors can devise.

CurrentSubFrame and TotalSubFrames have been available inside the shaders to track what they want to do on an given subframe. TotalSubFrames will always be 1 when the setting is disabled (and when in menu/ff/pause). Framecount will not increment on sub-frames, as it does not for injected bfi frames now. Should not interfere with any existing shaders that do not check for subframes.
2024-02-09 03:12:55 -08:00
Ophidon 72c901a90e
Squashed commit of the following: (#16142)
commit 793d41c303206b43932ddcefd44a45836def55eb
Author: Ophidon <jrogers2@gmail.com>
Date:   Fri Jan 19 23:12:31 2024 -0500

    Build Fix 2

    Move declarations of iterators.

commit c0e959b3d3cd773a66a17cfe034f08eaa53d525a
Author: Ophidon <jrogers2@gmail.com>
Date:   Fri Jan 19 22:57:01 2024 -0500

    Build Fix

    Help string was 14 characters too long for c89.

commit fc5506c7906bf82d6f88b7b0d7e4764d58d90622
Author: Ophidon <jrogers2@gmail.com>
Date:   Fri Jan 19 22:40:45 2024 -0500

    BFI Updates

    Significant BFI updates.

    - Adds BFI to dx10/11/12 in general.

    - Updates existing BFI menu option descriptions to be somewhat more clear in how to use correctly.

    - Adds Variable Strobe length via new 'Dark Frames' bfi sub-choice. Only valid at 180hz and above, as it must work with whole frames.

    - Algorithm to auto select 'decent' Dark Frames choice, for any given selected BFI refresh rate. Will also avoid defaults that can cause Image Retention at any Hz higher than 120. (Impossible to avoid at 120 if you have an affected screen... get an OLED :D ) .

    - Some sanity checking on selecting BFI or the other synchronizations options like Swap Interval > 1, that don't play well with BFI.
2024-01-19 23:11:31 -08:00
libretroadmin 146de90214 Fix some warnings 2023-12-22 09:50:01 +01:00
kyns.one f4f43d9501
Fix screen resolution always tied to the main monitor on win32 platforms. (#15897) 2023-12-20 16:34:53 -08:00
zoltanvb fd04c8ca57
Rebase of wakira's wp_fractional_scale_v1 support (#15965)
A rebase of earlier PR https://github.com/libretro/RetroArch/pull/15355
No changes added (except for one log).
2023-11-30 03:29:38 -08:00
Bobby Smith 3c25f19d80
[Win32] Fix window size when aspect ratio is < 0 (#15941) 2023-11-22 10:14:48 -08:00
zoltanvb e7a10b2326
Fallback to screensaver inhibit via D-Bus on Wayland (#15856)
Some Wayland compositors (e.g. Phoc) don't implement Wayland's Idle
protocol. They instead rely on things like Gnome Screensaver.
2023-11-01 11:11:38 -07:00
libretroadmin bef29c466b Remove unneeded video_driver_set_gpu_device_string/get_gpu_device_string 2023-09-06 03:08:48 +02:00
Colin Kinloch 320ba73f90
Wayland: Get system wayland-protocols path via pkg-config (#15668) 2023-09-03 09:48:11 -07:00
libretroadmin f53ada6489 Cleanups, style nits, try to reduce some more strlens, etc. 2023-08-17 18:20:45 +02:00
libretroadmin f51b49f213 More explicit typecasts to bools 2023-08-16 03:22:02 +02:00
libretroadmin 2d2cb04589 Merge video_coord_array.c into video_driver.c 2023-08-15 16:02:12 +02:00
sonninnos cf42a200b4
(WIN32) Fix Pause vs NumLock in dinput/sdl2 (#15533) 2023-07-30 09:50:08 +02:00
sonninnos 459fa1b838 (WIN32) Fix startup windowed scale 2023-07-18 13:34:36 +02:00
libretroadmin ae4e5d34f8 Get rid of some implicit memsets 2023-07-17 19:51:18 +02:00
libretroadmin f1c651053f - Use VK_FALSE/VK_TRUE consistently for Vulkan structts
- Some minuscule changes to file_path.c
2023-07-17 15:27:34 +02:00
libretroadmin be65a13102 Cut down on update_title code duplication 2023-07-16 08:00:49 +02:00
libretroadmin 4aa2ac3945 Cleanups - turn some functions static, some variable removals 2023-07-15 22:28:45 +02:00
libretroadmin 3c1e64129e Cutdown on some strlens 2023-07-15 19:35:19 +02:00
libretroadmin bdc398d79f - Safer code - use strlcpy where possible instead of manual character
assignments for strings longer than 2 chars
- Use strlcpy concatenation instead of strlcat
- Make sure that what remains of iteration of the '_len' variable
for manual char assignment
is done in a safer way so mistakes are less possible
2023-06-20 16:33:55 +02:00
libretroadmin 1c4dc615e1 Remove extra function prototype 2023-06-20 12:00:17 +02:00
libretroadmin c0d3b8f14b Buildfix for X11 - rename win32_suppress_screensaver to
win32_suspend_screensaver
2023-06-20 11:56:25 +02:00
libretroadmin 5e2bfcbe09 x11_show_mouse and win32_get_video_output_size - get rid of duplicate
code
2023-06-20 11:46:00 +02:00
libretroadmin 08ba0b53c6 Standardize x11_suspend_screensaver 2023-06-20 11:37:29 +02:00
libretroadmin 5971f24237 Remove some code duplication 2023-06-20 09:37:07 +02:00
libretroadmin 16fcd1d62c (Vulkan/Wayland) Cleanups 2023-06-20 08:20:13 +02:00
libretroadmin 6a147370d0 (Wayland) Cleanups 2023-06-20 07:08:14 +02:00
libretroadmin edecf0cb2d Replace more strlcat calls with strlcpy 2023-06-18 19:25:24 +02:00
libretroadmin afd3df7523 (win32_common.c) Silence warning by casting to DWORD 2023-06-15 13:12:41 +02:00
Grisly Glee de0c6d5cd1
Trivial warnings fixes (#15383)
* Trivial graphics context drivers fix

* Assorted minor warnings fixes
2023-06-14 23:46:27 +02:00
libretroadmin 246cceeb27 Silence more signedness warnings 2023-06-14 19:51:31 +02:00
Grisly Glee 4202f8650d
Fix trivial signedness warnings (#15377)
* Fix trivial signedness warnings

* Followup on trivial signedness warnings
2023-06-14 04:43:11 +02:00
libretroadmin f29fbda584 (Wayland) Fix build 2023-06-01 23:03:26 +02:00
libretroadmin 31751a3945 Cleanups 2023-06-01 22:52:05 +02:00
libretroadmin f3fe46393c Cleanups 2023-06-01 20:29:05 +02:00
libretroadmin 27aeb314a1 merge d3d8_common.c into d3d8.c 2023-06-01 20:14:19 +02:00
libretroadmin 36cf7f00a8 Cleanups 2023-06-01 19:59:11 +02:00
libretroadmin 0ee2f93ca4 Combine gfx_display files into video drivers 2023-05-31 23:58:06 +02:00
libretroadmin d1b9badf41 Rename common files to _defines.h 2023-05-31 22:46:34 +02:00
libretroadmin f08958dbc1 Move inline functions to files that actually need them,
move enums at the top of the header files
2023-05-31 21:50:07 +02:00
libretroadmin 77466d6f85 Rename d3d_w32_font.c to d3d9x_w32_font.c 2023-05-31 21:32:52 +02:00
libretroadmin 020e5fd7af (Vulkan) vulkan_debug_mark_object - C89 buildfix 2023-05-31 21:11:09 +02:00
libretroadmin 29584b9960 Move d3d8_texture_new to d3d8.c and make it static 2023-05-31 19:43:20 +02:00
libretroadmin 923b756926 Turn inline function into macro and move it to vulkan.c 2023-05-31 19:38:49 +02:00
libretroadmin 40fb10fd4e - Move Vulkan common functions over to vulkan.c
- Fix some platforms
2023-05-31 19:32:33 +02:00
libretroadmin 4f6010bea7 COmbine font raster files and video driver files 2023-05-31 19:03:45 +02:00
libretroadmin 696dae6e70 Refactor away some video driver functions 2023-05-31 01:09:38 +02:00
libretroadmin c07e6a6da2 Cleanups 2023-05-30 20:30:37 +02:00
libretroadmin c09fb6d95d Cleanups 2023-05-30 12:19:53 +02:00
Colin Kinloch 402b381c9b Revert "(Wayland) Remove splash screen (#15178)"
This reverts commit f19def349f.
2023-05-29 19:16:21 +02:00
libretroadmin c24744eae5 Remove video_driver_show_mouse/hide_mouse 2023-05-29 18:58:23 +02:00
zoltanvb e0a8d403f1 Support screen refresh rate with Vulkan KHR_Display context 2023-05-28 14:18:51 +02:00
libretroadmin ced83c41e6 (Font) Less casting 2023-05-07 21:13:44 +02:00
libretroadmin dcefb6e028 (D3D12) Get rid of the small inline wrapper functions 2023-04-24 18:11:26 +02:00
libretroadmin 2a5c419d38 Cleanup d3d12_heap_descriptor_alloc 2023-04-24 10:54:46 +02:00
libretroadmin 238f887931 Get rid of initial for loop C89 noncompliance
* uwp_main.c - code style cleanups
2023-04-23 10:47:09 +02:00
Colin Kinloch f19def349f
(Wayland) Remove splash screen (#15178) 2023-04-10 16:37:48 +02:00
Colin Kinloch e8ec3031a8
(Wayland) wp_viewporter + scaling fix (#15176)
* Use wp_viewporter
* Set buffer scale to highest of displays the window is touching
* Fixes fullscreen issue mentioned in #15168
* Simplify process of adding new wayland protocols
2023-04-10 06:29:41 +01:00
aliaspider 0adbd6905f
add D3D12 HW_render support. (#15177) 2023-04-10 01:08:44 +01:00
Colin Kinloch d625ca3762
(Wayland) Only display splash when necessary (#15168) 2023-04-08 02:41:07 +01:00
OsirizX 6cc05ab5ce
(PSL1GHT) Add overlay support (#15149) 2023-04-04 15:05:59 +01:00
libretroadmin f46beade21 (Android) Buildfix 2023-04-03 22:47:50 +02:00
libretroadmin 96a4417e38 (Vulkan) vulkan_surface_create - we already set all members of this
struct - memset unnecessary
2023-04-03 20:51:41 +02:00
libretroadmin 223f063894 Simplify win32_common.c 2023-04-03 20:26:04 +02:00
barbudreadmon 1fb9853a93
(Shaders) pass rotation index to shaders (#15136) 2023-03-26 21:20:27 +01:00
Colin Kinloch a6e6ddf425
(Wayland) Update destruction (#15129) 2023-03-24 15:14:56 +01:00
sonninnos 390ee5c3c7
(Win32) Increase maximum window limit (#15125) 2023-03-23 18:02:09 +01:00
libretroadmin b07353a0d9 Put forward declaration in wgl_ctx.c 2023-03-17 16:13:09 +01:00
libretroadmin 2902d11b1a Rewinding code should not be a forced built-in dependency 2023-03-17 16:08:41 +01:00
sonninnos 281ccab6ee
(Win32) Ignore window limiting with fixed position (#15092) 2023-03-13 23:17:47 +01:00
Colin Kinloch 297aa1ff72
(Wayland) Build pointer-constraints and relative-pointer protocols (#15071)
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
2023-03-09 19:54:36 +01:00
Colin Kinloch e54495235e
(Wayland) Wait for splash screen configuration (#14485)
* (Wayland) Wait for splash screen configuration

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

* (Wayland/libdecor) Remove unnecessary context creation check. Log library load.

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

* (Wayland) Bring xdg_toplevel configure in line with libdecor and add icon to splash screen

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

---------

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
2023-03-08 22:56:24 +01:00
Colin Kinloch e31b7fe6c2
(Wayland) Fix resize check (#15065)
* (Wayland) Fix resize check

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

* (Wayland/GL) Correct scaling on resize

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

* (Wayland) Fix fullscreen buffers being initially double scaled

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

---------

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
2023-03-08 20:08:31 +01:00
sonninnos 17b46b5f93
(Win32) Window size improvements (#15068) 2023-03-07 16:51:08 +01:00
sonninnos 4699d91ed5
(Win32) Use core geometry as window limit (#15060) 2023-03-05 15:21:05 +01:00
libretroadmin f60b3ec7a1 Fix MSVC error 2023-03-03 20:07:40 +01:00
sonninnos 84691edd3f
(Win32) Limit minimum window size (#15053) 2023-03-03 17:50:30 +01:00
Manuel Alfayate Corchete 6e27b6f571
[Vulkan] Don't clamp the number of requested images. (#15047) 2023-03-03 00:49:02 +01:00
libretroadmin 51d238875e Get rid of obsolete HAVE_VIDEO_LAYOUT - obsolete spec, was only
ever implemented for OpenGL2 driver, lots of code debt, best to
instead just keep improving the overlay system instead which is
already available for most video drivers
2023-02-23 21:03:41 +01:00
libretroadmin 581b9e0b0d (RSX) Updates to video driver 2023-02-23 16:11:01 +01:00
libretroadmin 7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
libretroadmin 57828bf246 Turn some of the logging into _DBG 2023-02-23 00:42:34 +01:00