summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2021-01-05Threaded optimizations to cull and renderreduz
-Reorganize thread work pool for rendering -Fixes to make secondary command buffers to work (disabled because they need more testing)
2021-01-04Merge pull request #44842 from clayjohn/VULKAN-SSAO-2Rémi Verschelde
SSAO renames and move push constant binding
2021-01-03SSAO cleanup and fixesclayjohn
2021-01-01Update copyright statements to 2021Rémi Verschelde
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 🎆
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-21Port ASSAO to Godot to replace SAOclayjohn
2020-12-19Merge pull request #44521 from madmiraal/rename-rect2-clipRémi Verschelde
Rename Rect2 and Rect2i clip() to intersection()
2020-12-19Fix error spam on wrong attachmentreduz
-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.
2020-12-19Rename Rect2 and Rect2i clip() to intersection()Marcel Admiraal
2020-12-18Turn off robust buffer access by default.reduz
It can be a performance bottleneck in some hardware.
2020-12-18SCons: Add explicit dependencies on thirdparty code in cloned envRémi Verschelde
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.
2020-12-17Add override keywords to core/os.h derived classes.Marcel Admiraal
2020-12-16Reimplement skeletons and blend shapesreduz
Uses compute shaders, which only once, on demand, and all in parallel.
2020-12-09Sync RasterizerDummy changes.Fabio Alessandrelli
Will also need to be renamed.
2020-12-09Merge pull request #44199 from bruvzg/pvs_fixes_1Rémi Verschelde
PVS-Studio static analyzer fixes
2020-12-09Static analyzer fixes:bruvzg
Removes unused code in OS. Fixes return types. Fixes few typos.
2020-12-09Merge pull request #44161 from Faless/fix/fa_buffered_removeRémi Verschelde
Remove unused FileAccessBuffered
2020-12-06Fix dummy rasterizer so that javascript can build againDavid Snopek
2020-12-06Remove now unused FileAccessBuffered.Fabio Alessandrelli
2020-12-04Rename RD texture "type" to "texture_type"Aaron Franke
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04Rename RD uniform "type" to "uniform_type"Aaron Franke
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04RenderingServer reorganizationreduz
2020-12-02Refactored Mesh internals and formats.reduz
-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.
2020-11-30Sync RasterizerDummy changes.Fabio Alessandrelli
2020-11-29Merge pull request #38939 from hbina/vk_error_handlingRémi Verschelde
Better error handling of vkEnumerateInstanceExtensionProperties
2020-11-28Merge pull request #42761 from fire/color-grading-3dRémi Verschelde
Environment brightness, contrast, saturation restore with 3d LUT.
2020-11-28Environment brightness, contrast, saturation restore with color correction.clayjohn
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>
2020-11-28Better error handling of vkEnumerateInstanceExtensionPropertiesHanif Bin Ariffin
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.
2020-11-28Merge pull request #42987 from clayjohn/VULKAN-sky-onlyRémi Verschelde
Add sky_only setting to DirectionalLight3Ds
2020-11-27Prevent ALSA audio corruptionCooper Harasyn
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.
2020-11-23Initialize class/struct variables with default values in core/ and drivers/Rafał Mikrut
2020-11-20doc: Warn about using Node internal processingRémi Verschelde
See #43689. Also 'fixed' some spelling for behavior in publicly visible strings. (Sorry en_GB, en_CA, en_AU, and more... Silicon Valley won the tech spelling war.)
2020-11-18allow vulkan validation layers in release builds if explicity asked forJordan Schidlowsky
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-14Fixes crash if Vulkan presentation surface is not available.bruvzg
2020-11-10RasterizerDummy fixes.Fabio Alessandrelli
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-29Synchronization - Clean subpass dependency initJohn Zulauf
Fix incorrect subpass dependency initialization
2020-10-29vulkan: Backport build fix for MinGW-w64 8.0.0Rémi Verschelde
Taken from https://github.com/KhronosGroup/Vulkan-Loader/pull/475. Supersedes and reverts #43119 since the upstream change removes the need for that custom define.
2020-10-28Implement CanvasGroup and CanvasItem clippingreduz
-Allows merging several 2D objects into a single draw operation -Use current node to clip children nodes -Further fixes to Vulkan barriers -Changed font texture generation to white, fixes dark eges when blurred -Other small misc fixes to backbuffer code.
2020-10-27Vulkan: Make validation layers optionalRémi Verschelde
They're now disabled by default, and can be enabled with the command line argument `--vk-layers`. When enabled, the errors about them being missing are now warnings, as users were confused and thought this meant Vulkan is broken for them. Fix crash in `~VulkanContext` when validation layers are disabled (exposed by this PR since before they could not be disabled without source modification). Also moved VulkanContext member initializations to header. Fixes #37102.
2020-10-26Changes for 43094 mingw llvm build error.K. S. Ernest (iFire) Lee
2020-10-26Merge pull request #42817 from akien-mga/vulkan-sdk-1.2.154.0Rémi Verschelde
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
2020-10-26Merge pull request #43056 from Ev1lbl0w/bugfix-wrong-exitcodeRémi Verschelde
Fix wrong exit code being returned
2020-10-25Fix crash in RenderingDeviceVulkan::shader_creatersjtdrjgfuzkfg
This commit moves the declaration of a local variable to ensure its scope survives long enough; at least in some versions of GCC and LLVM the associated memory was freed too early and thus caused issues ranging from black screens to crashes.
2020-10-24Refactored 2D shader and lighting systemreduz
-Removed normal/specular properties from nodes -Create CanvasTexture, which can contain normal/specular channels -Refactored, optimized and simplified 2D shaders -Use atlas for light textures. -Use a shadow atlas for shadow textures. -Use both items aboves to make light rendering stateless (faster). -Reorganized uniform sets for more efficiency.
2020-10-24Fix wrong exit code being returnedEv1lbl0w
2020-10-21Add sky_only setting to DirectionalLight3Dsclayjohn
2020-10-19Fix invalid buffer updates in SDFGIreduz
2020-10-19Revert "Revert "Synchronization validation fix patch set 3 (inclusive of all ↵Juan Linietsky
previous patches)""