summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/rendering_device_vulkan.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde2022-05-021-2/+2
| | | | | | | | | | | Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
* vk_mem_alloc: Update to upstream + Replace use of deprecated itemsPedro J. Estébanez2022-03-291-1/+1
|
* Fix device limit exceeding for uniform buffernotSanil2022-03-161-1/+1
|
* vk_mem_alloc: Update to upstream + Adapt approach to small objects poolingPedro J. Estébanez2022-02-241-1/+2
| | | | | | This updates VMA and instead of using the custom small pool approach from 4e6c9d3ae979f2eb0151cf581fe61d2f3194ea72, lazily creates pools for the relevant memory type indices, which doesn't require patching VMA. Also, patches already merged upstream or not needed any longer are removed.
* Implementing OpenXR driverBastiaan Olij2022-02-231-0/+1
|
* Add a separate pool for small allocations in Vulkan RDPedro J. Estébanez2022-02-121-0/+1
|
* Fix various typosluz paz2022-01-131-1/+1
| | | Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inh,inout,leapyear,lod,nd,numer,ois,ony,paket,ro,seeked,sinc,switchs,te,uint,varn,vew`
* Merge pull request #55790 from Calinou/renderingserver-add-device-type-getterRémi Verschelde2022-01-041-0/+1
|\ | | | | Add `RenderingServer.get_video_adapter_type()` method
| * Add `RenderingServer.get_video_adapter_type()` methodHugo Locurcio2021-12-101-0/+1
| | | | | | | | | | | | | | This can be used to distinguish between integrated, dedicated, virtual and software-emulated GPUs. This in turn can be used to automatically adjust graphics settings, or warn users about features that may run slowly on their hardware.
* | Merge pull request #51206 from clayjohn/Vulkan-ASSGIRémi Verschelde2022-01-041-1/+1
|\ \
| * | Added SSIL post processing effectclayjohn2021-11-061-1/+1
| |/
* / Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
|/ | | | Happy new year to the wonderful Godot community!
* Merge pull request #51604 from TechnoPorg/fix-vulkan-parent-materialJFonS2021-09-121-1/+1
|\ | | | | Vulkan: Fix CanvasItem::use_parent_material
| * Vulkan: Fix CanvasItem::use_parent_materialTechnoPorg2021-08-171-1/+1
| | | | | | | | | | The "Use Parent Material" option now does something when enabled on a CanvasItem. As before, it's not just limited to a node's direct parent but can move up the tree until it finds a material. Also corrected a typo in rendering_device_vulkan.h that didn't merit its own commit.
* | Expose Vulkan internal values for access from extensionsBastiaan Olij2021-09-091-0/+2
| |
* | Optionally scale 3D render contentBastiaan Olij2021-08-261-0/+1
| |
* | Fixes to mobile rendererreduz2021-08-171-1/+2
|/ | | | | | * Make sure shaders are named, to aid in debug in case of failure * SceneRenderRD was being wrongly initialized (virtual functions being called when derivative class not initialized). * Fixed some bugs resulting on the above being corrected.
* Use "volk" instead of statically linked Vulkan loader.bruvzg2021-08-121-0/+4
|
* Use subpasses to do 3D rendering and resolve in mobile rendererBastiaan Olij2021-08-061-0/+1
|
* Implement Binary Shader Compilationreduz2021-07-261-1/+5
| | | | | | | | | | * Added an extra stage before compiling shader, which is generating a binary blob. * On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse. * On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL. This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved. I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware. There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
* Fix various typos with codespellluz paz2021-07-251-2/+2
| | | | Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
* Implement Specialization Constantsreduz2021-07-111-2/+8
| | | | | | * Added support to our local copy of SpirV Reflect (which does not support it). * Pass them on render or compute pipeline creation. * Not implemented in our shaders yet.
* Fix material invalidation on reimport.reduz2021-07-071-0/+3
| | | | | | * IF a texture was reimported (calling replace as an example), it would invalidate all materials using it, causing plenty of errors. * Added the possibility to get a notification when a uniform set is erased. * With this notification, materials can be queued for update properly.
* Fix threaded update for texturesreduz2021-07-071-0/+1
| | | | | * Previews and other stuff now works again. * Not the best solution, will have to be improved in the future usinc async queues where supported.
* Fix Render Inforeduz2021-07-031-1/+4
| | | | | | | | * Fixed and redone the process to obtain render information from a viewport * Some stats, such as material changes are too difficult to guess on Vulkan, were removed. * Separated visible and shadow stats, which causes confusion. * Texture, buffer and general video memory can be queried now. * Fixed the performance metrics too.
* Implement Framebuffer Subpass supportreduz2021-06-241-9/+100
| | | | | * Required for better optimizing mobile platforms * Will be used by the Vulkan mobile renderer.
* Add stereoscopic rendering through multiviewBastiaan Olij2021-06-131-4/+16
|
* Rewrote how barriers work for faster renderingreduz2021-02-041-1/+16
| | | | | | | | | | | -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
* Reorganize RenderingDevice barriersreduz2021-01-261-10/+11
| | | | | | | -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.
* Add named resources and debug labels in RenderDocclayjohn2021-01-251-0/+6
|
* Added GPU based cluster builderreduz2021-01-191-7/+3
| | | | Clustering is now GPU based, uses an implementation based on the Activision algorithm.
* 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 🎆
* Fix error spam on wrong attachmentreduz2020-12-191-6/+7
| | | | | -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-1/+1
| | | | Uses compute shaders, which only once, on demand, and all in parallel.
* Initialize class/struct variables with default values in core/ and drivers/Rafał Mikrut2020-11-231-115/+111
|
* 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
* Revert "Revert "Synchronization validation fix patch set 3 (inclusive of all ↵Juan Linietsky2020-10-191-0/+1
| | | | previous patches)""
* Revert "Synchronization validation fix patch set 3 (inclusive of all ↵Juan Linietsky2020-10-191-1/+0
| | | | previous patches)"
* Add barrier for buffer gettingJohn Zulauf2020-10-161-0/+1
| | | | | Add barrier for source buffer when getting. Refactor common "owner and stage/access" code to utility function.
* Fix spelling & grammar in comments, docs, and messagesAndy Maloney2020-07-211-4/+4
|
* Addition of SDFGI for open world global illuminationJuan Linietsky2020-06-261-7/+25
| | | | Move GI to a deferred pass
* Vulkan: Initialize struct members on declarationRémi Verschelde2020-06-031-116/+51
| | | | Supersedes and closes #38945.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-9/+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-0/+2
| | | | | | | -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)
* Add proper type to most public API uses of ArrayJuan Linietsky2020-04-211-9/+9
|
* Exposed RenderingDevice to script APIJuan Linietsky2020-04-201-2/+2
| | | | | | | | | | | | | Also added an easier way to load native GLSL shaders. Extras: Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload. Note: The precommit hooks are broken because they don't seem to support enums from one class being used in another. Feel free to fix this after merging this PR.
* Ability to create local RenderingDevice instances.Juan Linietsky2020-04-181-3/+14
|
* Implement MSAAJuan Linietsky2020-04-121-0/+1
|
* Moved most of the effect code to compute.Juan Linietsky2020-04-111-0/+2
| | | | | Simplifies it and improves performance. Improves image barrier handling per mipmap on RenderingDeviceVulkan
* Merge pull request #36919 from nekomatata/android-vulkan-renderingRémi Verschelde2020-04-091-0/+2
|\ | | | | Vulkan rendering support on Android