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 26d6aee1eb
.
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
twinaphex
57e11a10e7
Reimplement video_shader_get_type_from_ext
2019-03-13 20:32:19 +01:00
Themaister
3029f96511
Add a new "glcore" driver with slang support.
...
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.
2019-03-09 12:30:49 +01:00
orbea
088860e499
Silence -Wformat-truncation warnings with DEBUG=1.
2019-01-24 10:59:53 -08:00
twinaphex
3ac631c7a3
(MSVC) Some more static code analysis warning fixes
2019-01-10 22:49:23 +01:00
twinaphex
b9ff2e4de1
Fix some static code analysis warnings from MSVC 2017
2019-01-10 21:47:15 +01:00
Brad Parker
4d09ddde1c
Qt: limit shader preset/pass selection to the appropriate extensions
2018-08-20 20:26:50 -04:00
Brad Parker
e4834250b9
Qt: set shader dialog title to current preset/shader name
2018-08-18 12:39:17 -04:00
Brad Parker
16459bfa91
Qt: add filter/scale to shader window
2018-08-18 00:33:59 -04:00
Brad Parker
341cf63399
Qt: show shader pass in parameters window, reload shader params when shader is reloaded
2018-08-14 21:38:52 -04:00
Brad Parker
560149857b
shaders: track the pass for each parameter
2018-08-14 18:46:32 -04:00
Brad Parker
4a86d29810
shaders: fix memory leak
2018-08-14 18:44:19 -04: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
8848b2837b
Add D3D10 to slang supported checks
2018-04-21 05:11:24 +02:00
twinaphex
3cd2018cc1
Update video_shader_parse.c
2018-03-02 01:41:05 +01:00
twinaphex
df7f47d00a
Create string_is_equal_case_insensitive
2018-03-01 23:16:34 +01:00
twinaphex
2f457af8bf
Buildfix
2018-03-01 22:51:43 +01:00
twinaphex
25b7e54bdb
Fix mistake
2018-03-01 22:44:27 +01:00
twinaphex
7a7902c4ac
string_is_equal_noncase has issues in video_shader_get_type_from_ext
2018-03-01 22:42:03 +01:00
twinaphex
ba0e6bcdea
Get rid of warning that is inaccurate
2018-03-01 18:17:04 +01:00
twinaphex
8b8b08aefd
- Simplify video_shader_parse_type
...
- Fix welcome screen
2018-03-01 15:58:06 +01:00
twinaphex
7e8b9135c3
(Cg) If GL context is GLES2/3/Core context, Cg shaders are unavailable
2018-02-26 19:39:42 +01:00
twinaphex
826ca302ca
video_shader_get_type_from_ext - the switch now covers the APIs
...
that support the shader type, not the ones that don't
2018-02-26 19:04:01 +01:00
twinaphex
f2e80fd8e8
hide cg and glsl for D3D10/11/12 drivers
2018-02-26 18:36:10 +01:00
twinaphex
a34c066e07
Hide glsl/cg shaders from Vulkan driver
2018-02-26 18:35:16 +01:00
twinaphex
d45189b853
Prevent crashes from occurring if we have the GL video driver
...
in use and we try to skip to a slang shader through next/previous
hotkeys
2018-02-26 18:15:38 +01:00
twinaphex
5665e27324
Nits
2018-02-26 15:12:19 +01:00
twinaphex
826a5009b0
Cleanups
2018-02-25 23:54:46 +01:00
twinaphex
d8498d0de7
Cleanups
2018-02-25 23:49:00 +01:00
twinaphex
8dbe653e9f
Cleanup
2018-02-25 23:24:21 +01:00
twinaphex
e75992a66f
Get rid of HAVE_SHADER_MANAGER
2018-02-25 23:03:39 +01:00
twinaphex
74309e6e1c
shader code - Get rid of more hashes
2018-02-25 17:20:22 +01:00
twinaphex
f00d194ae3
Get rid of more hashes
2018-02-25 16:32:54 +01:00
twinaphex
016e24e5a5
(video_shader_parse) Get rid of hashes
2018-02-25 01:07:14 +01:00
aliaspider
37bebb5b65
(D3D12) slang shaders support.
2018-02-11 00:00:20 +01:00
twinaphex
d950794659
(video_shader_parse.c) Be safer with memory allocations
2018-02-05 13:55:04 +01:00
twinaphex
df632814e6
Add appropriate HAVE_SPIRV_CROSS ifdefs
2018-02-03 17:13:36 +01:00
aliaspider
5bc78d3ad5
(D3D11) Implement slang shader specification using Spirv-Cross.
...
(incomplete)
2018-01-31 01:08:36 +01:00
Brad Parker
9ef75473e0
fix coverity warnings
2018-01-26 00:14:59 -05:00
Brad Parker
9e347ec71f
detect shader file changes on move and delete as well, and wait a few frames before re-applying changes
2018-01-25 19:09:55 -05:00
Brad Parker
f087b150c9
Add quick menu option to watch shader files for changes and recompile automatically (Linux only for now)
2018-01-25 15:50:57 -05:00
twinaphex
61ff51be2f
Start using string_is_equal predominantly
2018-01-16 22:53:38 +01:00
twinaphex
0be4d7d178
Add free(file)
2018-01-07 13:13:21 +01:00
aliaspider
55d262f5d8
(WIIU) add preliminary multi-pass shader support.
...
can load *.slangp and *.slang files. since there is no runtime compiler,
precompiled shaders (*.gsh) need to be present next to each *.slang
source file.
2018-01-06 03:39:53 +01:00
twinaphex
e0b59c40ea
Cleanups
2018-01-04 14:52:35 +01:00
Alcaro
bfeb9ff5c2
that's an interesting double free
2017-12-18 22:29:27 +01:00
twinaphex
1932513edb
Update libretro-common
2017-12-15 00:31:37 +01:00
twinaphex
c7c4b723d6
Move path_file_exists to filestream and do away with filestream
...
dependencies in file/file_path
2017-12-14 20:05:46 +01:00
gblues
6904101c44
Clean up trailing whitespace
...
== DETAILS
Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
twinaphex
57b730ab61
Start implementing VFS layer ; first split up VFS libretro functionality
...
to separate header until things are finalized
2017-12-11 21:24:14 +01:00
twinaphex
c4d8a8c800
Free after intfstream_close
2017-12-11 20:24:00 +01:00
twinaphex
12e6f38999
(gfx/video_shader_parse) Use intfstream instead of file_stream
2017-12-11 13:01:17 +01:00
twinaphex
61d3f90cae
Add hint defines to libretro.h
2017-12-11 12:53:47 +01:00
twinaphex
318f17c4cb
Start using VFS API constant defines
2017-12-11 12:15:00 +01:00
twinaphex
2e979ec537
Replace function signatures of file_stream file functions
2017-12-10 22:25:38 +01:00
twinaphex
40f82c26f7
use RFILE_MODE_READ for video_shader_parse
2017-12-10 22:01:48 +01:00
twinaphex
8072dab6fe
Clean this up
2017-10-22 05:24:57 +02:00
twinaphex
d203e4dc9c
video_shader_driver_resolve_parameters - fix crash at startup with
...
MSVC
2017-10-22 05:21:31 +02:00
Brad Parker
38c30667c5
fix include paths
2017-10-14 23:08:43 -04:00
r5
d5321c2001
Fix missing include
2017-09-19 13:49:51 +01:00
r5
cc5adc56ac
(shaders) Change RARCH_WARN message, add missing newline
2017-09-18 18:12:00 +01:00
r5
33431b7b36
(shaders) Fix a bug when context is Vulkan. Remove smart code.
2017-09-18 10:51:38 +01:00
r5
f5988b2323
(shaders) Log a warning when using the shader fallback type
...
Only allow using Cg shaders when HAVE_CG is set
2017-09-18 04:43:08 +01:00
r5
fdccf4a6b0
(C89) Should be able to build now
...
@bparker06 to the rescue again.
2017-09-18 04:21:59 +01:00
r5
da0abc3126
Try to fix C89 build
2017-09-18 04:09:28 +01:00
r5
4a9325d01d
(shaders) Avoid certain shader types when context isn't compatible.
...
@bparker06 to the rescue.
2017-09-18 03:46:17 +01:00
twinaphex
ba77d862a3
video_shader_parse.c - reduce stack usage
2017-09-09 22:54:55 +02:00
twinaphex
02ac92b91d
Cleanups
2017-09-08 16:43:34 +02:00
twinaphex
2f39e4cd33
Use local variable
2017-05-28 17:46:42 +02:00
twinaphex
857562bf9d
Prevent immediate crash when compiling with SANITIZER=address
2017-05-28 17:46:01 +02:00
twinaphex
126a5bf121
Use string_is_equal_fast/string_is_not_equal_fast
2017-05-16 04:00:37 +02:00
twinaphex
f9bc2d3783
Use memcmp instead of string_is_equal where possible for
...
better performance
2017-04-21 22:47:15 +02:00
Twinaphex
b7b3b2cb5f
Try to prevent truckload of warnings on iOS
2017-02-26 10:33:03 +01:00
twinaphex
96c8ca5a09
Header update #1
2017-01-22 13:40:32 +01:00
Hans-Kristian Arntzen
4e9fe4bd54
Vulkan: Fix menu shader parameters for slangp.
...
video_shader_resolve_parameters did not take #includes into account
while the Vulkan implementation did. Added a helper function which
parses a shader file and figures out the shader parameters in the same
way.
2016-12-20 15:58:37 +01:00
twinaphex
5ca7344436
Get rid of more implicit memsets
2016-12-19 19:17:23 +01:00
radius
ddf10e93f0
remove filestream, use path_file_exists instead
2016-12-04 12:38:46 -05:00
radius
c2acadb979
instead of writing absolute paths, try to resolve absolute paths when loading, if not fallback to relative paths
2016-12-04 02:09:19 -05:00
radius
5e1ed323bd
make shaders paths absolute for now
2016-12-04 01:12:57 -05:00
twinaphex
546845c577
Prevent implicit memsets
2016-10-21 06:10:58 +02:00
twinaphex
e106fd4374
Get rid of more general.h includes
2016-09-01 18:01:41 +02:00
twinaphex
4791174ea3
(MSVC 2003) Fixes
2006-01-17 06:11:55 +01:00
Hans-Kristian Arntzen
efd3067903
Vulkan: Hook up shader parameters.
2016-08-01 22:10:14 +02:00
Hans-Kristian Arntzen
8b14941a94
Refactor out resolve_current_parameters.
2016-08-01 22:10:14 +02:00
twinaphex
087e378bf7
Use 0 parameter index
2016-08-01 15:43:34 +02:00
twinaphex
49e8baa61d
Use tmp_str variable for config_get_path usage
2016-06-25 07:17:48 +02:00
twinaphex
1fb2144a48
Refactor video_shader_parse_type
2016-06-20 22:17:03 +02:00
twinaphex
2b33c731d0
Create RFILE_MODE_READ_TEXT
2016-06-03 03:14:42 +02:00
twinaphex
294777166f
video_shader_parse.c - use filestream
2016-06-03 00:11:41 +02:00
twinaphex
a82a8cad51
Be more careful with config_get_bool
2016-05-24 22:48:15 +02:00
twinaphex
6f80e09ce1
Change MIN/MAX to upper-case
2016-03-02 00:07:31 +01:00
Hans-Kristian Arntzen
adbf9fed16
Vulkan implementation.
2016-02-16 20:42:02 +01:00
twinaphex
b8b7ee530c
Respect 80-char width limits
2016-02-06 21:51:37 +01:00
twinaphex
454abdee48
stdstring - create string_is_equal
2016-01-20 04:07:24 +01:00
twinaphex
54f46f4ee3
Update headers
2016-01-10 04:41:52 +01:00
twinaphex
f9f6d49ab7
Move macros to top
2015-12-26 11:27:52 +01:00
twinaphex
074f14b132
Add verbosity.c/verbosity.h
2015-11-23 12:03:38 +01:00
twinaphex
2d62493157
Cleanups
2015-10-31 20:53:08 +01:00
Twinaphex
1f40c2a6d1
Cleanup
2015-10-11 09:31:04 +02:00
Twinaphex
e8d266cb9d
Revert "Revert "Add support for shader pass feedback.""
2015-08-30 18:37:41 +02:00
Twinaphex
ad1825ca50
Revert "Add support for shader pass feedback."
2015-08-30 18:21:07 +02:00
CautiousAlbino
aee5e74001
Add support for shader pass feedback.
2015-08-30 16:23:55 +02:00
twinaphex
40f8fabda6
Consistency in how we treat positive strcmp matches
2015-06-14 19:56:01 +02:00
twinaphex
0c8baf7e47
(video_shader_parse.c) Use hashing
2015-06-14 19:02:53 +02:00
twinaphex
6e2bea3b38
(Audio/gfx) Cleanups
2015-06-13 01:18:13 +02:00
twinaphex
da88bcdd91
Rename gfx_shader* to video_shader*
2015-01-19 21:24:08 +01:00
Twinaphex
77a7b39e88
(OSX) Cleanups
2015-01-19 21:11:08 +01:00
twinaphex
b0548e1329
Properly namespace video_shader_parse.c functions
2015-01-19 21:09:39 +01:00
twinaphex
058900ac9f
Rename shader_parse.c to video_shader_parse.c
2015-01-12 23:42:50 +01:00