summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2021-07-22Fix MoltenVK static linking on macOS (add missing include path, Vulkan SDK ↵bruvzg
path option, use xcframework instead of static framework).
2021-07-15Fixes to forward mobilereduz
* 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.
2021-07-12Use specialization constants in clustered rendererreduz
* 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.
2021-07-11Implement Specialization Constantsreduz
* Added support to our local copy of SpirV Reflect (which does not support it). * Pass them on render or compute pipeline creation. * Not implemented in our shaders yet.
2021-07-10Merge pull request #48622 from Geometror/reimplement-disableable-vsyncHugo Locurcio
2021-07-07Fix material invalidation on reimport.reduz
* IF a texture was reimported (calling replace as an example), it would invalidate all materials using it, causing plenty of errors. * Added the possibility to get a notification when a uniform set is erased. * With this notification, materials can be queued for update properly.
2021-07-07Fix threaded update for texturesreduz
* Previews and other stuff now works again. * Not the best solution, will have to be improved in the future usinc async queues where supported.
2021-07-06Restructure and reimplement vsync optionsHendrik Brucker
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX -Removed the V-Sync via Compositor option
2021-07-05Merge pull request #50048 from Calinou/remove-travis-codeRémi Verschelde
Remove unused code related to Travis CI
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-07-01Remove unused code related to Travis CIHugo Locurcio
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