Pedro J. Estébanez
0b30cfe228
Fix bugs in RID_Alloc
...
- 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.
2019-12-12 17:11:01 +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
Juan Linietsky
112c4c546c
Vulkan/RD rasterizer now does clean exit.
2019-12-12 17:05:11 +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
75701f756f
Normalmapping and Specularmapping working in 2D engine
...
Added support for Sprite, AnimatedSprite and Polygon2D (should add for tileset eventually).
2019-12-12 11:49:14 +01:00
Juan Linietsky
017bcf9be4
basic 2D engine is more or less working with Vulkan, including editor.
...
Still a lot to do
2019-12-12 11:06:23 +01:00
Juan Linietsky
179145aaf5
Basic 2D engine is more or less working, needs more work for editor to be usable.
2019-12-12 10:57:32 +01:00
Juan Linietsky
962382ac5c
Refactored RID/RID_Owner to always use O(1) allocation.
...
* Implements a growing chunked allocator
* Removed redudant methods get and getptr, only getornull is supported now.
2019-12-12 08:55:15 +01:00