summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
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-19Fix invalid buffer updates in SDFGIreduz
2020-10-19Revert "Revert "Synchronization validation fix patch set 3 (inclusive of all ↵Juan Linietsky
previous patches)""
2020-10-19Revert "Synchronization validation fix patch set 3 (inclusive of all ↵Juan Linietsky
previous patches)"
2020-10-19Revert "Cause buffer_update to emit error if called during compute/draw list"Juan Linietsky
2020-10-19Merge pull request #40849 from jzulauf-lunarg/zulauf_buffer_update_err_msgJuan Linietsky
Cause buffer_update to emit error if called during compute/draw list
2020-10-19Merge pull request #42866 from jzulauf-lunarg/zulauf_sync_fixes_3Juan Linietsky
Synchronization validation fix patch set 3 (inclusive of all previous patches)
2020-10-18Revert "Replace SAO implementation with MSSAO"Juan Linietsky
2020-10-18Merge pull request #42077 from clayjohn/MSSAOJuan Linietsky
Replace SAO implementation with MSSAO
2020-10-18Replace SAO implementation with MSSAOclayjohn
2020-10-18Optimize Glow with local memoryclayjohn
2020-10-16Add pre-copy barrier to buffer updateJohn Zulauf
Add a barrier to "safe" the buffer update write from previous accesses to buffer range being updated. Remove duplicate unneed barrier.
2020-10-16Add subpass sync support for layout transitionsJohn Zulauf
Add additional source and dest mask bits for "from external" and "to external" subpass dependencies (respectively) when intial and final layouts cause implicit layout transitions. This is a big hammer -- any transition in a given direction will create a full barrier. Attachment specific stage and access flags could be used instead with additional logic to deduce the prior and intended subsequent usages.
2020-10-16Sync fix for clear textureJohn Zulauf
Make pre and post barriers non-conditional on format, as there are cases where pending operations in the GENERAL layout hazarding with clear.
2020-10-16Sync fix texture_get_data bad barrier paramJohn Zulauf
Changed srcStageMask to the valid stage for post transfer barrier.
2020-10-16Additional synchronization fixes w/o FORCE_FULL_BARRIERJohn Zulauf
Additional synchronization fixes from hazards arising from disabling FORCE_FULL_BARRIER.
2020-10-16Correct stage masks for storage texture barriersJohn Zulauf
Change the srcStageMasks and dstStageMasks for the storage texture end draw barriers to refer to the correct stages for the use.
2020-10-16Add barrier for buffer gettingJohn Zulauf
Add barrier for source buffer when getting. Refactor common "owner and stage/access" code to utility function.
2020-10-16Add fragment stage to texture copy/resolve barriersJohn Zulauf
Added the fragment stage to the texture copy and resolve final barriers for source and dest. As the textures could subsequently be used by the fragment stage, this was triggering a validation error from the pre-alpha synchronization validation.
2020-10-15vulkan: Sync loader, headers and glslang to sdk-1.2.154.0Rémi Verschelde
Actually sdk-1.2.154.1 for Vulkan-Loader. glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the known-good version for Vulkan-ValidationLayers 1.2.154.0. COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt, and `glslang/register_types.cpp` now uses the upstream definition for its default builtin resource instead of hardcoding it.
2020-10-13Fix dummy rasterizer with new interface.Fabio Alessandrelli
2020-09-28Hides special folders in FileDialog for macOSHaoyu Qiu
2020-09-27Add all headers to VS ProjectBartłomiej T. Listwon
2020-09-18Fix RasterizerDummy, override, cleanup.Fabio Alessandrelli
Add override keyword to RasterizerDummy methods. Plus cleanup unused methods, remove virtual keyword.
2020-09-18NetBSD: Implement OS_Unix::get_executable_path()Rémi Verschelde
Same implementation as OpenBSD seems to work fine.
2020-09-18Linux/BSD: Fix support for NetBSDRémi Verschelde
Add __NetBSD__ to `platform_config.h` so that it can find `alloca` and use the proper `pthread_setname_np` format. Rename RANDOM_MAX to avoid conflict with NetBSD stdlib. Fixes #42145.
2020-09-04Replace calls to gmtime with gmtime_r and localtime with localtime_r.Marcel Admiraal
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-09-03Ensure header guards enclose entire header.Marcel Admiraal
2020-08-31Add high quality glow modeclayjohn
2020-08-13Remove obsolete GLES2 backend codeRémi Verschelde
This code currently isn't compiled (and cannot compile). We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan (probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite different so it's not relevant to keep this old Godot 3.2 code. The `drivers/gles2` code from the `3.2` branch can be used as a reference for a potential new implementation.
2020-08-11[macOS] Fix crash on failed `fork`.bruvzg
2020-07-29Cause buffer_update to emit error if called during compute/draw listJohn Zulauf
Add error message to buffer update if a compute or draw list is active.
2020-07-26SCons: Support linking system Vulkan loader while using vendored VMARémi Verschelde
2020-07-25iOS SCons: static Vulkan binary usageSergey Minakov
Add VMA to iphone platform Use linkflag for iphone building to enforce static linking. Works fine with dynamic '.framework' library Updated xcode project to use '.a' static library
2020-07-22Vulkan: Fix struct init for VkClearAttachmentRémi Verschelde
The changes from #38835 were not sufficient to fix #38829, as VkClearAttachment still had uninitialized member structs in its VkClearColor member struct. The struct rabbit hole goes deep and trying to do validation as done in #38829 doesn't appear realistic.
2020-07-22Merge pull request #38835 from madmiraal/fix-38829Rémi Verschelde
Fix may be used unitialized warnings in _render_pass_create() and _draw_list_insert_clear_region().
2020-07-21Merge pull request #40450 from asmaloney/spellingRémi Verschelde
Fix spelling & grammar in comments, docs, and messages
2020-07-21Fix spelling & grammar in comments, docs, and messagesAndy Maloney
2020-07-17Fix spelling of a var, a struct, and message outputAndy Maloney
2020-07-13Add error messages if Vulkan init failed, prevent Vulkan context freeing ↵bruvzg
uninitialized device and instance.