Rémi Verschelde
453f0bfac1
glslang: Disable warnings and allow unbundling
2019-12-12 17:09:14 +01:00
Rémi Verschelde
7d7b486e7d
basis_universal: Fix py3 build and document license and provenance
...
Also drop unneeded files.
Fix build with MinGW. Closes #32384 .
2019-12-12 17:09:11 +01:00
Juan Linietsky
514236a97c
Rewritten StreamTexture for better code reuse, added basis universal support
2019-12-12 17:09:05 +01:00
Juan Linietsky
a345f50c8b
Untested support for compute shaders
2019-12-12 17:09:04 +01:00
Rémi Verschelde
bda57a38bd
Merge pull request #32298 from Chaosus/vk_fix_typo
...
[Vulkan] Fix typo in shading modes
2019-12-12 17:08:53 +01:00
Yuri Roubinsky
783e33cc01
[Vulkan] Fix typo in shading modes
2019-12-12 17:08:51 +01:00
Juan Linietsky
cd72b19320
Skeletons are now working.
2019-12-12 17:08:50 +01:00
Rémi Verschelde
aeb155ce99
Merge pull request #32281 from Chaosus/vk_shader_array_varying2
...
[Vulkan] Implement shader array support for varyings
2019-12-12 17:08:39 +01:00
Yuri Roubinsky
e3938a09dd
[Vulkan] Implement shader array support for varyings
...
Remake of #32175
2019-12-12 17:08:38 +01:00
Rémi Verschelde
efa8d6b1d0
Merge pull request #32280 from Chaosus/vk_shader_switch2
...
[Vulkan] Implements switch flow control operator in shaders
2019-12-12 17:08:37 +01:00
Yuri Roubinsky
4d8411acc6
[Vulkan] Implements switch flow control operator in shaders
2019-12-12 17:08:26 +01:00
Juan Linietsky
ccaf7d5c35
Properly working instancing, and compatibility fixing for old meshes
2019-12-12 17:08:06 +01:00
Juan Linietsky
a0a7732aec
Visual GPU profiler and related profiling support in Vulkan.
2019-12-12 17:08:05 +01:00
Juan Linietsky
3f6b9c8611
Proper texture reloading (was broken).
2019-12-12 17:08:03 +01:00
Juan Linietsky
8501b37b8f
Modernized default 3D material, fixes material bugs.
2019-12-12 17:08:02 +01:00
Juan Linietsky
7919ef863b
Several fixes to 3D rendering, and multimesh implementation.
2019-12-12 17:08:00 +01:00
Juan Linietsky
bae6f608d2
Reflection probes working
2019-12-12 17:08:00 +01:00
Juan Linietsky
6651336a8a
Directional light cleanup.
2019-12-12 17:07:49 +01:00
Juan Linietsky
dd875c2c3c
Directional lights and shadow mapping are functional.
2019-12-12 17:07:49 +01:00
Juan Linietsky
5f6ed2349c
Rewrote large part of rendering, omni and spot shadows now work.
2019-12-12 17:07:48 +01:00
Juan Linietsky
8f5dc4f06c
Tonemapping ported (not all parameters supported yet, only enough to get correct color)
2019-12-12 17:07:48 +01:00
Juan Linietsky
7db3532b2e
Environment sky more or less working.
2019-12-12 17:07:47 +01:00
Rémi Verschelde
aaeac6633d
Merge pull request #31527 from Chaosus/vk_shader_array_support2
...
[Vulkan] Implemented local shader arrays
2019-12-12 17:07:33 +01:00
Yuri Roubinski
b994cdbdc6
[Vulkan] Implemented local shader arrays
2019-12-12 17:07:32 +01:00
Rémi Verschelde
8fc7efb3d7
Merge pull request #31526 from Chaosus/shader_bug_vk2
...
[Vulkan] Fix ternary operator shader compiler expression
2019-12-12 17:07:29 +01:00
Yuri Roubinski
f7812b3ee6
[Vulkan] Fix ternary operator shader compiler expression
2019-12-12 17:07:29 +01:00
Rémi Verschelde
90eb4b1034
Merge pull request #31525 from Chaosus/vk_shaders_do2
...
[Vulkan] Implemented do/while loops for shaders
2019-12-12 17:07:23 +01:00
Yuri Roubinski
d49b6a72de
[Vulkan] Implemented do/while loops for shaders
2019-12-12 17:07:19 +01:00
Juan Linietsky
bb712cca18
Yay very basic 3D (only white) finally shows.
2019-12-12 17:06:46 +01:00
Juan Linietsky
75299f4a63
Base 3D engine done, still untested, though.
2019-12-12 17:06:38 +01:00
Rémi Verschelde
994e8c5779
Merge pull request #31105 from akien-mga/vulkan
...
RID_Alloc: Fix locking in getornull and free early returns
2019-12-12 17:06:29 +01:00
Rémi Verschelde
7ca6cbd8d6
RID_Alloc: Fix locking in getornull and free early returns
...
Those missing unlocks were preventing the editor from starting.
2019-12-12 17:06:29 +01:00
Rémi Verschelde
c39834b4a7
Merge pull request #31102 from akien-mga/vulkan
...
SCons: Streamline Vulkan buildsystem + fixups
2019-12-12 17:06:28 +01:00
Rémi Verschelde
9ad3f02db1
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.
2019-12-12 17:06:27 +01:00
Rémi Verschelde
822094e548
Merge pull request #31100 from akien-mga/vulkan
...
VulkanLoader: Make Windows includes lowercase for MinGW
2019-12-12 17:06:20 +01:00
Rémi Verschelde
778ed91a33
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
2019-12-12 17:06:10 +01:00
Juan Linietsky
112c4c546c
Vulkan/RD rasterizer now does clean exit.
2019-12-12 17:05:11 +01:00
Juan Linietsky
9b71f07c64
Fix comment
2019-12-12 17:05:07 +01:00
Rémi Verschelde
9b2dc59003
Merge pull request #29993 from bruvzg/vulkan
...
Initial Vulkan support for macOS (MoltenVK) and Windows
2019-12-12 17:04:53 +01:00
bruvzg
397545e97f
Add runtime GLES2 / Vulkan context selection.
2019-12-12 13:48:47 +01:00
bruvzg
142188639c
Add static Vulkan loader.
...
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2019-12-12 13:19:45 +01:00
Juan Linietsky
d71ae5c152
Add a system to properly update materials if the uniform set is gone (likely deleted texture)
2019-12-12 13:08:26 +01:00
Juan Linietsky
9ae5001b0e
Added a spinlock template as well as a thread work pool class.
...
Also, optimized shader compilation to happen on threads.
2019-12-12 13:05:27 +01:00
Juan Linietsky
e7c33ca141
Moved the shader source compilation code outside RenderingDevice and Vulkan
2019-12-12 13:05:25 +01:00
Juan Linietsky
f5f3d820e0
Replaced GLSLang reflection by SPIRV-Reflect, eventually allowing to move GLSLang out.
2019-12-12 13:01:23 +01:00
Juan Linietsky
ffbc9823d9
Custom material support seems complete.
2019-12-12 12:54:09 +01:00
Juan Linietsky
55426a3ab4
Completed material/2D shader support (missing SCREEN_TEXTURE)
2019-12-12 12:21:24 +01:00
Juan Linietsky
1dd402d083
Changes to material required to add custom shaders in RD renderer
2019-12-12 12:01:50 +01:00
Juan Linietsky
7c2bb1ceff
Modified light rendering to make it more compatible.
...
Modified polygon management to make it more compatible with MoltenVK
2019-12-12 12:01:48 +01:00
Juan Linietsky
36b8c9c1bc
Use a special sampler for 2D shadows, so they are softer
2019-12-12 11:49:31 +01:00