Age | Commit message (Collapse) | Author |
|
-Added a new method in Resource: reset_state , used for reloading the same resource from disk
-Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type)
-Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
|
|
Code diverged too much, removing disabled code too as it's unlikely it
can be reused now.
|
|
-Always use temporal reproject, it just loos way better than any other filter.
-By always using termporal reproject, the shadowmap reduction can be done away with, massively improving performance.
-Disadvantage of temporal reproject is update latency so..
-Made sure a gaussian filter runs in XY after fog, this allows to keep stability and lower latency.
|
|
-Fixed strange bug with shadowed instance_param (this should not have worked anywhere, odd..)
-Cleaned up barrier usage further.
|
|
Rewrote how barriers work for faster rendering
|
|
-Added more finegrained control in RenderingDevice API
-Optimized barriers (use less ones for thee same)
-General optimizations
-Shadows render all together unbarriered
-GI can render together with shadows.
-SDFGI can render together with depth-preoass.
-General fixes
-Added GPU detection
|
|
|
|
functions are used. Add temporary variables to fix potential use-after-free.
|
|
Modernize Thread
|
|
- Based on C++11's `thread` and `thread_local`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed (except for the few cases of non-portable functions)
- Simpler for `NO_THREADS`
- Thread ids are now the same across platforms (main is 1; others follow)
|
|
http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
|
|
Add temporary variable to not use freed memory
|
|
-Removed sync to draw, now everything syncs to draw by default.
-Fixed many validation layer errors.
-Added support for VkImageViewUsageCreateInfo to fix validation layer warnings.
-Texture, buffer, raster and compute functions now all allow spcifying which barriers will be used.
|
|
|
|
|
|
|
|
-All shadow rendering is done with raster now (no compute)
-All shadow rendering is done by rendering directly to the shadow atlas
-Improved how buffer clearing is done to optimize the above.
-Ability to set shadows as 16 bits.
|
|
Modernize RWLock
|
|
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
|
|
- Based on C++14's `shared_time_mutex`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed
- Simpler for `NO_THREADS`
|
|
Raise SIGKILL instead of CRASH_NOW in child process when fork fails
|
|
|
|
freed before use.
|
|
Split OS::execute into two methods
|
|
Fix nanosleep usage
|
|
|
|
1. execute(): Executes a command and returns the results.
2. create_process(): Creates a new process and returns the new process' id.
|
|
|
|
-Reorganize thread work pool for rendering
-Fixes to make secondary command buffers to work (disabled because they need more testing)
|
|
SSAO renames and move push constant binding
|
|
|
|
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
|
|
|
|
|
|
Rename Rect2 and Rect2i clip() to intersection()
|
|
-For now, disable reading from depth this was always broken, needs to be fixed later
-Give better error showing binding and set when this happens.
|
|
|
|
It can be a performance bottleneck in some hardware.
|
|
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.
So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).
This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
|
|
|
|
Uses compute shaders, which only once, on demand, and all in parallel.
|
|
Will also need to be renamed.
|
|
PVS-Studio static analyzer fixes
|
|
Removes unused code in OS.
Fixes return types.
Fixes few typos.
|
|
Remove unused FileAccessBuffered
|
|
|
|
|
|
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
|
|
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
|
|
|