summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/rendering_device_vulkan.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #44842 from clayjohn/VULKAN-SSAO-2Rémi Verschelde2021-01-041-1/+10
|\ | | | | SSAO renames and move push constant binding
| * SSAO cleanup and fixesclayjohn2021-01-031-1/+10
| |
* | Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
|/ | | | | | | | | | | | | | 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 empty() to is_empty()Marcel Admiraal2020-12-281-1/+1
|
* Port ASSAO to Godot to replace SAOclayjohn2020-12-211-2/+13
|
* Merge pull request #44521 from madmiraal/rename-rect2-clipRémi Verschelde2020-12-191-1/+1
|\ | | | | Rename Rect2 and Rect2i clip() to intersection()
| * Rename Rect2 and Rect2i clip() to intersection()Marcel Admiraal2020-12-191-1/+1
| |
* | Fix error spam on wrong attachmentreduz2020-12-191-6/+12
|/ | | | | -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.
* Reimplement skeletons and blend shapesreduz2020-12-161-3/+16
| | | | Uses compute shaders, which only once, on demand, and all in parallel.
* Static analyzer fixes:bruvzg2020-12-091-2/+2
| | | | | | Removes unused code in OS. Fixes return types. Fixes few typos.
* Rename RD texture "type" to "texture_type"Aaron Franke2020-12-041-7/+7
| | | "type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
* Rename RD uniform "type" to "uniform_type"Aaron Franke2020-12-041-3/+3
| | | "type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
* Refactored Mesh internals and formats.reduz2020-12-021-1/+2
| | | | | | | | | | | | | | | -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.
* Initialize class/struct variables with default values in core/ and drivers/Rafał Mikrut2020-11-231-1/+0
|
* Remove empty lines around braces with the formatting scriptAaron Franke2020-11-161-8/+0
|
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-2/+2
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Synchronization - Clean subpass dependency initJohn Zulauf2020-10-291-3/+3
| | | | Fix incorrect subpass dependency initialization
* Implement CanvasGroup and CanvasItem clippingreduz2020-10-281-5/+4
| | | | | | | | -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.
* Fix crash in RenderingDeviceVulkan::shader_creatersjtdrjgfuzkfg2020-10-251-1/+3
| | | | | | | 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.
* Refactored 2D shader and lighting systemreduz2020-10-241-3/+3
| | | | | | | | | | -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.
* Fix invalid buffer updates in SDFGIreduz2020-10-191-0/+22
|
* Revert "Revert "Synchronization validation fix patch set 3 (inclusive of all ↵Juan Linietsky2020-10-191-67/+148
| | | | previous patches)""
* Revert "Synchronization validation fix patch set 3 (inclusive of all ↵Juan Linietsky2020-10-191-148/+67
| | | | previous patches)"
* Revert "Cause buffer_update to emit error if called during compute/draw list"Juan Linietsky2020-10-191-4/+0
|
* Merge pull request #40849 from jzulauf-lunarg/zulauf_buffer_update_err_msgJuan Linietsky2020-10-191-0/+4
|\ | | | | Cause buffer_update to emit error if called during compute/draw list
| * Cause buffer_update to emit error if called during compute/draw listJohn Zulauf2020-07-291-0/+4
| | | | | | | | Add error message to buffer update if a compute or draw list is active.
* | Add pre-copy barrier to buffer updateJohn Zulauf2020-10-161-1/+1
| | | | | | | | | | Add a barrier to "safe" the buffer update write from previous accesses to buffer range being updated. Remove duplicate unneed barrier.
* | Add subpass sync support for layout transitionsJohn Zulauf2020-10-161-0/+12
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Sync fix for clear textureJohn Zulauf2020-10-161-12/+16
| | | | | | | | | | Make pre and post barriers non-conditional on format, as there are cases where pending operations in the GENERAL layout hazarding with clear.
* | Sync fix texture_get_data bad barrier paramJohn Zulauf2020-10-161-1/+1
| | | | | | | | Changed srcStageMask to the valid stage for post transfer barrier.
* | Additional synchronization fixes w/o FORCE_FULL_BARRIERJohn Zulauf2020-10-161-18/+76
| | | | | | | | | | Additional synchronization fixes from hazards arising from disabling FORCE_FULL_BARRIER.
* | Correct stage masks for storage texture barriersJohn Zulauf2020-10-161-1/+1
| | | | | | | | | | Change the srcStageMasks and dstStageMasks for the storage texture end draw barriers to refer to the correct stages for the use.
* | Add barrier for buffer gettingJohn Zulauf2020-10-161-34/+41
| | | | | | | | | | Add barrier for source buffer when getting. Refactor common "owner and stage/access" code to utility function.
* | Add fragment stage to texture copy/resolve barriersJohn Zulauf2020-10-161-4/+4
| | | | | | | | | | | | | | 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.
* | [Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg2020-09-031-10/+10
|/
* Vulkan: Fix struct init for VkClearAttachmentRémi Verschelde2020-07-221-27/+2
| | | | | | | | 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.
* Merge pull request #38835 from madmiraal/fix-38829Rémi Verschelde2020-07-221-6/+31
|\ | | | | Fix may be used unitialized warnings in _render_pass_create() and _draw_list_insert_clear_region().
| * Fix may be used unitialized warnings in _render_pass_create()Marcel Admiraal2020-05-191-6/+31
| | | | | | | | and _draw_list_insert_clear_region()
* | Merge pull request #40450 from asmaloney/spellingRémi Verschelde2020-07-211-11/+11
|\ \ | | | | | | Fix spelling & grammar in comments, docs, and messages
| * | Fix spelling & grammar in comments, docs, and messagesAndy Maloney2020-07-211-11/+11
| | |
* | | Fix spelling of a var, a struct, and message outputAndy Maloney2020-07-171-7/+7
|/ /
* | Addition of SDFGI for open world global illuminationJuan Linietsky2020-06-261-10/+203
| | | | | | | | Move GI to a deferred pass
* | Vulkan: Initialize struct members on declarationRémi Verschelde2020-06-031-6/+7
|/ | | | Supersedes and closes #38945.
* Merge pull request #38750 from madmiraal/fix-vulkan-uninitialized-warningRémi Verschelde2020-05-151-0/+6
|\ | | | | Silence mulitple may be used uninitialized warnings in RenderingDeviceVulkan::uniform_set_create()
| * Silence mulitple may be used uninitialized warnings inMarcel Admiraal2020-05-151-0/+6
| | | | | | | | RenderingDeviceVulkan::uniform_set_create()
* | Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
* | Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-121/+0
|/ | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* New lightmapperJuan Linietsky2020-05-101-1/+9
| | | | | | | -Added LocalVector (needed it) -Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too) -Fixes and changes all around the place -Added library for 128 bits fixed point (required for Delaunay3D)
* Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde2020-05-101-99/+197
| | | | Part of #33027.
* Add proper type to most public API uses of ArrayJuan Linietsky2020-04-211-2/+2
|