summaryrefslogtreecommitdiff
path: root/drivers/vulkan
AgeCommit message (Collapse)Author
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-03Re-enable per-pixel transparency support on Linux, macOS, and Windows (for ↵bruvzg
Vulkan and OpenGL rendering drivers).
2022-08-30Merge pull request #63003 from Geometror/msaa-2dRémi Verschelde
2022-08-30Merge pull request #64883 from RandomShaper/vk_swapchain_sizingRémi Verschelde
Let platforms override the sizing of Vulkan swapchain and window
2022-08-25Let platforms override the sizing of Vulkan swapchain and windowPedro J. Estébanez
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-19Remove requirement to have vertex positions when creating a mesh. Meshes can ↵clayjohn
now be constructed from an index buffer alone
2022-08-13Implement MSAA for 2D [Vulkan only]Hendrik Brucker
2022-08-09Apply correct formatting to comments in the Vulkan driverPedro J. Estébanez
2022-08-09For dev builds, keep track of resource names in the Vulkan driverBastiaan Olij
2022-08-06Merge pull request #62787 from RandomShaper/vk_object_nameRémi Verschelde
Set default resource names under pure debug in Vulkan RD
2022-08-05Add a Framebuffer cacheJuan Linietsky
Adds a FramebufferCache singletion that operates the same way as UniformSetCache. Allows creating framebuffers on the fly (and keep them cached if re-requested) such as: ```C++ RID fb = FramebufferCache::get_singleton()->get_cache(texture1,texture2); ```
2022-08-04Improve error message when the requested V-Sync mode cannot be usedHugo Locurcio
2022-07-28Merge pull request #63571 from RandomShaper/conservative_validate_vrsRémi Verschelde
2022-07-28Improve handling of the format of the VRS imagePedro J. Estébanez
- Validate format conservatively. (This is to have VRS images created regardless whether VRS attachments are supported, which avoids errors in places where the code assumes such images were created on low-spec GPUs.) - Create a non-layered default VRS image, which is what Vulkan (and D3D12, by the way) expect.
2022-07-27Remove unintended string copiesPedro J. Estébanez
2022-07-27Merge pull request #63296 from RandomShaper/fix_vk_singleviewRémi Verschelde
2022-07-27Fill view and correlation masks correctly for single view in Vulkan RDPedro J. Estébanez
2022-07-27Merge pull request #63314 from RandomShaper/validate_vrs_formatRémi Verschelde
2022-07-26Merge pull request #63323 from RandomShaper/const_ref_capabilitiesRémi Verschelde
Avoid copies of structures when returning Vulkan capabilities
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-22Avoid copies of structures when returning Vulkan capabilitiesPedro J. Estébanez
2022-07-22Validate texture format for VRS attachmentPedro J. Estébanez
2022-07-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-07-20Merge pull request #63237 from RandomShaper/amend_error_msgRémi Verschelde
2022-07-20Improve `linuxbsd` headless building, cleanup build scriptsRiteo
Now the `linuxbsd` platform can be built headlessly (e.g. without X11 development libraries). I also cleaned up some weird (old?) usages of the `env` variable which seem to make no difference and are used nowhere else.
2022-07-20Improve messages about VRSPedro J. Estébanez
2022-07-20Add missing fields to VkRenderPassCreateInfo2KHR structBastiaan Olij
2022-07-18Merge pull request #63057 from sakrel/vulkan-fix-2d-shadowsRémi Verschelde
2022-07-18Merge pull request #62848 from RandomShaper/shader_writability_improvementRémi Verschelde
2022-07-18Enhance determination of uniform writability in Vulkan RDPedro J. Estébanez
- Check block decoration in addition to type decoration to be sure to find `readonly` decorators - Verify uniforms have same writability across all shader stages in Vulkan RD
2022-07-18Improve versioning of shader binary data filesPedro J. Estébanez
- Include Godot version and commit hash in shader cache key - Reject files when format doesn't match, even if it's lower, since we don't have backwards compatibility here
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-15Fix DirectionalLight2D and PointLight2D shadows not rendering correctlysakrel
2022-07-06Set default resource names under pure debug in Vulkan RDPedro J. Estébanez
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-30Use a more robust method of determining writability of bindingsPedro J. Estébanez
2022-06-28Avoid manual memory management of certain arrays in Vulkan RDPedro J. Estébanez