Age | Commit message (Collapse) | Author |
|
change warnings=all to use /W4.
|
|
This removes the countless small UBO writes we had before
and replaces them with a single large write per render pass.
This results in much faster rendering on low-end devices
but improves speed on all devices.
|
|
[Windows] Fix LLVM MinGW build.
|
|
Improve default `OS`'s CPU count getter
|
|
|
|
|
|
Remove usage of unitialized variables
|
|
Enhance portability of threading
|
|
Rename Projection `matrix` to `columns`
|
|
|
|
|
|
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.
|
|
|
|
Move cluster builder, sdfgi and gi structures to clustered renderer, and more
|
|
Properly expose TEXTURE_PIXEL_SIZE in Opengl3 renderer
|
|
akien-mga/core-unix-remove-NO_FCNTL-and-NO_STATVFS
Unix: Remove now unnecessary I/O defines, cleanup
|
|
|
|
light and probe elements into storage and reorganise our render_scene method.
|
|
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_.
- `NO_NETWORK` is also never defined. It probably isn't enough anyway to
disable network APIs in the current codebase.
- `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some
other platforms, clarify that.
- `NO_STATVFS` can be removed as Android supports it since API level 19,
which is our current min SDK level. It's also only used for
`DirAccessUnix::get_space_left()` which is anyway overridden by
`DirAccessJAndroid::get_space_left()` so it shouldn't make a difference.
* Fixed documentation for `DirAccess.get_space_left()`.
- `NO_FCNTL` is likely also a remnant of early Android days, in current NDK
r23 it seems to be available. Also cleaned up unused `fcntl.h` includes.
- `NO_ALLOCA` is never defined, and we use alloca in many places now.
|
|
This also removes `OS::can_use_threads` from the public API since it's always
true.
|
|
|
|
Remove ERR_FAIL_COND that never happens in _draw_sky
|
|
Using codespell 2.3-dev from current git.
And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
|
|
In the conditional `sky` is always true.
|
|
Add various null checks in RenderingServer
|
|
Fix typos - "collison" -> "collision"
|
|
|
|
|
|
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
|
|
Clean up canvas light shader API.
|
|
suppress C4127 warnings.
|
|
Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL.
Add LIGHT_DIRECTION
|
|
|
|
`CreateDirectoryW()` chokes on absolute paths that contain `..`
example: "C:\\workspace\\..\\games\\assets"
Simplifying the path before creating the dir fixes this.
|
|
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
outside thirdparty code, which we usually don't intend to debug, so it
seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
and `release_debug` targets. This used to be set for `release` for all
platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
code, which was only implemented for Unix anyway, should have been
`DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
target as we don't want OIDN and Embree asserting all over the place.
|
|
[Core] Make ImageFormatLoader extensible.
|
|
Split rendering driver project setting into renderer_name and rendering_driver
|
|
|
|
SpotLight3D's and OmniLight3D's Projector doesn't work
|
|
rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
|
|
|
|
|
|
Add get_distribution_name() and get_version() to OS
|
|
Fix error spam in the renderer when using GPUParticles3D
|
|
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP
Co-authored-by: bruvzg
|
|
The flag INSTANCE_DATA_FLAG_MULTIMESH is used for both multimesh and particles instances, this commit adds a new INSTANCE_DATA_FLAG_PARTICLES flag to discriminate between them.
This flag will also be used in the future to properly support TAA in particles.
|
|
Fix/restore BackBufferCopy
|
|
|
|
|
|
Remove prefix canvas_data. as it isn't used in the internal canvasitem shader
|