Rémi Verschelde
5ace0beeaa
Merge pull request #36367 from IronicallySerious/rem-audio-driver-dummy
...
Remove unused driver/dummy/audio_driver_dummy.h
2020-02-19 21:49:17 +01:00
Twarit
04882a481b
Remove unused driver/dummy/audio_driver_dummy.h
2020-02-20 00:59:31 +05:30
Rémi Verschelde
05e610b78c
Merge pull request #36357 from MateoMiccino/rendering_vulkan_vertexdescriptionkey_fix
...
rendering_vulkan: VertexDescriptionKey equal comparator was checking …
2020-02-19 15:54:33 +01:00
Mateo Dev .59
ab88d291b2
rendering_vulkan: VertexDescriptionKey equal comparator was checking only the first element of his vector of VertexDescription
2020-02-19 10:01:19 -03:00
Fabio Alessandrelli
19ef28a614
Fix set_reuse_address on non-Windows platforms.
...
Broken after cae0d8853d
.
2020-02-19 10:15:36 +01:00
Rémi Verschelde
6e64036693
Merge pull request #36321 from Faless/net/win_tcp_noreuse
...
Disable NetSocket reuse address on Windows.
2020-02-18 16:03:29 +01:00
Rémi Verschelde
27326f8238
Merge pull request #36296 from Faless/dtls/enet_vulkan
...
DTLS support + optional ENet encryption
2020-02-18 15:01:53 +01:00
Rémi Verschelde
c3f4c1baed
Merge pull request #36320 from madmiraal/fix-c4996-warning-vulkan_context
...
Fix VisualStudio throwing multiple C4996 warnings in vulkan_context.cpp.
2020-02-18 13:57:57 +01:00
Fabio Alessandrelli
cae0d8853d
Disable NetSocket reuse address on Windows.
...
It actually means reuse port -.- ...
2020-02-18 13:00:10 +01:00
Marcel Admiraal
529f924aaa
Fix VisualStudio throwing multiple C4996 warnings in vulkan_context.cpp.
...
Use Godot's String to concatenate C-strings instead of strcat and sprintf,
which are unsafe, because they don't check for buffer overflows.
2020-02-18 12:35:59 +01:00
Juan Linietsky
3205a92ad8
PoolVector is gone, replaced by Vector
...
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Fabio Alessandrelli
2811f07084
Add peek option to NetSocket recv_from.
2020-02-16 01:11:30 +01:00
Rémi Verschelde
79a7be6e7d
Vulkan-Loader: Mark secure_getenv as available on Linux
...
It's a GNU extension part of glibc since 2.17, and it was also added
recently to musl libc. It doesn't seem to be available on *BSD (but
also not used there by Vulkan-Loader).
Could be made more thorough by doing a test compilation of a file to
check for the existence of the function on the host system, but unless
we run into actual issues, that's likely overkill.
2020-02-14 15:32:04 +01:00
Rémi Verschelde
d2537407ef
Fix various GCC compilation warnings after Vulkan merge
...
Part of #36132 .
2020-02-14 10:02:31 +01:00
Rémi Verschelde
f1ac292084
Merge pull request #36169 from timothyqiu/memleak
...
Fixes some memory leaks
2020-02-13 11:28:35 +01:00
Rémi Verschelde
386968ea97
Remove obsolete GLES3 backend
...
Due to the port to Vulkan and complete redesign of the rendering backend,
the `drivers/gles3` code is no longer usable in this state and is not
planned to be ported to the new architecture.
The GLES2 backend is kept (while still disabled and non-working) as it
will eventually be ported to serve as the low-end renderer for Godot 4.0.
Some GLES3 features might be selectively ported to the updated GLES2
backend if there's a need for them, and extensions we can use for that.
So long, OpenGL driver bugs!
2020-02-13 10:36:44 +01:00
Haoyu Qiu
a23a52db3f
Fixes some memory leaks
2020-02-13 09:46:13 +08:00
Yuri Roubinsky
4aa31a2851
Merge pull request #36141 from Chaosus/shader_struct_member_arrays
...
Added support for arrays as shader struct members
2020-02-12 20:12:05 +03:00
Yuri Roubinsky
6b99bda1e8
Added support for arrays as shader struct members
2020-02-12 17:10:20 +03:00
Rémi Verschelde
0e3d625737
doc: Sync classref with current source
...
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.
Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
Yuri Roubinsky
6f162395ff
Implementation of 'struct' for shaders
2020-02-11 20:00:42 +03:00
Rémi Verschelde
db81928e08
Vulkan: Move thirdparty code out of drivers, style fixes
...
- `vk_enum_string_helper.h` is a generated file taken from the SDK
(Vulkan-ValidationLayers).
- `vk_mem_alloc.h` is a library from GPUOpen:
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11 14:08:44 +01:00
Juan Linietsky
bd364d1447
Auto exposure re-implemented in Vulkan
2020-02-11 12:14:23 +01:00
bruvzg
7bf72ed14e
Update Vulkan loader to 1.1.127
2020-02-11 12:05:27 +01:00
Rémi Verschelde
fff4240bb4
Fix code formatting issues and VS compilation
...
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.
Fixes #33356 .
2020-02-11 12:05:19 +01:00
Juan Linietsky
da0457fa29
Several fixes to GIProbes
2020-02-11 12:04:56 +01:00
Juan Linietsky
2af701fa03
Use a different strategy to get textures from GPU (via buffers), for more compatibility.
2020-02-11 12:04:54 +01:00
bruvzg
d5df1b651c
Improve HiDPI handling, fix incorrect window viewport clipping.
2020-02-11 12:04:04 +01:00
Juan Linietsky
561b431d85
Dynamic object support for GI Probes (a bit buggy still)
2020-02-11 12:03:52 +01:00
Juan Linietsky
6ee2f5e6b6
More GIProbe work and fixes
2020-02-11 12:03:49 +01:00
Juan Linietsky
965185c765
Better GIProbe quality settings.
2020-02-11 12:03:23 +01:00
Juan Linietsky
acf0f6c8a7
GIProbes working.
2020-02-11 12:03:20 +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
Juan Linietsky
123ee5995c
Visual GPU profiler and related profiling support in Vulkan.
2020-02-11 12:01:26 +01:00
Juan Linietsky
6deffa62fb
Several fixes to 3D rendering, and multimesh implementation.
2020-02-11 12:01:22 +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
2d6a916835
Environment sky more or less working.
2020-02-11 12:01:05 +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
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
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
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
Juan Linietsky
8bbbb97336
Completed material/2D shader support (missing SCREEN_TEXTURE)
2020-02-11 11:53:29 +01:00
Juan Linietsky
ef083a583b
Modified light rendering to make it more compatible.
...
Modified polygon management to make it more compatible with MoltenVK
2020-02-11 11:53:28 +01:00