summaryrefslogtreecommitdiff
path: root/drivers/vulkan
AgeCommit message (Collapse)Author
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-22Fix MoltenVK static linking on macOS (add missing include path, Vulkan SDK ↵bruvzg
path option, use xcframework instead of static framework).
2021-07-15Fixes to forward mobilereduz
* use valid format for framebuffer: VK_FORMAT_A2B10G10R10_UNORM_PACK32 * Unfortunately cant be used for compute. * Mobile will need to do refprobe, sky, mipmapblurring using raster.
2021-07-12Use specialization constants in clustered rendererreduz
* Keep track of when projector, softshadow or directional sofshadow were enabled. * Enable them via specializaton constant where it makes sense. * Re-implements soft shadows. * Re-implements light projectors.
2021-07-11Implement Specialization Constantsreduz
* 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.
2021-07-10Merge pull request #48622 from Geometror/reimplement-disableable-vsyncHugo Locurcio
2021-07-07Fix material invalidation on reimport.reduz
* 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.
2021-07-07Fix threaded update for texturesreduz
* Previews and other stuff now works again. * Not the best solution, will have to be improved in the future usinc async queues where supported.
2021-07-06Restructure and reimplement vsync optionsHendrik Brucker
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX -Removed the V-Sync via Compositor option
2021-07-03Fix Render Inforeduz
* 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.
2021-06-30Enum constant in boolean contextK. S. Ernest (iFire) Lee
error: enum constant in boolean context [-Werror=int-in-bool-context]
2021-06-28Fix Context Validation Layer Errorsreduz
* Multisampling was wrongly selected, possibly fixes #49937 * Image semaphore acquisition is now per window, possibly fixes #41614 Please make sure to test the above two issues again, since I can't reproduce either anyway.
2021-06-24Implement Framebuffer Subpass supportreduz
* Required for better optimizing mobile platforms * Will be used by the Vulkan mobile renderer.
2021-06-13Add stereoscopic rendering through multiviewBastiaan Olij
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-11Merge pull request #49506 from akien-mga/vulkan_prefer_discrete_gpuRémi Verschelde
Prefer discrete GPU over integrated one
2021-06-11Prefer discrete GPU over integrated oneBlazej Floch
This unblocks launching on Linux laptops that default to the integrated GPU which can not handle Vulkan in many instances. Ideally a manual device selection, or an option for the optimal selection strategy should be provided via CLI or config, but for the time being this will unblock the Linux devs. Partially addresses #42348 and #43714
2021-06-07Style: Cleanup uses of double spaces between wordsRémi Verschelde
Or after punctuation. Tried to leave third-party stuff alone, unless it has been heavily modified for Godot.
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2021-05-08Remove debugging prints in the Linux DisplayServerHugo Locurcio
Some Vulkan debugging prints were also changed to be printed only in verbose mode.
2021-05-06Cleanup vulkan capabilities check and add multiview checkBastiaan Olij
2021-05-03Tweak warning messages related to leaked RIDsHugo Locurcio
- Use hardcoded pluralization for messages. - Since these messages are English-only, it's fine to hardcode it. - Use double quotes for consistency with other messages.
2021-04-29Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-12Validation layers on AndroidSzymon Majewski
2021-04-05Merge pull request #47640 from BastiaanOlij/fix_vulkan_formatRémi Verschelde
Chose format from supported ones that we support
2021-04-05Chose format from supported ones that we supportBastiaan Olij
2021-04-05Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde
2021-04-01Removed debug codeSzymon Majewski
2021-03-31Merge pull request #47283 from Panquesito7/fix_lgtm_alertsRémi Verschelde
fix: 3 LGTM alerts/warnings
2021-03-31fix: 3 LGTM alerts/warningsDavid Leal
2021-03-31Merge pull request #47250 from BastiaanOlij/check_vulkan_versionRémi Verschelde
Obtain supported Vulkan API
2021-03-30WIP: Add support for VK_EXT_debug_report in VulkanSzymon Majewski
2021-03-26Obtain supported Vulkan APIBastiaan Olij
2021-03-12Fixes small typos and grammar correctionAnshul7sp1
2021-03-07Fix memory leak in VulkanContextRafał Mikrut
2021-02-05Fixes to get Godot running again on Intel IGPreduz
-Fixed strange bug with shadowed instance_param (this should not have worked anywhere, odd..) -Cleaned up barrier usage further.
2021-02-04Rewrote how barriers work for faster renderingreduz
-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
2021-02-02Always init `DEBUG_UTILS_MESSENGER_CREATE_INFO` structure if `DEBUG_UTILS` ↵bruvzg
functions are used. Add temporary variables to fix potential use-after-free.
2021-01-26Merge pull request #45476 from qarmin/add_temp_variableRémi Verschelde
Add temporary variable to not use freed memory
2021-01-26Reorganize RenderingDevice barriersreduz
-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.
2021-01-26Add temporary variable to not use freed memoryRafał Mikrut
2021-01-25Add named resources and debug labels in RenderDocclayjohn
2021-01-24Shadow map rendering optimizationreduz
-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.
2021-01-19Added GPU based cluster builderreduz
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
2021-01-08spirv-reflect: Update to upstream commit c0ce03a (Jan 6, 2021)Rémi Verschelde
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 🎆