Age | Commit message (Collapse) | Author |
|
|
|
Also added an easier way to load native GLSL shaders.
Extras:
Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.
Note:
The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
|
|
|
|
|
|
Fixes leaks with Vulkan device and instance
|
|
|
|
Also implemented decal atlas, so projectors and other stuff can be added.
Sidenote: Had to make RID hashable, so some unrelated includes changed
in order to include it in hashfuncs.h
|
|
|
|
Moved most of the effect code to compute.
|
|
Simplifies it and improves performance.
Improves image barrier handling per mipmap on RenderingDeviceVulkan
|
|
Also fixed GPU profiler, which was not working on nvidia hardware.
|
|
|
|
Vulkan rendering support on Android
|
|
|
|
Fix leak with Vulkan allocator
|
|
Fixed leak with vertex_formats
|
|
|
|
Some Vulkan types are defined as "non dispatchable handles" and use a
different typedef on 32-bit and 64-bit systems (struct pointer on
64-bit, `uint64_t` otherwise).
https://github.com/KhronosGroup/Vulkan-Headers/blob/0e78ffd1dcfc3e9f14a966b9660dbc59bd967c5c/include/vulkan/vulkan_core.h#L59-L65
Contrarily to `NULL`, `nullptr` can't be converted to `uint64_t` so
build was now failing on 32-bit after converting the codebase from
using `NULL` to `nullptr`.
Fixes #37620.
|
|
|
|
|
|
|
|
Configured for a max line length of 120 characters.
psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:
- Manually wrapped strings will be reflowed, so by using a line length
of 120 for the sake of preserving readability for our long command
calls, it also means that some manually wrapped strings are back on
the same line and should be manually merged again.
- Code generators using string concatenation extensively look awful,
since black puts each operand on a single line. We need to refactor
these generators to use more pythonic string formatting, for which
many options are available (`%`, `format` or f-strings).
- CI checks and a pre-commit hook will be added to ensure that future
buildsystem changes are well-formatted.
|
|
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D
Also renamed corresponding files.
|
|
Still a lot of work to do.
|
|
|
|
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.
Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
|
|
memory in relation to issue #35397"
This reverts commit 4f3006e5ac30d00b90eb531f3bdfd4bfa0d4025b.
|
|
|
|
|
|
Vulkan: Use Godot print macros matching MessageSeverity flag
|
|
Otherwise any verbose/info/warning debug message from Vulkan would
raise an error, confusing users about the severity of the message.
Cf. #36185, #36790.
|
|
Fixes bugs found by Sonarcloud and Coverity
|
|
Change when we can ERR_FAIL_COND and ERR_FAIL_CONV_V to static_assert
|
|
Enhanced physical device selection
|
|
|
|
|
|
|
|
in relation to issue #35397
|
|
Remove Vulkan debugging prints
|
|
Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs
|
|
Fixes debugging of giprobes not working, likely other stuff
|
|
In the vast majority of cases, this will be a false positive error
thrown by Vulkan-Loader when a Linux system has Vulkan ICDs for both
32-bit and 64-bit. The error is of the form:
```
ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
```
The loader dlopen's the 32-bit ICDs first, raises this error, and then
happily goes on to try and use the 64-bit ICDs.
Upstream report: https://github.com/KhronosGroup/Vulkan-Loader/issues/262
Fixes #36185.
|
|
|
|
the first element of his vector of VertexDescription
|
|
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.
|
|
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
|
|
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.
|
|
Part of #36132.
|
|
|