158 Commits

Author SHA1 Message Date
twinaphex
021625fd4a Revert "Move static functions to top of files"
This reverts commit 02b542e2a57cfff798bdd4be54ec1bf0fff4695f.
2020-06-26 18:40:26 +02:00
twinaphex
02b542e2a5 Move static functions to top of files 2020-06-26 18:15:38 +02:00
twinaphex
6fce0435a1 Update more logs 2020-06-08 18:04:29 +02:00
twinaphex
9059b4962e Cleanups 2020-06-07 00:05:41 +02:00
twinaphex
a5ca6c24de Add more TODO/FIXMEs for globals 2020-05-29 06:17:39 +02:00
jdgleaver
9eb8472805 Only write config files to disk when parameters change 2020-04-27 17:06:35 +01:00
twinaphex
cec672a71d Buildfix 2020-02-17 12:27:08 +01:00
twinaphex
a0f3010159 Cleanup 2020-02-17 03:59:12 +01:00
twinaphex
1105d1019d Reduce some configuration dependencies 2020-02-12 16:13:28 +01:00
twinaphex
35b8c4cb05 Cleanup 2020-02-01 02:02:50 +01:00
twinaphex
6d0286efbd Turn video_shader_parse_type into macro 2020-01-22 14:30:55 +01:00
twinaphex
7175c3ec22 FIx another 'may be used uninitialized' warning 2019-10-05 18:43:25 +02:00
twinaphex
221df13250 Cleanups/warning fixes - compilation fix for OSX PPC 2019-10-05 18:38:17 +02:00
twinaphex
b94b9e2adb Go back to plain strlcpy/strlcat - probably best to look at
opportunities to reduce these calls vs. replacing them with
unsafe macros
2019-09-23 00:19:01 +02:00
twinaphex
3b057d9605 Start using STRLCAT_CONST_INCR and STRLCPY_CONST 2019-09-20 23:33:17 +02:00
twinaphex
db624a7c99 Start cleaning up the rather messy manual assignment 2019-09-20 02:03:26 +02:00
twinaphex
ab515daa0c Try to get rid of file_path_str 2019-09-18 18:12:57 +02:00
twinaphex
c186747edc (video_shader_parse) avoid some more snprintfs 2019-09-18 09:11:32 +02:00
Twinaphex
714e3ddc2a (SBT font driver) Check first if font files exist before
we try to open them
2019-08-24 03:30:32 +02:00
LazyBumHorse
a882901e39 save unmodified auto-shaders as a reference instead of a copy, see:
- implement #reference directive for auto-shaders
 - replace usual preset saving and loading functions with video_shader_read_preset() and video_shader_write_preset()
 - apply saved presets automatically for console menus
 - move auto-shader saving logic from menus into menu_shader.c menu_shader_manager_save_auto_preset()
 - refactor menu_shader_manager_save_preset() into menu_shader_manager_save_preset_internal()
2019-08-22 16:57:28 +02:00
twinaphex
d52c573e13 Merge slang_preprocess.cpp into slang_process.cpp 2019-08-18 18:55:22 +02:00
LazyBumHorse
719555bae1 Overhaul shader loading logic, add --set-shader CLI option 2019-08-17 15:20:51 +02:00
twinaphex
b282125107 Revert "Refactor code for glslang shader presets - buffer entire file"
This reverts commit 0fee6a9ef4914d228118b689fe755ef663ce2d4d.
2019-08-08 16:36:34 +02:00
twinaphex
83c113cb59 Cleanups 2019-08-08 14:57:28 +02:00
twinaphex
0fee6a9ef4 Refactor code for glslang shader presets - buffer entire file
into memory before passing it on
2019-08-08 04:55:22 +02:00
jdgleaver
bcfc5db7d8 (video_shader_parse) Optimise parsing of (non-slang) shader parameters 2019-08-07 17:19:18 +01:00
LazyBumHorse
6285c05948 add resolve_symlinks parameter to path_resolve_realpath() and cleanup playlist_resolve_path() 2019-07-22 13:44:35 +02:00
LazyBumHorse
f8b92770d4 simplify video_shader_read_conf_preset() calls 2019-07-21 18:15:28 +02:00
LazyBumHorse
2245af23e9 much improved handling of relative shader paths
- save texture paths in relative format as well
 - always write portable relative paths on Windows using '/' instead of '\'
 - remove an ancient piece of code that could sometimes fail loading relative paths
 - fix absolute path handling between different drives for Windows
 - integrate video_shader_resolve_relative() into video_shader_parse_* functions
