Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
-Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES.
-Removed compression, it now always uses the most efficient format.
-Added support for custom arrays (up to 8 custom formats)
-Added support for 8 weights in skeleton data.
-Added a simple optional versioning system for imported assets, to reimport if binary is newer
-Fixes #43979 (I needed to test)
WARNING:
-NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change.
-NOT backwards compatible with 3.x scenes, this will be eventually re-added.
-Skeletons not working any longer, will fix in next PR.
|
|
|
|
Better error handling of vkEnumerateInstanceExtensionProperties
|
|
Environment brightness, contrast, saturation restore with 3d LUT.
|
|
Allow gradients and 2d images.
Use shader versions for LUT in tonemap
Co-authored-by: alex-poe <3957610+CptPotato@users.noreply.github.com>
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
|
|
Refer: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkEnumerateInstanceExtensionProperties.html
According to the documentation, there are 2 success code:
1. VK_SUCCESS
2. VK_INCOMPLETE
VK_INCOMPLETE will be returned when not all avaiable properties are returned.
|
|
Add sky_only setting to DirectionalLight3Ds
|
|
When using the ALSA driver, corruption would occur if `snd_pcm_writei`
was unable to consume the entire sound buffer. This would occur
frequently on the Raspberry Pi 3 which uses the `snd_bcm2835` audio
driver.
This bug resulted from incorrect pointer math on line 187, resulting in
the sample source pointer being advanced by `total * ad->channels` bytes
instead of `total * ad->channels` samples. In my opinion, the best fix
is to change `*src` to type `int16_t`, since that is the sample type in
use.
Fixes #43927.
|