Rémi Verschelde
3695c08782
basis_universal: Use proper basisu_transcoder.h header, fixes Clang build
...
Also renames bu to basisu to be more explicit and match upstream name.
2020-02-11 12:03:07 +01:00
Rémi Verschelde
af6a3a419a
Better format generated shader headers
2020-02-11 12:03:05 +01:00
Juan Linietsky
d5cf1a872b
Fixes to Basis Universal.
2020-02-11 12:02:59 +01:00
Rémi Verschelde
339cab7b53
Merge pull request #32385 from akien-mga/vulkan_basis
...
Vulkan: Fixes to bundled basis_universal and glslang
2020-02-11 12:02:54 +01:00
Rémi Verschelde
65ad12e79a
glslang: Disable warnings and allow unbundling
2020-02-11 12:02:50 +01:00
Rémi Verschelde
7458a601ce
basis_universal: Fix py3 build and document license and provenance
...
Also drop unneeded files.
Fix build with MinGW. Closes #32384 .
2020-02-11 12:02:45 +01:00
Juan Linietsky
4aea9f74e6
Rewritten StreamTexture for better code reuse, added basis universal support
2020-02-11 12:02:36 +01:00
Juan Linietsky
263bebe023
Untested support for compute shaders
2020-02-11 12:02:34 +01:00
Rémi Verschelde
f55332ffad
Merge pull request #32298 from Chaosus/vk_fix_typo
...
[Vulkan] Fix typo in shading modes
2020-02-11 12:02:28 +01:00
Yuri Roubinsky
ca66fec570
[Vulkan] Fix typo in shading modes
2020-02-11 12:02:24 +01:00
Juan Linietsky
b08f13d558
Skeletons are now working.
2020-02-11 12:02:17 +01:00
Rémi Verschelde
e3b76fd040
Merge pull request #32281 from Chaosus/vk_shader_array_varying2
...
[Vulkan] Implement shader array support for varyings
2020-02-11 12:02:06 +01:00
Yuri Roubinsky
bfa834a78a
[Vulkan] Implement shader array support for varyings
...
Remake of #32175
2020-02-11 12:02:02 +01:00
Rémi Verschelde
d08bf966eb
Merge pull request #32280 from Chaosus/vk_shader_switch2
...
[Vulkan] Implements switch flow control operator in shaders
2020-02-11 12:01:59 +01:00
Yuri Roubinsky
d51b7aafb5
[Vulkan] Implements switch flow control operator in shaders
2020-02-11 12:01:49 +01:00
Juan Linietsky
bc3dbe8240
Properly working instancing, and compatibility fixing for old meshes
2020-02-11 12:01:33 +01:00
Juan Linietsky
123ee5995c
Visual GPU profiler and related profiling support in Vulkan.
2020-02-11 12:01:26 +01:00
Juan Linietsky
dc32083681
Proper texture reloading (was broken).
2020-02-11 12:01:25 +01:00
Juan Linietsky
dd3682e5fe
Modernized default 3D material, fixes material bugs.
2020-02-11 12:01:24 +01:00
Juan Linietsky
6deffa62fb
Several fixes to 3D rendering, and multimesh implementation.
2020-02-11 12:01:22 +01:00
Juan Linietsky
9d7b7f931b
Reflection probes working
2020-02-11 12:01:21 +01:00
Juan Linietsky
69e83e4815
Directional light cleanup.
2020-02-11 12:01:21 +01:00
Juan Linietsky
88a7debbbc
Directional lights and shadow mapping are functional.
2020-02-11 12:01:20 +01:00
Juan Linietsky
920db604d2
Rewrote large part of rendering, omni and spot shadows now work.
2020-02-11 12:01:18 +01:00
Juan Linietsky
1d871f6226
Tonemapping ported (not all parameters supported yet, only enough to get correct color)
2020-02-11 12:01:09 +01:00
Juan Linietsky
2d6a916835
Environment sky more or less working.
2020-02-11 12:01:05 +01:00
Rémi Verschelde
f7aa7927e7
Merge pull request #31527 from Chaosus/vk_shader_array_support2
...
[Vulkan] Implemented local shader arrays
2020-02-11 12:00:53 +01:00
Yuri Roubinski
ef50752292
[Vulkan] Implemented local shader arrays
2020-02-11 12:00:46 +01:00
Rémi Verschelde
86d0d88b42
Merge pull request #31526 from Chaosus/shader_bug_vk2
...
[Vulkan] Fix ternary operator shader compiler expression
2020-02-11 12:00:16 +01:00
Yuri Roubinski
47c0ef3308
[Vulkan] Fix ternary operator shader compiler expression
2020-02-11 12:00:10 +01:00
Rémi Verschelde
b129f8d06d
Merge pull request #31525 from Chaosus/vk_shaders_do2
...
[Vulkan] Implemented do/while loops for shaders
2020-02-11 12:00:05 +01:00
Yuri Roubinski
95e8375efb
[Vulkan] Implemented do/while loops for shaders
2020-02-11 11:59:51 +01:00
Juan Linietsky
8cee7703a6
Yay very basic 3D (only white) finally shows.
2020-02-11 11:59:27 +01:00
Juan Linietsky
449df8f688
Base 3D engine done, still untested, though.
2020-02-11 11:59:25 +01:00
Rémi Verschelde
7fa9785170
Merge pull request #31105 from akien-mga/vulkan
...
RID_Alloc: Fix locking in getornull and free early returns
2020-02-11 11:59:17 +01:00
Rémi Verschelde
61cf68fb48
RID_Alloc: Fix locking in getornull and free early returns
...
Those missing unlocks were preventing the editor from starting.
2020-02-11 11:59:16 +01:00
Rémi Verschelde
c29d375088
Merge pull request #31102 from akien-mga/vulkan
...
SCons: Streamline Vulkan buildsystem + fixups
2020-02-11 11:59:06 +01:00
Rémi Verschelde
511f65214f
SCons: Streamline Vulkan buildsystem + fixups
...
- Renamed option to `builtin_vulkan`, since that's the name of the
library and if we were to add new components, we'd likely use that
same option.
- Merge `vulkan_loader/SCsub` in `vulkan/SCsub`.
- Accordingly, don't use built-in Vulkan headers when not building
against the built-in loader library.
- Drop Vulkan registry which we don't appear to need currently.
- Style and permission fixes.
2020-02-11 11:59:04 +01:00
Rémi Verschelde
324082471d
Merge pull request #31100 from akien-mga/vulkan
...
VulkanLoader: Make Windows includes lowercase for MinGW
2020-02-11 11:59:00 +01:00
Rémi Verschelde
ae3ce08982
VulkanLoader: Make Windows includes lowercase for MinGW
...
MinGW-w64 ships all Windows SDK headers as lowercase, which prevents
cross-compiling this code from Linux.
Windows filesystems are case insensitive so it should work fine with
lowercase includes.
PR'ed upstream: https://github.com/KhronosGroup/Vulkan-Loader/pull/212
2020-02-11 11:58:54 +01:00
Juan Linietsky
dc3b47f3ab
Vulkan/RD rasterizer now does clean exit.
2020-02-11 11:58:16 +01:00
Juan Linietsky
b52a2f3dfa
Fix comment
2020-02-11 11:58:11 +01:00
Rémi Verschelde
6289e7d147
Merge pull request #29993 from bruvzg/vulkan
...
Initial Vulkan support for macOS (MoltenVK) and Windows
2020-02-11 11:57:40 +01:00
bruvzg
b456bfad5c
Add runtime GLES2 / Vulkan context selection.
2020-02-11 11:57:34 +01:00
bruvzg
eb48be51db
Add static Vulkan loader.
...
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
Juan Linietsky
6ecedd1e6c
Add a system to properly update materials if the uniform set is gone (likely deleted texture)
2020-02-11 11:53:29 +01:00
Juan Linietsky
4fe3ee1730
Moved the shader source compilation code outside RenderingDevice and Vulkan
2020-02-11 11:53:29 +01:00
Juan Linietsky
c613ead5fa
Added a spinlock template as well as a thread work pool class.
...
Also, optimized shader compilation to happen on threads.
2020-02-11 11:53:29 +01:00
Juan Linietsky
60c7498cee
Replaced GLSLang reflection by SPIRV-Reflect, eventually allowing to move GLSLang out.
2020-02-11 11:53:29 +01:00
Juan Linietsky
0586e18449
Custom material support seems complete.
2020-02-11 11:53:29 +01:00