Commit Graph

2934 Commits

Author SHA1 Message Date
ScoochAside 22057bbb05 Added some pixel format checks
In my limited testing, the texture is always in the R8G8B8A8 format, but, just incase, added a check for it and if it isn't then bail out.
2024-07-08 14:09:30 -05:00
ScoochAside d6773ced37 Fix issue #6427 2024-07-08 14:09:30 -05:00
libretroadmin 58e2e581ec Silence warnings 2024-06-26 15:19:00 +02:00
libretroadmin db550e6ffe (D3D8) Fix build 2024-06-26 15:13:37 +02:00
Joseph C. Osborn 00add4bb37 Fix build errors on wiiu, directx 2024-06-25 08:18:39 -05:00
Joseph C. Osborn 2805694378 Refactor viewport handling/aspect ratio scaling.
This mirrors the use of video_viewport_get_scaled_integer for
non-integer scaling at various aspect ratios.  Two variants are
provided, one with implicit device and desired ratios and one with
explicit ratios.

Also added a flag to video_viewport_get_scaled_integer to indicate the
direction of positive y.
2024-06-25 08:18:39 -05:00
libretroadmin f423b62500 (Wii) Silence warning 2024-06-14 23:24:11 +02:00
zoltanvb 926ba5c843 Force fullscreen in case of KMS display
Change GL2, GL3 and Vulkan drivers to behave as fullscreen if context driver
(such as KMS/DRM or KHR) does not support windowed mode at all.
Take it into account also for refresh rate switch.
2024-06-14 15:44:38 -05:00
Viačasłaŭ Chalikin 1e9db89154 Fix reinitialization of the threaded gl drivers 2024-05-26 21:32:29 +02:00
libretroadmin 3e85a17d7a iFix warnings picked up by -fanalyzer 2024-05-23 23:50:23 +02:00
Carlo Refice fed2e10d97 Implement HDR readback 2024-05-17 14:10:29 -07:00
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
Carlo Refice adaa19cbf7
vulkan: Add support for A2R10G10B10 HDR format (#16435) 2024-04-18 07:34:46 -07:00
MajorPainTheCactus eef34e9461
Added rolling scan line simulation based on the shader subframe feature. This is implemented with a scrolling scissor rect rather than in the shader itself as this is more efficient although may not work for every shader pass - we may need an option to exclude certain passes. The implementation simply divides the screen up by the number of sub frames and then moves the scissor rect down over the screen over the number of sub frames. (#16282) 2024-03-19 08:59:36 -07:00
João Henrique 8e57273593
Fix gl2.c OpenGL ES detection. (#16313)
This fixes a recurrent bug where context initialization fails due to the major/minor being both set as 0, causing an OpenGL ES 1.1 context to be created.
2024-03-03 07:57:47 -08:00
Mats 6de0fd4362
Fix HDR w/ Vulkan driver after reinit (#16270) 2024-02-21 08:39:26 -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
Eric Warmenhoven 79e43e2bd4
Fix many warnings (#16180)
Also change iOS/tvOS to use system zlib instead of compiling it in
2024-01-31 09:15:14 -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
Eric Warmenhoven 0c1ee70ca0
iOS: Fix xrgb8888 in gl driver (#16013) 2023-12-18 01:18:03 -08:00
sonninnos 2463188fed
(D3D11+12) Improve 'Max Frame Latency' logging (#15911) 2023-11-15 13:18:31 -08:00
Eric Warmenhoven 7237b6acfc
Enable HDR support in iOS. (#15871)
* Enable HDR support in iOS.

* Enable HDR support in tvOS.
2023-11-06 00:50:14 -08:00
LibretroAdmin 466e82f55d
Update sdl2_gfx.c 2023-10-31 12:01:00 -07:00
libretroadmin 3718fed79d Buildfix 2023-09-06 03:16:47 +02:00
libretroadmin bef29c466b Remove unneeded video_driver_set_gpu_device_string/get_gpu_device_string 2023-09-06 03:08:48 +02:00
libretroadmin f53ada6489 Cleanups, style nits, try to reduce some more strlens, etc. 2023-08-17 18:20:45 +02:00
libretroadmin 4dd3b022f1 (CTR) Cut down on runloop_get_flags calls 2023-08-16 19:53:59 +02:00
libretroadmin c6c7c343df video_frame_info - more flags 2023-08-16 19:47:24 +02:00
libretroadmin bc41e0fdf4 video_frame_info - start passing flags 2023-08-16 19:17:23 +02:00
libretroadmin 0a96f9595c Explicit typecasts to bools for flags 2023-08-16 04:18:55 +02:00
libretroadmin 2d2cb04589 Merge video_coord_array.c into video_driver.c 2023-08-15 16:02:12 +02:00
libretroadmin 1765d491d1 Some minor cleanups - use size_t for return value of strlen,
extensions don't need 256-char arrays, etc.
2023-08-15 14:54:13 +02:00
libretroadmin c8e6506687 Fix --disable-menu errors 2023-08-14 23:36:19 +02:00
Cpod12 904e9fbe1d
Added 21:9 as an option to RGUI (#15572)
* added 21:9 as an option to RGUI

* reverted files that weren't supposed to be changed

* fixed issue with 21:9 not showing in the menu and corrected buffer width
2023-08-12 05:51:12 -07:00
GABO1423 0a510d7055
(UWP) Fix d3d12 Driver in Debug Builds (#15567) 2023-08-09 01:37:20 -07:00
sonninnos f1c144ea50
(XMB) Color + background adjustments (#15556)
* (XMB) Color + background adjustments

* (XMB) Improve font selector
2023-08-06 09:17:38 +02:00
libretroadmin 770b9920f5 Cleanups:
* No implicit memsets for texture_image
* Replace some calls with concatenated strlcpys
* Some style nits
2023-07-18 16:46:54 +02:00
libretroadmin 2eee87f714 (Vulkan) Cleanups 2023-07-18 00:08:55 +02:00
libretroadmin 11d5775318 (D3D12) Get rid of some implicit memsets 2023-07-17 23:45:34 +02:00
libretroadmin 62e4779fee (D3D12) Get rid of some implicit memsets 2023-07-17 23:12:40 +02:00
libretroadmin ae4e5d34f8 Get rid of some implicit memsets 2023-07-17 19:51:18 +02:00
libretroadmin f8bda96fa4 (Vulkan) Get rid of some implicit memsets 2023-07-17 17:30:17 +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 57906892d8 Revert "On mobile in portrait mode, don't override custom viewport"
This reverts commit 6a1320bcfb.
2023-06-21 08:37: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 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
Bernhard Schelling 4518b117c9 Fix build error "conflicting types for ‘drm_free’"
Function name conflicts with different function in drm_free drm_common.h
2023-06-19 18:17:50 +02:00
libretroadmin e8242253a7 Reduce strlcat calls where possible 2023-06-19 06:00:10 +02:00
libretroadmin 0517354181 * replace more strlcat calls with strlcpy
* Get rid of unnecessary string copies by clever usage of strlcpy
* Get rid of unnecessary temp variables when not needed
2023-06-18 22:37:01 +02:00
libretroadmin 631301b3f7 * Cut down on strlcat calls when possible and replace them with clever
usage of strlcpy (when position/offset of previous strlcpy/snprintf call
is known. strlcat implementation in libretro-common makes implicit strlen
call, using strlcpy avoids this
* Reduce a bunch of local char variables by use of said clever usage,
should save up on local stack size usage
2023-06-18 12:06:12 +02:00
libretroadmin b8951de6fd (GX2) Cleanups 2023-06-15 13:34:08 +02:00
libretroadmin d342a4a04a Signedness warning fixes 2023-06-14 23:25:50 +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
Grisly Glee 6f0c48b4c4
Clean up gfx driver interface structs (#15379) 2023-06-14 04:42:34 +02:00
Grisly Glee a2285de73e
Have sdl2 gfx driver use "nearest" scaling in menus (#15366) 2023-06-11 06:35:45 +02:00
Grisly Glee 1150e2b8f7
Fix xvideo gfx driver (#15365)
* Add menu support to xvideo gfx driver, making it usable

* Disable xvideo gfx driver by default
2023-06-11 02:21:42 +02:00
libretroadmin 0093817da1 (PSL1GHT) Buildfix 2023-06-05 00:49:18 +02:00
libretroadmin 2fa9e5cbb1 (D3D10) Cleanups for render_line and style nits 2023-06-04 02:00:40 +02:00
libretroadmin 691c09ef09 (Video drivers) Small cleanups/optimizations to render_line - hose
out some variables that are never subject to change
2023-06-03 20:56:19 +02:00
libretroadmin eb509b8d8e get_line_metrics always implemented for font rendering backend, take
out code parts for hypotheticla font rendering backends that don't implement
it
2023-06-03 18:34:47 +02:00
libretroadmin 51a8150e45 Do away with some NULL checks for font rendering backend 2023-06-03 17:21:19 +02:00
libretroadmin 31751a3945 Cleanups 2023-06-01 22:52:05 +02:00
libretroadmin f49bfd2262 (CTR) Buildfix 2023-06-01 22:19:08 +02:00
libretroadmin c1166ee823 Cleanups 2023-06-01 21:34:34 +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 0a06ace36e (vita) Fix vita2d_init symbol conflict 2023-06-01 02:30:45 +02:00
libretroadmin e51d1a3d2a Get rid of some old libtransistor files/codepaths 2023-06-01 00:08:00 +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 2bf08f5457 vulkan_font_render_msg - don't use video_st 2023-05-31 22:01:00 +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 7402d6ec94 (D3D11/D3D12) Small cleanups/micro-opts 2023-05-31 20:51:03 +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 e70eb9ded2 Refactor video_driver_cached_frame_has_valid_framebuffer 2023-05-31 00:39:01 +02:00
libretroadmin 3737b99b05 Cleanups 2023-05-30 22:10:03 +02:00
libretroadmin de63016bd3 (xshm_gfx) Silence warning 2023-05-30 21:29:21 +02:00
libretroadmin c09fb6d95d Cleanups 2023-05-30 12:19:53 +02:00
libretroadmin 85011c782e move vulkan context driver code to vulkan.c 2023-05-29 19:13:47 +02:00
Eric Warmenhoven 6a1320bcfb On mobile in portrait mode, don't override custom viewport 2023-05-27 02:50:32 +02:00
libretroadmin b2582f443f Move macro outside of HAVE_OVERLAY 2023-05-11 17:03:02 +02:00
libretroadmin e613d05da7 Remove some gfx_display_{set|get}_ functions 2023-05-08 22:17:18 +02:00
libretroadmin ced83c41e6 (Font) Less casting 2023-05-07 21:13:44 +02:00
libretroadmin 2304faf7f0 (D3D12) Undo commit a79dc19b6c - allows us to
set RGUI aspect ratio again and internal upscale - going from upscaling
to no upscaling causes a crash though
2023-05-07 05:41:25 +02:00
libretroadmin 5ac380ec39 (D3D10) Fix RGUI 2023-05-07 03:50:18 +02:00
libretroadmin fe8221a259 (D3D12) Remove unused function 2023-05-06 03:18:11 +02:00
libretroadmin c400fa761c (UI companion driver) Remove unused notify_content_loaded 2023-04-27 03:02:00 +02:00
libretroadmin 08d1b847fd (D3D12) Go through local variables for graphics command list 2023-04-25 14:08:21 +02:00
libretroadmin dcefb6e028 (D3D12) Get rid of the small inline wrapper functions 2023-04-24 18:11:26 +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
aliaspider 50b9454f69
d3d12: enable blending when drawing the menu. (#15181) 2023-04-11 06:56:48 +01:00