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.
Add a display server construct for DRM/KMS mode. The main use is
to provide resolution changes (including automatic refresh rate
switch) for this configuration, i.e. DRM context and OpenGL drivers.
To enable refresh rate restoration after automatic refresh rate
change, av_info->timing_fps is also adjusted on core close / RA exit.
No effects expected on CRTSwitchRes.
* Prepare to update deps/switchres
* Squashed 'deps/switchres/' content from commit ca72648b32
git-subtree-dir: deps/switchres
git-subtree-split: ca72648b3253eca8c5addf64d1e4aa1c43f5db94
* Add CRT modeswitching to KMS
Display the real refresh rate
Enable the CRT SwitchRes menu
Add another switchres.ini path for Lakka
* Add option for showing the overlay behind the menu
This commit lays the groundwork for this option. Support for this option
in the video drivers themselves is going to be added in later commits.
* gl1: Add overlay behind menu support
* gl2: Add overlay behind menu support
* gl3: Add overlay behind menu support
* vulkan: Add overlay behind menu support
* ctr: Add overlay behind menu support
* d3d9: Add overlay behind menu support
* d3d10: Add overlay behind menu support
* d3d11: Add overlay behind menu support
* d3d12: Add overlay behind menu support
* CHANGES.md: overlay behind menu
Co-authored-by: MrHuu <MrHuu@users.noreply.github.com>
Co-authored-by: Tony <45124675+sonninnos@users.noreply.github.com>
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
This driver should sunset the old gl2 driver, but that driver will
likely live on to support really ancient and terrible GL stacks.
All the worst legacy cruft has been ripped out, and it's almost a decent
backend now.
Requirements for slang are GL 3.2+ or GLES3.
Some shaders require features which are not directly compatible with
GLES2 or legacy GL.
This driver shares a lot of concepts from the Vulkan driver.
The slang shader stack and SPIRV-Cross are used to implement the shader
spec, and the menu shaders are also shared with Vulkan.