summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2021-07-03Fix Render Inforeduz
* Fixed and redone the process to obtain render information from a viewport * Some stats, such as material changes are too difficult to guess on Vulkan, were removed. * Separated visible and shadow stats, which causes confusion. * Texture, buffer and general video memory can be queried now. * Fixed the performance metrics too.
2021-06-30Enum constant in boolean contextK. S. Ernest (iFire) Lee
error: enum constant in boolean context [-Werror=int-in-bool-context]
2021-06-28Fix Context Validation Layer Errorsreduz
* Multisampling was wrongly selected, possibly fixes #49937 * Image semaphore acquisition is now per window, possibly fixes #41614 Please make sure to test the above two issues again, since I can't reproduce either anyway.
2021-06-24Implement Framebuffer Subpass supportreduz
* Required for better optimizing mobile platforms * Will be used by the Vulkan mobile renderer.
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-13Add stereoscopic rendering through multiviewBastiaan Olij
2021-06-12Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde
Add a Time singleton
2021-06-11Merge pull request #47835 from mortarroad/master-lossless-webpRémi Verschelde
Implement lossless WebP encoding
2021-06-11Implement lossless WebP encodingMorris Tabor
2021-06-11Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11Merge pull request #49279 from Calinou/rename-string-is-abs-path-methodRémi Verschelde
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11Add Time singletonAaron Franke
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-11Merge pull request #49506 from akien-mga/vulkan_prefer_discrete_gpuRémi Verschelde
Prefer discrete GPU over integrated one
2021-06-11Prefer discrete GPU over integrated oneBlazej Floch
This unblocks launching on Linux laptops that default to the integrated GPU which can not handle Vulkan in many instances. Ideally a manual device selection, or an option for the optimal selection strategy should be provided via CLI or config, but for the time being this will unblock the Linux devs. Partially addresses #42348 and #43714
2021-06-07FileAccess: Don't err in `store_buffer` with buffer of size 0Rémi Verschelde
The error check was added for `FileAccessUnix` but it's not an error when both `p_src` and `p_length` are zero. Added correct error checks to all implementations to prevent the actual erroneous case: `p_src` is nullptr but `p_length > 0` (risk of null pointer indexing). Fixes #33564.
2021-06-07Style: Cleanup uses of double spaces between wordsRémi Verschelde
Or after punctuation. Tried to leave third-party stuff alone, unless it has been heavily modified for Godot.
2021-06-03Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio
This is more consistent with `NodePath.is_absolute()`.
2021-06-03Merge pull request #48350 from RandomShaper/fix_alsamidi_crashRémi Verschelde
Fix crash when using ALSA MIDI with PulseAudio
2021-06-03Fix crash when using ALSA MIDI with PulseAudioPedro J. Estébanez
2021-06-01Merge pull request #49026 from sarchar/multiple-dns-resolvesRémi Verschelde
2021-06-01Move remaining dummy drivers to servers.Fabio Alessandrelli
2021-06-01LinuxBSD now compiles without vulkan/x11.Fabio Alessandrelli
2021-06-01Remove server platformFabio Alessandrelli
2021-06-01Add DisplayServerDummy for headless display.Fabio Alessandrelli
Uses RasterizerDummy internally. This is always compiled in, maybe we should add a switch to enable/disable it via scons?
2021-06-01Sync RasterizerDummy changes.Fabio Alessandrelli
2021-06-01Support multiple address resolution in DNS requestsChuck
Add two new functions to the IP class that returns all addresses/aliases associated with a given address. This is a cherry-pick merge from 010a3433df43a94fee95474360ffa6662c7441b9 which was merged in 2.1, and has been updated to build with the latest code. This merge adds two new methods IP.resolve_hostname_addresses and IP.get_resolve_item_addresses that returns a List of all addresses returned from the DNS request.
2021-05-31Fix `Directory::get_space_left()` result on macOS and Linux.bruvzg
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-24Add GDNative Framework loading and export support.bruvzg
2021-05-22Add symlink API to the DirAccess (on macOS and Linux).bruvzg
2021-05-20Change behavior of String.rightTomasz Chabora
2021-05-20Merge pull request #48719 from Faless/js/4.x_interfacesRémi Verschelde
[HTML5] Implement Godot <-> JavaScript interface.
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-14Sync DummyRasterizer.Fabio Alessandrelli
2021-05-13Handle having no sinks in the PulseAudio driver.R. Alex Hofer
Also make PulseAudio errors more verbose.
2021-05-08Remove debugging prints in the Linux DisplayServerHugo Locurcio
Some Vulkan debugging prints were also changed to be printed only in verbose mode.
2021-05-07Sync RasterizerDummy with latest changes.Fabio Alessandrelli
2021-05-06Merge pull request #37700 from Calinou/rename-ip-unix-tcp-serverRémi Verschelde
Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores
2021-05-06Cleanup vulkan capabilities check and add multiview checkBastiaan Olij
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-03Tweak warning messages related to leaked RIDsHugo Locurcio
- Use hardcoded pluralization for messages. - Since these messages are English-only, it's fine to hardcode it. - Use double quotes for consistency with other messages.
2021-04-30Merge pull request #48336 from bruvzg/fix_mixed_url_decodeRémi Verschelde
Fix `url_decode` with mixed percent-encoding/Unicode strings.
2021-04-30Fix `url_decode` with mixed percent-encoding/Unicode strings. Treat Unix ↵bruvzg
drive names as UTF-8 encoded.
2021-04-29Sync RasterizerDummy.Fabio Alessandrelli
2021-04-29Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.