Age | Commit message (Collapse) | Author |
|
(cherry picked from commit 09aa1bbdb3c9dc4891a192854636a4e33ccd46bc)
|
|
(cherry picked from commit 882b8692204e8db465670dbb3150a848197ad576)
|
|
(cherry picked from commit c9d2bc91aace984b0c5fc1fcfa5b68e0a33e2ef6)
|
|
RenderingDevice texture update
(cherry picked from commit 06042a23b676c36f0afc1f3696d52cd60e79dc80)
|
|
In the flow where VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME does not exist
VkAttachmentReference are created inside a loop and their backing buffer is referenced in the subpass object.
the VkAttachmentReference vectors are freed once the loop exists, causing the subpass to point to freed data.
Add all the VkAttachmentReference to a vector in the scope of the entire function, to ensure they are not freed until vkCreateRenderPass is called
|
|
Styling fix
|
|
|
|
Add optional size parameter to the RenderDevice buffer_get_data method.
|
|
|
|
This helps troubleshooting as the CLI logs now distinguish between
Forward+ and Forward Mobile.
|
|
|
|
in the mobile renderer
|
|
Enabling additional vulkan extension and adding further checks
|
|
|
|
|
|
|
|
|
|
|
|
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".
|
|
Implement basic ASTC support
|
|
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.
|
|
Replace certain sanity checks with proper dev-only assertions in Vulkan RD
|
|
|
|
|
|
Refactor SPIR-V reflection into a generic RenderingDevice feature
|
|
|
|
|
|
Fix barrier on buffer_get_data
|
|
|
|
|
|
instance version for Vulkan
|
|
|
|
|
|
Expose `BarrierMask` as flags enum in `RenderingDevice`
|
|
|
|
Add `offsets` parameter to RenderingDevice::vertex_array_create
|
|
|
|
- Ensure all strings with ellipsis end with 3 periods instead of 2.
- Fix extraneous period in "Error calling from signal '...' to callable"
messages.
|
|
|
|
|
|
|
|
Fix several render issues found while debugging XR
|
|
- 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`.
|
|
|
|
Unify usage of GLOBAL/EDITOR_GET
|
|
Check for a Vulkan extension before checking its features
|
|
Prevent windows from having a size greater than device limit
|
|
Let the RD driver itself expose subgroup caps
|
|
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.
|
|
|