summaryrefslogtreecommitdiff
path: root/drivers/vulkan/vulkan_context.cpp
AgeCommit message (Collapse)Author
2023-01-23Merge pull request #70429 from BastiaanOlij/check_more_vulkan_extensionsRémi Verschelde
Enabling additional vulkan extension and adding further checks
2023-01-23Convert en_GB spelling to en_US with codespellRémi Verschelde
2023-01-21Use range iterators in LocalVector loopskobewi
2023-01-15Enabling additional vulkan extension and adding further checksBastiaan Olij
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-05Fix issue where we should be using device supported version instead of ↵Bastiaan Olij
instance version for Vulkan
2022-11-24Improve logic for detecting and tracking extensionsBastiaan Olij
2022-11-17Fix VRS issuesBastiaan Olij
2022-11-02Style: Misc docs and comment style and language fixesRémi Verschelde
- Removed empty paragraphs in XML. - Consistently use bold style for "Example:", on a new line. - Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`). - Fix invalid usage of backticks for inline code in BBCode. - Fix some American/British English spelling inconsistencies. - Other minor fixes spotted along the way, including typo fixes with codespell. - Don't specify `@GlobalScope` for `enum` and `constant`.
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-31Merge pull request #67729 from Riteo/workaround-extension-feature-bugRémi Verschelde
Check for a Vulkan extension before checking its features
2022-10-24Merge pull request #67541 from RandomShaper/refactor_subgroup_adsClay John
Let the RD driver itself expose subgroup caps
2022-10-22Check for a Vulkan extension before checking its featuresRiteo
For some reason AFAICT mesa reports a feature as enabled even when its extension isn't supported. The Vulkan specification says nothing aboutd this so this is technically more of a workaround, but it works.
2022-10-20Let the RD driver itself expose subgroup capsPedro J. Estébanez
2022-10-19Use opaque composition if transparency is disabledRiteo
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-12Added fallback to vkCreateRenderPass if ↵Bastiaan Olij
VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME isn't supported
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-06[Windows] Fix LLVM MinGW build.bruvzg
2022-10-04Vulkan: Initialize VK_EXT_debug_utils only for dev build or verbose modeRémi Verschelde
End users would get spammed with messages of varying verbosity due to the mess that thirdparty layers/extensions and drivers seem to leave in their wake, making the Windows registry a bottomless pit of broken layer JSON. I'm all for helping end users clean up mess in their registry / system paths for Vulkan ICDs, layers and extensions, but the way this is done by VK_EXT_debug_utils is just horrible - and the way for them to fix it (manual edit of system files) is also not a good thing to recommend. Closes countless issues where users think Godot is broken because it reports weird errors.
2022-09-28Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable usedRémi Verschelde
2022-09-03Re-enable per-pixel transparency support on Linux, macOS, and Windows (for ↵bruvzg
Vulkan and OpenGL rendering drivers).
2022-08-25Let platforms override the sizing of Vulkan swapchain and windowPedro J. Estébanez
2022-08-09Apply correct formatting to comments in the Vulkan driverPedro J. Estébanez
2022-08-04Improve error message when the requested V-Sync mode cannot be usedHugo Locurcio
2022-07-27Remove unintended string copiesPedro J. Estébanez
2022-07-27Fill view and correlation masks correctly for single view in Vulkan RDPedro J. Estébanez
2022-07-20Merge pull request #63237 from RandomShaper/amend_error_msgRémi Verschelde
2022-07-20Improve messages about VRSPedro J. Estébanez
2022-07-17Update comments in vulkan_context.cppAaron Franke
Co-authored-by: Quinn Leavitt <59779489+QuinnLeavitt@users.noreply.github.com>
2022-07-17Adding Variable Rate Shading support to GodotBastiaan Olij
Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
2022-07-02Vulkan: Make `loader_get_json` "error" a verbose message on WindowsRémi Verschelde
In far most cases it seems like it's going to message about bogus manifests in the Windows registry which point to JSON files which have since been uninstalled, but without clearing the registry. This happens with bogus Vulkan overlays from Twitch, Epic Online Services, NVIDIA Nsight Systems, OBS Studio, Rockstar Games... fix your mess folks. Fixes #56089.
2022-06-28Apply some small fixes/enhancements to the Vulkan RDPedro J. Estébanez
- Initialize queue indices to values meaning 'unset' - Remove unused parameters & members - Make texture update access flags consistent with texture copy - Fix style and pass type of some parameters - Synchronize setup-draw in flush with a semaphore - Add no current list validation to draw_list_begin_splits() - Update texture usage flags on destination of copy - Fix misuse of Vulkan flag
2022-05-03Add `get_video_adapter_api_version()` to RenderingServerHugo Locurcio
This method can be used to get the graphics API version currently in use (such as Vulkan). It can be used by projects for troubleshooting or statistical purposes.
2022-03-31Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Fix a couple incorrect uses of gendered pronouns.
2022-02-23Implementing OpenXR driverBastiaan Olij
2022-02-19vkQueueSubmit needs pWaitDstStageMask sized to waitSemaphoreCountBastiaan Olij
2022-02-18Merge pull request #58236 from bruvzg/win_min_fixRémi Verschelde
2022-02-17[Windows] Fix Vulkan driver crash on sub-window minimization.bruvzg
2022-02-17We were only getting our available shader features, now we also enabling themBastiaan Olij
2022-02-10Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Added `misc/scripts/codespell.sh` to make it easier to run it once in a while and update the skip and ignore lists.
2022-02-09Nitpicking, VK_VERSION_* have been deprecated, replaced by VK_API_VERSION_*.Bastiaan Olij
2022-01-29simplify formatting scripts, add a clang-tidy script, and run clang-tidyNathan Franke
2022-01-17Merge pull request #55020 from bruvzg/vlk_device_surface_checkRémi Verschelde
2022-01-05Add list initialization support for Vector & LocalVectorHaoyu Qiu
2022-01-04Merge pull request #55790 from Calinou/renderingserver-add-device-type-getterRémi Verschelde
Add `RenderingServer.get_video_adapter_type()` method
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-24drivers/vulkan: limit pEngineName to only the engine name, without its versionEric Engestrom
It's supposed to be something stable that can be used to identify the engine (using an equality check), so having the version number in there defeats the purpose. While at it, there is no need to prefix it with a second `"GodotEngine"`, nor to copy the static C string into a C++ string to then extract a C string from it :)
2021-12-23drivers/vulkan: set the engineVersion to Godot's versionEric Engestrom
2021-12-10Add `RenderingServer.get_video_adapter_type()` methodHugo Locurcio
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.