2019-07-20 18:29:46 +02:00
twinaphex
b7a85d392f Silence warnings 2019-07-12 16:31:16 +02:00
twinaphex
f0f5c32b51 Remove state tracker - legacy code - we can revisit this later
and integrate it in a way so that it scales across all drivers
2019-07-09 07:39:38 +02:00
LazyBumHorse
7b6444d911 temporary workaround for d3d10-12, gx2 not being able to poll flags during init 2019-06-19 19:10:40 +02:00
twinaphex
5d91af629e Set SHADERS_SLANG flag for D3D10/11/12 and query the video driver poke
interface's 'get flags' function before querying the video context
driver's 'get flags' function (D3D10/11/12/WiiU don't have a context
driver at all)
2019-06-19 03:18:28 +02:00
LazyBumHorse
c20c67bd3a proper shader compatibility checks
- move shader flags from the video drivers to the context drivers
 - rework config_load_shader_preset() from configuration.c into retroarch_load_shader_preset() in retroarch.c with proper compatibility check
 - implicitly call retroarch_load_shader_preset() in retroarch_get_shader_preset() once per core/content life cycle
 - use video_shader_is_supported() instead of video_driver_test_all_flags() where appropriate
 - remove GFX_CTX_FLAGS_NONE because it is meaningless
2019-06-18 13:46:41 +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
42e35c825f refactor some video_shader_parse functions
- video_shader_parse_type()'s fallback only worked for NULL paths and was wrongly used, now returns RARCH_SHADER_NONE like video_shader_get_type_from_ext().
 - video_shader_get_type_from_ext() should not be checking video driver flags, this is instead done by video_shader_is_supported()
 - video_driver_get_all_flags() did not actually 'get' flags, changed to video_driver_test_all_flags()

workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-18 13:12:56 +02:00
twinaphex
ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
LazyBumHorse
6514b80ff2 Revert "allow saving and properly loading 0 pass shader presets"
This reverts commit b54a360ab8b584a5350a125c00e605960a26297b.
2019-06-16 23:05:41 +02:00
twinaphex
f60306b232 Rename read_conf_cgp/write_conf_cgp to
read_conf_preset/write_conf_preset
2019-06-15 09:00:35 +02:00
LazyBumHorse
b54a360ab8 allow saving and properly loading 0 pass shader presets 2019-06-09 21:34:00 +02:00
LazyBumHorse
2816730b2f make shader presets use relative paths
Also change fill_pathname_resolve_relative() to apply path_resolve_realpath() as well
2019-06-07 16:11:06 +02:00
twinaphex
4c5f9ee65b Cleanups 2019-05-31 17:34:32 +02:00
twinaphex
3e350afe93 video_shader_parse_pass - free pointer earlier 2019-05-11 08:56:41 +02:00
twinaphex
74388d8490 Remove string_concat 2019-05-10 18:05:58 +02:00
twinaphex
39eadbab6f Use string_concat in more performance critical areas 2019-04-30 21:17:51 +02:00
twinaphex
4c3e0d44b8 Revert "Start using string_is_equal_memcmp and"
This reverts commit 26d6aee1eb064a533534dbc158a2085a887658aa.
2019-04-29 04:04:33 +02:00
twinaphex
26d6aee1eb Start using string_is_equal_memcmp and
string_is_equal_memcmp_fast
2019-04-28 17:23:11 +02:00
twinaphex
2c47d571aa Use path_is_valid instead of filestream_exists when we only
need to know if a file exists on the filesystem
2019-04-27 14:01:50 +02:00
twinaphex
643cd1923e CXX_BUILD / C89_BUILD buildfixes 2019-03-14 14:14:44 +01:00
twinaphex
d744ed4666 Reimplement video_shader_is_supported 2019-03-13 20:39:36 +01:00