63 Commits

Author SHA1 Message Date
libretroadmin
a74675a718 Remove unneeded ENABLE_HLSL code from glslang 2024-05-23 01:25:37 +02: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
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 25a417cdd728d7a7ce39f96dbbf9c8d282529e5a.
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
twinaphex
0abe271909 Take out some header includes 2019-01-19 23:15:48 +01:00
twinaphex
6ca9afbd57 Silence more warnings with CXX_BUILD 2019-01-12 18:51:06 +01:00
Themaister
3f344660c0 Remove Windows \r line endings in glslang parser. 2018-11-08 21:34:21 +01:00
twinaphex
75a388cd67 Use strlcpy instead of strncpy in slang_process.cpp 2018-08-16 10:14:42 +02:00
twinaphex
a6941fb4ed Initial work done on VS2017 solution for Android 2018-08-14 16:02:31 +02:00
twinaphex
8a1c0be83c (Android) Another potential buildfix; define ENABLE_HLSL
(slang_process) Put HLSL/Cg code around ENABLE_HLSL ifdef
(SPIRV-Cross) Make sure macros no longer need to be redefined; make them
unique in both glsl and hlsl files; needed for Griffin builds
2018-06-26 13:18:17 +02:00
twinaphex
d967cbc879 Add another ENABLE_HLSL ifdef 2018-06-25 21:51:23 +02:00
twinaphex
b05026b69f Buildfix 2018-06-21 07:56:40 +02:00
Twinaphex
fd11b205da Silence bunch of warnings 2018-06-21 07:52:01 +02:00
Twinaphex
2bdffff435 Silence more warnings 2018-06-21 07:34:27 +02:00
Stuart Carnie
411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
twinaphex
268baca939 (MSVC 2013) Add /bigobj for griffin_glslang.cpp 2018-05-03 14:52:37 +02:00
twinaphex
871f04e19a (slang) Cleanups 2018-04-23 14:56:02 +02:00
twinaphex
c52f53aada Some minor refactors 2018-04-21 08:47:09 +02:00
Twinaphex
0be2b76892
Update slang_process.cpp 2018-03-22 15:24:03 +01:00
aliaspider
bb972a6dab (spirv) set flip_vert_y to true when emitting HLSL. 2018-03-06 04:12:58 +01:00
aliaspider
19aed2af36 (D3D11/12) prevent double-free when resizing framebuffers.
(D3D12)
- correctly support lut/filtering/wrap options for slang shaders.
- rework frame sync.
2018-02-11 22:56:37 +01:00
Twinaphex
31a30f1496
Merge pull request #6229 from aliaspider/master
(slang) slang_process: preset alias setting has higher priority.
2018-02-03 23:36:59 +01:00
aliaspider
0e159a0ec0 (slang) slang_process: preset alias setting has higher priority. 2018-02-03 23:35:04 +01:00
twinaphex
c60f706f1e (MSVC 2013) Update solution
Griffin - add better ifdefs
2018-02-03 20:50:31 +01:00
Twinaphex
e5610d5ddb
Merge pull request #6228 from aliaspider/master
(slang) slang_process: simplify data mappings.
2018-02-03 17:27:25 +01:00
aliaspider
76d07cd6a7 (slang) slang_process: simplify data mappings. 2018-02-03 17:22:47 +01:00
twinaphex
94022f0599 (MSVC 2013) Add HAVE_SLANG
(Griffin) Add SPIRV-Cross/slang rules to Griffin
2018-02-03 17:10:20 +01:00
aliaspider
e225e96025 (D3D11) multi-pass shaders: add support for history frames. 2018-02-03 13:29:00 +01:00