384 Commits

Author SHA1 Message Date
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
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
Carlo Refice
fed2e10d97 Implement HDR readback 2024-05-17 14:10:29 -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
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
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
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
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
c8e6506687 Fix --disable-menu errors 2023-08-14 23:36:19 +02: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
2eee87f714 (Vulkan) Cleanups 2023-07-18 00:08:55 +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
57906892d8 Revert "On mobile in portrait mode, don't override custom viewport"
This reverts commit 6a1320bcfb6cf7d0335c816ee045a4b4df58eb35.
2023-06-21 08:37:19 +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
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
c1166ee823 Cleanups 2023-06-01 21:34:34 +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
2bf08f5457 vulkan_font_render_msg - don't use video_st 2023-05-31 22:01:00 +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
3737b99b05 Cleanups 2023-05-30 22:10:03 +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
barbudreadmon
1fb9853a93
(Shaders) pass rotation index to shaders (#15136) 2023-03-26 21:20:27 +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
a4dda41739 (PSL1GHT) Buildfixes/warning fixes 2023-02-20 15:33:54 +01:00
libretroadmin
6624126885 (MSVC) silence warnings 2023-02-18 17:04:23 +01:00
Hans-Kristian Arntzen
89d2d66e98
[Vulkan] Fix regression with RGB565 and OriginalHistory. (#14968)
Need to let filter chain know that we remapped the format.
Otherwise we end up trying to copy RGBA8888 to RGB565.
2023-02-12 18:10:07 +01:00
Hans-Kristian Arntzen
a77ada403e
[Vulkan] Use compute shaders to upload RGB565. (#14953)
A compatible path that is still fast. No reason to bother checking for
compat here really.
2023-02-05 19:23:48 +01:00
warmenhoven
8edbf51323
Fix warnings (#14918) 2023-01-28 17:29:53 +01:00
libretroadmin
7583e3d903 (Vulkan) Some refinements 2023-01-28 16:51:17 +01:00
warmenhoven
af2587b62b
Fix rgui on vulkan on platforms that don't have _pack16 VkFormats (#14916) 2023-01-28 16:47:11 +01:00
libretroadmin
1a93bb3844 (Vulkan) Move some code around 2023-01-24 04:40:17 +01:00
warmenhoven
5b4c2c3e12
avoid using _PACK16 pixel formats on platforms without them (#14863) 2023-01-23 21:00:22 +01:00
libretroadmin
e10361ed52 Header include cleanups for driver.h 2023-01-09 15:28:15 +01:00
libretroadmin
daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00