summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2022-10-15Merge pull request #63332 from KoBeWi/static_images_aka_photosRémi Verschelde
Make some Image methods static
2022-10-15Merge pull request #67416 from clayjohn/GLES3-primitiveRémi Verschelde
Fix drawing of 2D primitives in OpenGL3 renderer
2022-10-14Fix drawing of 2D primitives in OpenGL3 rendererclayjohn
Previously the wrong vertices were used when assembling the second triangle of a quad
2022-10-14Fix error in Web builds that resulting in 2Dclayjohn
objects not drawing in the GLES3 backend. Issue came from not binding a light UBO when using the DISABLE_LIGHTING code path
2022-10-14Make some Image methods statickobewi
2022-10-14Detect Wine and disable unsupported IAudioClient3 interface.bruvzg
2022-10-13Merge pull request #67335 from clayjohn/GLES3-2d-lightsRémi Verschelde
Add 2D lights to OpenGL3 canvas renderer
2022-10-13Merge pull request #67307 from TechnoPorg/lod-radial-distanceRémi Verschelde
Use radial distance for making LOD decisions.
2022-10-12Add 2D lights to OpenGL3 canvas rendererclayjohn
This is an initial implementation using the same single-pass approach as the RenderingDevice.
2022-10-12Use radial distance for making LOD decisions.TechnoPorg
Previously, only forward basis distance from the camera was used. This means that unnecessarily high LOD levels were used for objects located to the side of the camera. The distance from the camera origin is now used, independently of direction.
2022-10-11Merge pull request #67227 from BastiaanOlij/vkCreateRenderPass2KHR_fallbackClay John
Added fallback to vkCreateRenderPass
2022-10-12Added fallback to vkCreateRenderPass if ↵Bastiaan Olij
VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME isn't supported
2022-10-11Merge pull request #67110 from Chaosus/fix_incorrect_vec3_ubo_fillClay John
Fix incorrect offset for vec3 datatypes in `_fill_std140_ubo_empty`
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 #66102 from MJacred/feature/getvideoadapterdriverinfoRémi Verschelde
Fetch video adapter driver name and version from OS
2022-10-11Fetch video adapter driver name and version from OS on Linux/*BSD and WindowsMJacred
2022-10-11Cleanup unused defines in platform codeRémi Verschelde
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-10SCons: Cleanup GCC warnings configurationRémi Verschelde
- Outright disable spammy warnings due to past or present GCC bugs: * `-Wno-strict-overflow` for GCC 7. * `-Wno-type-limits` for GCC before 11 (regressed in 9/10, might work in earlier releases but at this stage we don't care). * `-Wno-return-type` for GCC 12/13 (regression, still not fixed). - Enable extra warnings conditionally when broken on earlier GCC: * `-Wnoexcept` was removed due to an upstream regression in GCC 9, could be re-enabled (but commented out for now as we actually have `-Wnoexcept` warnings to fix. * `-Wlogical-op` was broken on our variadic templates before GCC 11, now seems fine.
2022-10-09Fix incorrect offset for vec3 datatypes in `_fill_std140_ubo_empty`Yuri Rubinsky
2022-10-07Allow clearing backbuffer after finishing CanvasGroupclayjohn
This avoids an issue where having multiple CanvasGroups overlap would create a weird artifact
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-06Use a giant UBO to optimize performance in 2Dclayjohn
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.
2022-10-06Merge pull request #66965 from bruvzg/win_llvmRémi Verschelde
[Windows] Fix LLVM MinGW build.
2022-10-06Merge pull request #64815 from RandomShaper/default_cpu_countRémi Verschelde
Improve default `OS`'s CPU count getter
2022-10-06[Windows] Fix LLVM MinGW build.bruvzg
2022-10-05Keep a single, portable implementation of `OS::get_processor_count()`Pedro J. Estébanez
2022-10-05Merge pull request #66720 from qarmin/unintialized_memoryRémi Verschelde
Remove usage of unitialized variables
2022-10-05Merge pull request #64819 from RandomShaper/enhance_thread_funcsRémi Verschelde
Enhance portability of threading
2022-10-05Merge pull request #66898 from aaronfranke/proj-mat-columnsRémi Verschelde
Rename Projection `matrix` to `columns`
2022-10-05Adding getters to RenderTarget and implementing override functionality for XRBastiaan Olij
2022-10-04Rename Projection `matrix` to `columns`Aaron Franke
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-10-04Enhance portability of threadingPedro J. Estébanez
2022-10-04Merge pull request #65822 from BastiaanOlij/more_reorg_20220915Rémi Verschelde
Move cluster builder, sdfgi and gi structures to clustered renderer, and more
2022-10-04Merge pull request #66858 from clayjohn/GLES3-pix-sizeRémi Verschelde
Properly expose TEXTURE_PIXEL_SIZE in Opengl3 renderer
2022-10-04Merge pull request #66807 from ↵Rémi Verschelde
akien-mga/core-unix-remove-NO_FCNTL-and-NO_STATVFS Unix: Remove now unnecessary I/O defines, cleanup
2022-10-03Properly expose TEXTURE_PIXEL_SIZE in Opengl3 rendererclayjohn
2022-10-04Move cluster builder, sdfgi and gi structures to clustered renderer, move ↵Bastiaan Olij
light and probe elements into storage and reorganise our render_scene method.
2022-10-03Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde
- `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.
2022-10-03Remove NO_THREADS fallback code, Godot 4 requires thread supportRémi Verschelde
This also removes `OS::can_use_threads` from the public API since it's always true.
2022-10-01Remove usage of unitialized variablesRafał Mikrut
2022-09-30Merge pull request #66660 from Sauermann/fix-never-happening-error-conditionRémi Verschelde
Remove ERR_FAIL_COND that never happens in _draw_sky
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-30Remove ERR_FAIL_COND that never happens in _draw_skyMarkus Sauermann
In the conditional `sky` is always true.
2022-09-30Merge pull request #66638 from timothyqiu/rendering-nullRémi Verschelde
Add various null checks in RenderingServer
2022-09-30Merge pull request #66626 from danboo/fix-typo-run-debug-collisonsRémi Verschelde
Fix typos - "collison" -> "collision"
2022-09-30Add various null checks in RenderingServerHaoyu Qiu