summaryrefslogtreecommitdiff
path: root/core/rid_owner.h
AgeCommit message (Collapse)Author
2020-08-19Fix warning using ERR_FAIL_INDEX on unsigned intRémi Verschelde
This method starting being used in 079ca220e14669ef7c31c399985cd2c733af15bd, which now triggers this warning from GCC 10: ``` ./core/error_macros.h:151:25: error: comparison of unsigned expression in '< 0' is always false [-Werror=type-limits] ```
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-04-14Implement decalsJuan Linietsky
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
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-04Compilation fixes on AndroidPouleyKetchoupp
2020-02-11Vulkan: Move thirdparty code out of drivers, style fixesRémi Verschelde
- `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-11Fix code formatting issues and VS compilationRémi Verschelde
Also temporarily disable multicheck build so that we get a full build even when there are style issues on Vulkan. Fixes #33356.
2020-02-11Fix bugs in `RID_Alloc`Pedro J. Estébanez
- 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.
2020-02-11RID_Alloc: Fix locking in getornull and free early returnsRémi Verschelde
Those missing unlocks were preventing the editor from starting.
2020-02-11Vulkan/RD rasterizer now does clean exit.Juan Linietsky
2020-02-11Added a spinlock template as well as a thread work pool class.Juan Linietsky
Also, optimized shader compilation to happen on threads.
2020-02-11Normalmapping and Specularmapping working in 2D engineJuan Linietsky
Added support for Sprite, AnimatedSprite and Polygon2D (should add for tileset eventually).
2020-02-11basic 2D engine is more or less working with Vulkan, including editor.Juan Linietsky
Still a lot to do
2020-02-11Basic 2D engine is more or less working, needs more work for editor to be ↵Juan Linietsky
usable.
2020-02-11Refactored RID/RID_Owner to always use O(1) allocation.Juan Linietsky
* Implements a growing chunked allocator * Removed redudant methods get and getptr, only getornull is supported now.