Commit Graph

62 Commits

Author SHA1 Message Date
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
barbudreadmon 1fb9853a93 (Shaders) pass rotation index to shaders (#15136) 2023-03-26 21:20:27 +01:00
LibretroAdmin d0b3c1742d (Video) use flags for FBO passes, GL2 renderchain, etc 2022-10-26 21:21:21 +02:00
twinaphex a8f410ed40 slang_preprocess_parse_parameters - get rid of one local variable 2021-04-11 01:49:41 +02:00
twinaphex 1273536752 Reduce get_semantic_name down to one version 2021-04-10 21:46:04 +02:00
twinaphex b5d49b9e79 Avoid std::string allocations when possible (pt. 1) 2021-04-10 20:19:30 +02:00
twinaphex f0fa3c5861 (slang C++ files) take out using namespace std, explicitly refer to
std namespace
2021-04-10 19:42:59 +02:00
Daniel De Matteis 1ece33337c (Mac) More warning fixes 2021-01-26 21:21:51 +01:00
Autechre 082ccc167e Fix slang_process string to C char regressions (#11943) 2021-01-26 18:17:37 +01:00
twinaphex 6af6d5eb1c (jdgleaver) Initialize string lists properly to prevent memory leaks 2020-08-25 13:25:27 +02:00
twinaphex 0a69d14b11 Reimplement slang_preprocess_parse_parameters 2020-08-24 00:54:24 +02:00
twinaphex cce2ac6904 (shaders slang) Cut down on code duplication 2020-08-03 18:13:08 +02:00
twinaphex f83f0b2d44 Fix static code analysis warnings 2020-06-29 20:27:34 +02:00
twinaphex cf1eb2e989 Silence more warnings 2020-06-29 20:17:54 +02:00
twinaphex 479058d1a3 Prevent implicit memsets 2020-06-29 16:42:51 +02:00
twinaphex 6408da2ae4 Silence warnings 2020-05-23 03:19:25 +02:00
twinaphex 75eef8a2c9 (drivers shader slang) Put logging behind DEBUG ifdef - and
turn some conditionals into a switch
2020-02-19 16:25:41 +01:00
twinaphex d89fb0e7c4 (shader_slang.cpp) Simplify usage of functions that are only
ever used as C-strings
2020-02-01 07:04:27 +01:00
twinaphex a0486c3cd7 Revert "Simplify slang_process.cpp"
This reverts commit 25a417cdd7.
2019-11-12 01:34:03 +01:00
twinaphex 25a417cdd7 Simplify slang_process.cpp 2019-11-11 18:55:33 +01:00
twinaphex d52c573e13 Merge slang_preprocess.cpp into slang_process.cpp 2019-08-18 18:55:22 +02:00
Hans-Kristian Arntzen 135ff5e7a5 Fixup resource remapping in MSL/HLSL.
Seemed rather sketchy, but this must be tested a bit.
2019-06-24 14:25:04 +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 ee3cda8abf added "FrameDirection" slang semantic and implementation for glcore and vulkan 2019-05-24 22:11:12 +02:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00