summaryrefslogtreecommitdiff
path: root/drivers/vulkan
AgeCommit message (Collapse)Author
2023-01-09Make inclusion of Godot version in shader hash universalPedro J. Estébanez
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-20Merge pull request #65376 from reduz/astc-supportRémi Verschelde
Implement basic ASTC support
2022-12-20Implement basic ASTC supportJuan Linietsky
Implements basic ASTC support: * Only 4x4 and 8x8 block sizes. * Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future. The need for ASTC is mostly for the following use cases: * Implement a high quality compression option for textures on mobile and M1 Apple hardware. * For this, the 4x4 is sufficient, since it uses the same size as BPTC. ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high. Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing. Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-15Merge pull request #70104 from RandomShaper/vk_dev_assertsClay John
Replace certain sanity checks with proper dev-only assertions in Vulkan RD
2022-12-15Replace certain sanity checks with proper dev-only assertions in Vulkan RDPedro J. Estébanez
2022-12-15Changed `STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT` type to enum flagsYuri Rubinsky
2022-12-15Merge pull request #69709 from RandomShaper/refactor_spirv_reflectionRémi Verschelde
Refactor SPIR-V reflection into a generic RenderingDevice feature
2022-12-12Refactor SPIR-V reflection into a generic RenderingDevice featurePedro J. Estébanez
2022-12-12Tidy up some aspects of Vulkan RDPedro J. Estébanez
2022-12-12Merge pull request #69635 from BastiaanOlij/fix_get_bufferRémi Verschelde
Fix barrier on buffer_get_data
2022-12-11Changed `RD::PipelineDynamicStateFlags` type to enum flagsYuri Rubinsky
2022-12-06Fix barrier on buffer_get_dataBastiaan Olij
2022-12-05Fix issue where we should be using device supported version instead of ↵Bastiaan Olij
instance version for Vulkan
2022-11-26Changed `RenderingDevice::TextureUsageBits` type to enum flagsYuri Rubinsky
2022-11-24Improve logic for detecting and tracking extensionsBastiaan Olij
2022-11-22Merge pull request #68942 from Chaosus/barrier_mask_flagsRémi Verschelde
Expose `BarrierMask` as flags enum in `RenderingDevice`
2022-11-22Expose `BarrierMask` as flags enum in `RenderingDevice`Yuri Rubinsky
2022-11-21Merge pull request #68527 from pkdawson/vertex-array-offsetsRémi Verschelde
Add `offsets` parameter to RenderingDevice::vertex_array_create
2022-11-17Fix VRS issuesBastiaan Olij
2022-11-14Fix periods in editor strings and messagesHugo Locurcio
- Ensure all strings with ellipsis end with 3 periods instead of 2. - Fix extraneous period in "Error calling from signal '...' to callable" messages.
2022-11-11Add `offsets` parameter to RenderingDevice::vertex_array_createPatrick Dawson
2022-11-08Remove duplicate project settings definitionskobewi
2022-11-05RenderingDevice: Fix usage of index offsetPatrick Dawson
2022-11-03Merge pull request #68102 from BastiaanOlij/fix_render_issues_xrRémi Verschelde
Fix several render issues found while debugging XR
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-11-01Fix several render issues found while debugging XRBastiaan Olij
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-27Merge pull request #64710 from MinusKube/window-size-crashClay John
Prevent windows from having a size greater than device limit
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-11Merge pull request #67227 from BastiaanOlij/vkCreateRenderPass2KHR_fallbackClay John
Added fallback to vkCreateRenderPass
2022-10-12Added fallback to vkCreateRenderPass if ↵Bastiaan Olij
VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME isn't supported
2022-10-11Merge pull request #66221 from Mickeon/painstakingly-appending-ds-en-you-tea-esRémi Verschelde
Rename remaining "*_enable" to "*_enabled"
2022-10-11Merge pull request #67000 from RandomShaper/split_render_furtherRémi Verschelde
Polish rendering driver refactor further
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-06Polish rendering driver refactor furtherPedro J. Estébanez
Mainly: - Make `max_descriptors_per_pool` project setting Vulkan-specific. - Use a common, render driver agnostic magic FourCC for shader binary data. - Downgrade spirv_reflect to Vulkan-only dependency. - Add a `RENDER_DRIVER_*` macro to GLSL shader code for per-driver customizations.
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-30Fix typos with codespellRémi Verschelde
Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
2022-09-28Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable usedRémi Verschelde
2022-09-21Rename remaining "*_enable" to "*_enabled"Micky
Material.`proximity_fade_enable` -> `proximity_fade_enabled` Material.`set_proximity_fade` -> `set_proximity_fade_enabled` (Material.`is_proximity_fade_enabled` is unchanged) Area3D.`reverb_bus_enable` -> `reverb_bus_enabled` (`set_use_reverb_bus` & `is_using_reverb_bus` are unchanged) RDPipelineRasterizationState: `depth_bias_enable` -> `depth_bias_enabled` `set_depth_bias_enable` -> `set_depth_bias_enabled` `get_depth_bias_enable` -> `get_depth_bias_enabled` Bonus: Area3D.`set_reverb_bus` -> `set_reverb_bus_name` Area3D.`get_reverb_bus` -> `set_get_reverb_bus_name`
2022-09-19Split rendering driver project setting into renderer_name and ↵clayjohn
rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
2022-09-07Fix crash when executing `SubViewport.set_size_2d_override_stretch`Haoyu Qiu
2022-09-04Prevent windows from having a size greater than device limitMinusKube