summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/rendering_device_vulkan.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #70663 from EpEpDragon/feature_buffer_get_data_size_optionRémi Verschelde2023-02-101-6/+14
|\ | | | | | | Add optional size parameter to the RenderDevice buffer_get_data method.
| * Added optional offset and size parameter to RenderDevice buffer_get_data methodEpEpDragon2023-01-061-6/+14
| |
* | Add layer slice support to render device and render buffersBastiaan Olij2023-02-031-2/+6
| |
* | Add a few more checks to ensure that unsupported image formats are not used ↵clayjohn2023-01-231-1/+1
| | | | | | | | in the mobile renderer
* | Enabling additional vulkan extension and adding further checksBastiaan Olij2023-01-151-55/+53
| |
* | Make inclusion of Godot version in shader hash universalPedro J. Estébanez2023-01-091-2/+1
|/
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | 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".
* Merge pull request #65376 from reduz/astc-supportRémi Verschelde2022-12-201-6/+19
|\ | | | | | | Implement basic ASTC support
| * Implement basic ASTC supportJuan Linietsky2022-12-201-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #70104 from RandomShaper/vk_dev_assertsClay John2022-12-151-16/+5
|\ \ | | | | | | Replace certain sanity checks with proper dev-only assertions in Vulkan RD
| * | Replace certain sanity checks with proper dev-only assertions in Vulkan RDPedro J. Estébanez2022-12-151-16/+5
| | |
* | | Changed `STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT` type to enum flagsYuri Rubinsky2022-12-151-2/+2
|/ /
* | Merge pull request #69709 from RandomShaper/refactor_spirv_reflectionRémi Verschelde2022-12-151-549/+62
|\ \ | | | | | | | | | Refactor SPIR-V reflection into a generic RenderingDevice feature
| * | Refactor SPIR-V reflection into a generic RenderingDevice featurePedro J. Estébanez2022-12-121-319/+43
| | |
| * | Tidy up some aspects of Vulkan RDPedro J. Estébanez2022-12-121-235/+24
| | |
* | | Merge pull request #69635 from BastiaanOlij/fix_get_bufferRémi Verschelde2022-12-121-5/+5
|\ \ \ | |/ / |/| | | | | Fix barrier on buffer_get_data
| * | Fix barrier on buffer_get_dataBastiaan Olij2022-12-061-5/+5
| | |
* | | Changed `RD::PipelineDynamicStateFlags` type to enum flagsYuri Rubinsky2022-12-111-8/+8
|/ /
* | Changed `RenderingDevice::TextureUsageBits` type to enum flagsYuri Rubinsky2022-11-261-8/+8
| |
* | Merge pull request #68942 from Chaosus/barrier_mask_flagsRémi Verschelde2022-11-221-65/+67
|\ \ | | | | | | | | | Expose `BarrierMask` as flags enum in `RenderingDevice`
| * | Expose `BarrierMask` as flags enum in `RenderingDevice`Yuri Rubinsky2022-11-221-65/+67
| | |
* | | Merge pull request #68527 from pkdawson/vertex-array-offsetsRémi Verschelde2022-11-211-2/+8
|\ \ \ | |/ / |/| | | | | Add `offsets` parameter to RenderingDevice::vertex_array_create
| * | Add `offsets` parameter to RenderingDevice::vertex_array_createPatrick Dawson2022-11-111-2/+8
| | |
* | | Fix VRS issuesBastiaan Olij2022-11-171-1/+7
| | |
* | | Fix periods in editor strings and messagesHugo Locurcio2022-11-141-1/+1
|/ / | | | | | | | | | | - Ensure all strings with ellipsis end with 3 periods instead of 2. - Fix extraneous period in "Error calling from signal '...' to callable" messages.
* | Remove duplicate project settings definitionskobewi2022-11-081-6/+4
| |
* | RenderingDevice: Fix usage of index offsetPatrick Dawson2022-11-051-1/+1
| |
* | Fix several render issues found while debugging XRBastiaan Olij2022-11-011-17/+41
| |
* | Merge pull request #64710 from MinusKube/window-size-crashClay John2022-10-271-0/+4
|\ \ | | | | | | Prevent windows from having a size greater than device limit
| * | Prevent windows from having a size greater than device limitMinusKube2022-09-041-0/+4
| |/
* | Merge pull request #66221 from Mickeon/painstakingly-appending-ds-en-you-tea-esRémi Verschelde2022-10-111-1/+1
|\ \ | | | | | | | | | Rename remaining "*_enable" to "*_enabled"
| * | Rename remaining "*_enable" to "*_enabled"Micky2022-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`
* | | Merge pull request #67000 from RandomShaper/split_render_furtherRémi Verschelde2022-10-111-4/+4
|\ \ \ | | | | | | | | | | | | Polish rendering driver refactor further
| * | | Polish rendering driver refactor furtherPedro J. Estébanez2022-10-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde2022-10-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-071-8/+8
|/ / / | | | | | | | | | change warnings=all to use /W4.
* | | Fix typos with codespellRémi Verschelde2022-09-301-2/+2
| | | | | | | | | | | | | | | | | | | | | Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
* | | Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable usedRémi Verschelde2022-09-281-2/+2
|/ /
* | Split rendering driver project setting into renderer_name and ↵clayjohn2022-09-191-4/+4
| | | | | | | | rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
* | Fix crash when executing `SubViewport.set_size_2d_override_stretch`Haoyu Qiu2022-09-071-1/+1
|/
* Merge pull request #63003 from Geometror/msaa-2dRémi Verschelde2022-08-301-6/+33
|\
| * Implement MSAA for 2D [Vulkan only]Hendrik Brucker2022-08-131-6/+33
| |
* | Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-0/+10
| |
* | Remove requirement to have vertex positions when creating a mesh. Meshes can ↵clayjohn2022-08-191-6/+0
|/ | | | now be constructed from an index buffer alone
* Apply correct formatting to comments in the Vulkan driverPedro J. Estébanez2022-08-091-403/+403
|
* For dev builds, keep track of resource names in the Vulkan driverBastiaan Olij2022-08-091-0/+31
|
* Merge pull request #62787 from RandomShaper/vk_object_nameRémi Verschelde2022-08-061-7/+59
|\ | | | | Set default resource names under pure debug in Vulkan RD
| * Set default resource names under pure debug in Vulkan RDPedro J. Estébanez2022-07-061-7/+59
| |
* | Add a Framebuffer cacheJuan Linietsky2022-08-051-3/+24
| | | | | | | | | | | | | | | | | | | | 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); ```
* | Improve handling of the format of the VRS imagePedro J. Estébanez2022-07-281-2/+4
| | | | | | | | | | - 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.