Age | Commit message (Collapse) | Author |
|
|
|
Add `RenderingServer.get_video_adapter_type()` method
|
|
|
|
Happy new year to the wonderful Godot community!
|
|
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 :)
|
|
|
|
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.
|
|
|
|
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
|
|
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
|
|
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`.
|
|
Fixes #53913.
|
|
|
|
|
|
|
|
|
|
|
|
This matches Godot 3.x's OpenGL renderer behavior and is more compact.
|
|
Vulkan: Fix CanvasItem::use_parent_material
|
|
|
|
|
|
Use used_in_transfer instead of used_in_compute twice.
|
|
* Make sure shaders are named, to aid in debug in case of failure
* SceneRenderRD was being wrongly initialized (virtual functions being called when derivative class not initialized).
* Fixed some bugs resulting on the above being corrected.
|
|
The "Use Parent Material" option now does something when enabled on a CanvasItem. As before, it's not just limited to a node's direct parent but can move up the tree until it finds a material.
Also corrected a typo in rendering_device_vulkan.h that didn't merit its own commit.
|
|
|
|
|
|
We no longer build the Vulkan loader, and volk lets us load it dynamically.
Roblox uses volk on Android so it should work well for us too.
|
|
|
|
* Only apply final actions to attachments used in the last pass.
* Fixes to draw list final action (was using continue instead of read/drop).
* Profiling regions inside draw lists now properly throw errors.
* Ability to enable gpu profile printing from project settings. (used to debug).
|
|
|
|
Use title case instead of uppercase for Vulkan Intel GPU detection
|
|
Move Vulkan debugging prints to verbose
|
|
This matches how the vendor name is displayed in most places.
The Apple GPU vendor was also added for the M1.
|
|
These messages can now be displayed in release builds if the
`--verbose` command line argument is specified, which is useful for
troubleshooting.
|
|
This is important information to include in bug reports for exported
projects, and is consistent with the behavior found in the GLES3 and
GLES2 renderers in `3.x`.
|
|
Implement Binary Shader Compilation
|
|
* Added an extra stage before compiling shader, which is generating a binary blob.
* On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse.
* On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL.
This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved.
I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware.
There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
|
|
Follow-up typos found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
|
|
|
|
|
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
|
|
|
path option, use xcframework instead of static framework).
|
|
* use valid format for framebuffer: VK_FORMAT_A2B10G10R10_UNORM_PACK32
* Unfortunately cant be used for compute.
* Mobile will need to do refprobe, sky, mipmapblurring using raster.
|
|
* Keep track of when projector, softshadow or directional sofshadow were enabled.
* Enable them via specializaton constant where it makes sense.
* Re-implements soft shadows.
* Re-implements light projectors.
|