Commit Graph

37 Commits

Author SHA1 Message Date
twinaphex f8b8f2a07d (slang) Cut down on code duplication 2020-08-03 18:37:07 +02:00
twinaphex 86d302099e Move build_vec4 to glslang_util.c 2020-08-03 18:34:33 +02:00
twinaphex cce2ac6904 (shaders slang) Cut down on code duplication 2020-08-03 18:13:08 +02:00
jdgleaver 548c5dc925 (glcore/slang) Set filter and wrap mode correctly when intialising shader textures 2020-04-30 17:04:02 +01:00
twinaphex d3bc82d2c3 Header cleanups 2020-03-05 14:12:20 +01:00
twinaphex ff9701685f Remove some auto variables 2020-01-22 19:07:10 +01:00
twinaphex 8f1aa8c2c3 (shader_gl_core.cpp) Cleanups 2020-01-22 13:52:14 +01:00
twinaphex 376ad6d61d move more C functions over to gl_core.c 2020-01-22 13:12:00 +01:00
twinaphex bcf8ff3d0a (shader_gl_core) Get rid of ConfigDeleter - move C code to gl_core.c 2020-01-22 11:57:06 +01:00
twinaphex c8227c95dd (shader_gl_core) get rid of ConfigDeleter 2020-01-22 11:35:00 +01:00
twinaphex f853632260 Move framebuffer generate_mips function to vulkan_common.c 2020-01-22 10:52:20 +01:00
twinaphex 1fd6d024eb More buildfixes for ANGLE 2019-12-07 07:24:20 +01: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 0905c8d2ed (shader_gl_core.cpp) Simplify some code 2019-08-18 18:32:01 +02:00
twinaphex aaeff6c888 Move C code over to glslang_util.c 2019-08-18 18:01:21 +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 41a2fabb4e Create config_file_new_from_path_to_string 2019-07-18 12:03:50 +02:00
LazyBumHorse 76438fa098 workaround for crash due to glcore not always using at least OpenGL 3.2 2019-06-17 18:28:04 +02:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +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 d12dba6db4 (hotfix) Don't poll vendor specific 'patch' version 2019-05-25 17:51:03 +02:00
LazyBumHorse 9894f48fb0
added paranoid NULL check 2019-05-25 13:10:13 +02:00
LazyBumHorse 662b473e9f don't hardcode shader cross compilation target version but poll it 2019-05-25 12:32:34 +02:00
LazyBumHorse ee3cda8abf added "FrameDirection" slang semantic and implementation for glcore and vulkan 2019-05-24 22:11:12 +02:00
twinaphex bc2bdd5734 config_file_read not needed anymore 2019-04-30 13:37:10 +02:00
twinaphex 15afaedaa8 (Shaders vulkan/GLcore) Simplify 2019-04-25 02:34:26 +02:00
twinaphex e40c3ec07b (Shader Vulkan/GL core) Make code more the same 2019-04-25 01:42:56 +02:00
twinaphex 55b53929db (shader GL/Vulkan) Cleanups 2019-04-24 23:45:57 +02:00
twinaphex e42dae928e (gl shader core) Simplifications 2019-04-24 22:20:48 +02:00
twinaphex 51a69dff44 (gl core shaders) Simplification 2019-04-24 22:10:21 +02:00
twinaphex 3225876f0b (shader_gl_core.cpp) Simplify 2019-04-24 20:25:37 +02:00
twinaphex a60844897f (Shader GL core) Simplify some code 2019-04-24 04:24:48 +02:00
twinaphex 955a149ce9 Use config_file_read where we can assume we are reading a file 2019-04-22 01:56:24 +02:00
Themaister beff1144f6 Fix uniform override mistake in glcore shader stack.
glGetUniformLocation returned -1 after 0, and dropped uniforms on the
floor.
2019-03-13 18:28:05 +01:00
Themaister 1ba8c626ed Minor build fixes. 2019-03-09 12:42:23 +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