summaryrefslogtreecommitdiff
path: root/drivers/vulkan
AgeCommit message (Collapse)Author
2022-03-09Change some math macros to constexprkobewi
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-06Add a UniformSet cachereduz
* Changed syntax usage for RD::Uniform to create faster with a single RID * Converted render pass setup to use this in clustered renderer to test. This is the first step into creating a proper uniform set cache system to simplify large parts of the codebase.
2022-03-01Fixing retrospective code for specialisation constantsBastiaan Olij
2022-02-25Fix build for macOS / iOS with the statically linked MoltenVK after VMA update.bruvzg
2022-02-24vk_mem_alloc: Update to upstream + Adapt approach to small objects poolingPedro J. Estébanez
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.
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-18Merge pull request #58186 from BastiaanOlij/fix_shader_features_initRémi Verschelde
Enable features we require when creating a Vulkan Device
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-16Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde
Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
2022-02-12Add a separate pool for small allocations in Vulkan RDPedro J. Estébanez
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-22Merge pull request #54890 from briansemrau/threadsafe-drawpute-listsRémi Verschelde
Make draw/compute lists threadsafe
2022-01-19Merge pull request #54489 from briansemrau/texture-delete-updateRémi Verschelde
2022-01-17Merge pull request #55020 from bruvzg/vlk_device_surface_checkRémi Verschelde
2022-01-14Remove support for PVRTC texture encoding and decodingHugo Locurcio
On the only platform where PVRTC is supported (iOS), ETC2 generally supersedes PVRTC in every possible way. The increased memory usage is not really a problem thanks to modern iOS' devices processing power being higher than its Android counterparts.
2022-01-13Fix various typosluz paz
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`
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-04Merge pull request #51206 from clayjohn/Vulkan-ASSGIRémi Verschelde
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.
2021-12-10Merge pull request #55704 from RandomShaper/fix_little_vk_mistakeRémi Verschelde
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-12-07Fix misuse of Vulkan enum valuePedro J. Estébanez
2021-11-23Implemented AMD's FSR as a computer shader for upscaling 3D scenesJe06jm
2021-11-22[Vulkan] Check each device capabilities before selecting it.bruvzg
Split instance and physical device selection function and move device selection to window creation, to reject devices without present capability. Add device preferred type check in discrete > integrated > virtual > cpu > other order. Add device list printout. Add command line argument to override device selection.
2021-11-11Make draw/compute lists threadsafeBrian Semrau
Lock the rendering device while command buffers are in use
2021-11-06Added SSIL post processing effectclayjohn
2021-11-01Fix materials not updating when texture replaced/deletedBrian Semrau
2021-10-30Disallow compute dispatch with zero dimensions.Brian Semrau
2021-10-28Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFogclayjohn
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28clang-format: Various fixes to comments alignment from `clang-format` 13Rémi Verschelde
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-20doctool: Fix differences between headless and Vulkan rendering backendsRémi Verschelde
Fixes #53913.
2021-10-12Replaced NULL with nullptrM. Huri
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-29Rename RID's `getornull()` to `get_or_null()`Hugo Locurcio
2021-09-17Merge pull request #52464 from raulsntos/fix_buffer_info_uninitializedRémi Verschelde
2021-09-17Fix buffer_info may be used uninitializedRaul Santos
2021-09-14Print the Vulkan API version and device used on the same lineHugo Locurcio
This matches Godot 3.x's OpenGL renderer behavior and is more compact.
2021-09-12Merge pull request #51604 from TechnoPorg/fix-vulkan-parent-materialJFonS
Vulkan: Fix CanvasItem::use_parent_material
2021-09-09Expose Vulkan internal values for access from extensionsBastiaan Olij
2021-08-26Optionally scale 3D render contentBastiaan Olij