132 Commits

Author SHA1 Message Date
twinaphex
0bae77d199 (Shaders Vulkan/GLcore) Cleanups 2019-04-25 02:37:13 +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
604403fe90 (shader_vulkan) Simplifications - start making shader_gl_Core
and shader_vulkan more alike
2019-04-24 23:13:42 +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
twinaphex
3619fae2d9 (LGTM) Silence some warnings 2019-04-13 02:15:26 +02: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
orbea
28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex
1a0d5030f9 shader_vulkan.cpp - doesn't need math.h 2019-01-19 23:02:48 +01:00
orbea
e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
twinaphex
6ca9afbd57 Silence more warnings with CXX_BUILD 2019-01-12 18:51:06 +01:00
orbea
4bc0aacd8b Fix clang -Wreorder warnings.
gfx/drivers_shader/shader_vulkan.cpp:1109:6: warning: field 'id' will be initialized after field 'device' [-Wreorder]
   : id(move(id)),
     ^
gfx/drivers_shader/shader_vulkan.cpp:2107:4: warning: field 'device' will be initialized after field 'memory_properties' [-Wreorder]
   device(device),
   ^
2 warnings generated.
2018-12-16 16:16:07 -08:00
Themaister
124d9b57d6 Vulkan: Fix blue/red flip when using HW rendered cores with history.
Was using frontend format of BGRA8 when core was RGBA8, with blind
vkCmdCopyImage. Fix is to use the same format as core is pushing to
history buffer.
2018-12-06 11:38:30 +01:00
twinaphex
72428a23c5 (shader_vulkan.cpp) Move some functions to vulkan_common.c 2018-04-24 07:07:58 +02:00
twinaphex
311de8138e (Griffin) shader_vulkan - Uniquely name set_unique_map to avoid collision 2018-02-03 17:20:23 +01:00
aliaspider
3865856aa2 (D3D11) add support for #pragma format in slang shaders. 2018-02-01 15:07:12 +01:00
aliaspider
5bc78d3ad5 (D3D11) Implement slang shader specification using Spirv-Cross.
(incomplete)
2018-01-31 01:08:36 +01:00
twinaphex
59b3344e72 Combine video_driver.c and video_shader_driver.c 2017-05-18 14:47:24 +02:00
twinaphex
e0c0815f42 (shader_vulkan.cpp) cleanups - don't use memset 2017-05-10 06:40:21 +02:00
twinaphex
1b302d6e40 (shader_vulkan.cpp) Cleanups 2017-05-10 06:31:06 +02:00
Hans-Kristian Arntzen
2d88530c98 Vulkan: Simple snow pipeline works.
Some other fixes too.
2017-02-20 20:53:59 +01:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex
0354ced675 Style nits 2017-01-17 19:02:49 +01:00
twinaphex
68d484bf60 Set supports_rgba before calling image_texture_load 2017-01-08 21:49:23 +01:00
Hans-Kristian Arntzen
53c30cacd5 Correctly check errors if preset cannot be found. 2016-12-03 16:05:04 +01:00
twinaphex
b3ec735e75 Silence some more scan-build warnings 2016-09-25 15:25:20 +02:00
twinaphex
6002fd9f2a (shader_vulkan.cpp) Nits 2016-09-16 17:50:57 +02:00
twinaphex
99aae8537b Use string_is_equal/stdstring.h 2016-09-16 17:33:18 +02:00
twinaphex
075aea2289 Header include cleanups 2016-09-06 00:56:00 +02:00
Hans-Kristian Arntzen
96818a297c Vulkan: Fix validation errors with OriginalHistory.
For some reason, OriginalHistory blit happened inside a render pass.
Also add more TRANSFER_SRC_BIT caps to images as they might have to be
copied to history.
2016-08-07 01:09:15 +02:00
Hans-Kristian Arntzen
fb407796e9 Vulkan: Add push constant support to slang.
Usually, the UBO is very small, so we can fit everything in fast-access
uniforms.
2016-08-02 12:51:30 +02:00
Hans-Kristian Arntzen
00de5aa2f0 Vulkan: Filter out duplicated parameters. 2016-08-01 22:10:14 +02:00
Hans-Kristian Arntzen
efd3067903 Vulkan: Hook up shader parameters. 2016-08-01 22:10:14 +02:00
Hans-Kristian Arntzen
a50c204d5e Vulkan: Begin parsing parameters. 2016-08-01 22:10:14 +02:00
Hans-Kristian Arntzen
bdcbc56507 Vulkan: Fix validation errors. 2016-07-31 19:59:36 +02:00
Hans-Kristian Arntzen
e61ec38543 Vulkan: Mipmapped FBOs work. 2016-07-31 19:52:15 +02:00
Hans-Kristian Arntzen
a48ba6c68b Vulkan: Add mipmapping support to Framebuffer class. 2016-07-31 19:23:42 +02:00
Hans-Kristian Arntzen
9a613ef8bf Vulkan: Actually bind correct part of the UBO. 2016-07-31 18:25:42 +02:00
Hans-Kristian Arntzen
c0e752c53c Persistently map filter chain UBO. 2016-07-31 18:19:35 +02:00
Hans-Kristian Arntzen
10e864b26b Hook up wrapping modes. 2016-07-31 16:32:55 +02:00
Hans-Kristian Arntzen
4ac9ebd579 Vulkan: Allow configuring mip/wrap/filter for LUTs.
LUTs are feature complete with CGP now.
2016-07-31 16:16:47 +02:00
Hans-Kristian Arntzen
e846bd4955 Vulkan: Hook up preliminary support for mip/wrapping modes. 2016-07-31 15:42:57 +02:00
Hans-Kristian Arntzen
e57997bb82 Make image barriers hit the entire mipchain. 2016-07-31 13:05:07 +02:00
Hans-Kristian Arntzen
cbca9513ab Basic LUT work. 2016-07-31 13:01:31 +02:00
Hans-Kristian Arntzen
f208bba41e Add USER semantic to match user textures. 2016-07-31 12:39:07 +02:00
Hans-Kristian Arntzen
d39a3619d6 Begin implementation of LUTs in Vulkan. 2016-07-31 12:26:14 +02:00
Hans-Kristian Arntzen
e35191765c Vulkan: Fix PassOutput.
Oddly enough it worked during testing, but turns out it was never set
:')
2016-07-23 23:39:57 +02:00
Hans-Kristian Arntzen
4b7cadbae7 Vulkan: Fix silly bug with alias handling. 2016-07-23 23:23:22 +02:00