Age | Commit message (Collapse) | Author |
|
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!
|
|
Remove deprecated decimals builtin
|
|
32 bits.
|
|
Replaced by 'step_decimals' in 3.2 via #21425.
|
|
- Now is sent the method ID rather the full function name.
- The passed IDs (Node and Method) are compressed so to use less possible space.
- The variant (INT and BOOL) is now encoded and compressed so to use much less data.
- Optimized RPCMode retrieval for GDScript functions.
- Added checksum to assert the methods are the same across peers.
This work has been kindly sponsored by IMVU.
|
|
It was marked to be removed in Godot 3.1.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
|
|
Fixes crash when resource file is corrupted
|
|
- `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
|
|
limiter.
|
|
|
|
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.
Fixes #33356.
|
|
|
|
- Replace unintended `%` with `&`
- `get_owned_list()`: make thread-safe and fix logic
- Apply same logic fix to the destructor
Previously, the determination of owned RIDs was wrong. For instance, it could skip owned items or include duplicates in the list.
Avoids the engine crashing at exit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Those missing unlocks were preventing the editor from starting.
|
|
|
|
Initial Vulkan support for macOS (MoltenVK) and Windows
|
|
|
|
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
|
|
Also, optimized shader compilation to happen on threads.
|
|
|
|
Added support for Sprite, AnimatedSprite and Polygon2D (should add for tileset eventually).
|
|
Still a lot to do
|
|
usable.
|
|
|
|
|
|
* Implements a growing chunked allocator
* Removed redudant methods get and getptr, only getornull is supported now.
|
|
-Added VulkanContext
-Added an X11 implementation
-Added a rendering device abstraction
-added a Vulkan rendering device abstraction
-Engine does not work, only shows Godot logo (run it from bin/)
|
|
Prevent Visual Studio compiler throwing C4715: not all control paths return a value.
|
|
|
|
Prevents GCC compiler throwing: control reaches end of non-void function.
Prevents Visual Studio throwing C4715: not all control paths return a value.
|
|
Fix Visual Studio throwing C4996 warning in ustring.cpp.
|
|
Add ConfigFile::parse()
|
|
Fix VariantParser::StreamString EOF determination
|
|
Improve the console error logging appearance
|
|
|
|
|
|
Remove do{ } while(0) wrapper around error macros.
|
|
Fix bug where canvas culls things at origin with size 0
|
|
As pointed out by Faless, a do{ } while(0) wrapper around a continue or
break just ends the do{ } while(0) loop. The do{ } while(0) loop exists
to enable the macro to be used as a function which requires a semicolon.
The alternative approach is to use an if(1) { } else ((void)0) wrapper.
Since the macro already has an if(unlikely(m_cond)) { } this patch simply
adds the else ((void)0) to this if statement instead.
For consistency all the macros have been updated in the same way, and
trailing else warnings corrected. However, the wrappers around ERR_PRINT
and WARN_PRINT were removed, because they generated too many ambiguous
trailing else warnings. They are also single line macros so a wrapper is
not needed.
|
|
Make a new method instead to make the code more elegant
Move Function down a bit
|
|
We already had `MODULE_*_ENABLED` defines but only in the modules
environment, and a few custom `*_ENABLED` defines in the main env
when we needed the information in core.
Now this is defined in a single header which can be included in the
files that need this information.
|