summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky2020-03-265-10/+10
|
* Merge pull request #37219 from RajatGoswami/missing-include-guardsRémi Verschelde2020-03-231-3/+7
|\ | | | | Adding missing include guards to header files identified by LGTM
| * Adding missing include guards to header files identified by LGTM.Rajat Goswami2020-03-231-3/+7
| | | | | | | | This addresses the issue godotengine/godot#37143
* | Merge pull request #37179 from clayjohn/VULKAN-sky-shaderRémi Verschelde2020-03-222-0/+8
|\ \ | | | | | | Implement Sky Shaders
| * | Working sky shader implementationclayjohn2020-03-213-11/+6
| | |
| * | Add shader based background modeBastiaan Olij2020-03-194-0/+13
| |/
* / Make file formatting comply with POSIX and Unix standardsAaron Franke2020-03-211-1/+1
|/ | | | UTF-8, LF, no BOM, and newlines at the end of files
* Style: Set clang-format Standard to Cpp11Rémi Verschelde2020-03-177-26/+26
| | | | | | | | | | For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
* Merge pull request #36905 from Faless/js/restore_and_ciRémi Verschelde2020-03-112-95/+166
|\ | | | | Resurrect HTML5 platform, add it to CI (no rendering yet)
| * OS_Javascript temporarly uses dummy rasterizer.Fabio Alessandrelli2020-03-081-1/+1
| |
| * Restore dummy rasterizerFabio Alessandrelli2020-03-081-94/+165
| | | | | | | | | | Not all functionalities are back, but it compiles and runs minimal project.
* | Revert "Enhanced physical device selection to use device type and available ↵Rémi Verschelde2020-03-101-33/+2
| | | | | | | | | | | | memory in relation to issue #35397" This reverts commit 4f3006e5ac30d00b90eb531f3bdfd4bfa0d4025b.
* | Initializes VulkanContext::queue_props to NULLHaoyu Qiu2020-03-101-0/+1
| |
* | Merge pull request #36751 from Faless/debugger/threads_and_profilersRémi Verschelde2020-03-091-4/+6
|\ \ | | | | | | ScriptDebugger refactor, threading, profilers.
| * | Refactor ScriptDebugger.Fabio Alessandrelli2020-03-081-4/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.
* / More explicit error messages when vulkan calls return errorsPouleyKetchoupp2020-03-091-49/+35
|/
* Merge pull request #36752 from RandomShaper/rework_semaphoreRémi Verschelde2020-03-055-306/+0
|\ | | | | Drop old semaphore implementation
| * Drop old semaphore implementationPedro J. Estébanez2020-03-035-306/+0
| | | | | | | | | | | | | | | | | | | | | | | | - Removed platform-specific implementations. - Now all semaphores are in-object, unless they need to be conditionally created. - Similarly to `Mutex`, provided a dummy implementation for when `NO_THREADS` is defined. - Similarly to `Mutex`, methods are made `const` for easy use in such contexts. - Language bindings updated: `wait()` and `post()` are now `void`. - Language bindings updated: `try_wait()` added. Bonus: - Rewritten the `#ifdef` in `mutex.h` to meet the code style.
* | Merge pull request #36792 from akien-mga/vulkan-better-debug-printsRémi Verschelde2020-03-041-24/+22
|\ \ | | | | | | Vulkan: Use Godot print macros matching MessageSeverity flag
| * | Vulkan: Use Godot print macros matching MessageSeverity flagRémi Verschelde2020-03-041-24/+22
| | | | | | | | | | | | | | | | | | | | | Otherwise any verbose/info/warning debug message from Vulkan would raise an error, confusing users about the severity of the message. Cf. #36185, #36790.
* | | Merge pull request #36733 from qarmin/static_analyzer_fixesRémi Verschelde2020-03-041-1/+4
|\ \ \ | | | | | | | | Fixes bugs found by Sonarcloud and Coverity
| * | | Fixes bugs found by Sonarcloud and Coverityqarmin2020-03-021-1/+4
| | |/ | |/|
* | | Merge pull request #36069 from RandomShaper/imvu/improve_drives_uxRémi Verschelde2020-03-044-5/+15
|\ \ \ | | | | | | | | Improve UX of drive letters
| * | | Improve UX of drive lettersPedro J. Estébanez2020-03-034-5/+15
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Namely, move the drive dropdown to just the left of the path text box and don't include the former in the latter. This improves the UX on Windows. In the UNIX case, since its concept of drives is (ab)used to provide shortcuts to useful paths, its dropdown is kept at the original location.
* | | Merge pull request #36385 from kuruk-mm/some_static_assertsRémi Verschelde2020-03-041-1/+1
|\ \ \ | |_|/ |/| | Change when we can ERR_FAIL_COND and ERR_FAIL_CONV_V to static_assert
| * | Change when we can ERR_FAIL_COND and ERR_FAIL_CONV_V to static_assertMateo Dev .592020-03-041-1/+1
| | |
* | | Merge pull request #36585 from disks86/masterRémi Verschelde2020-03-041-2/+33
|\ \ \ | |/ / |/| | Enhanced physical device selection
| * | Enhanced physical device selection to use device type and available memory ↵Christopher Joseph Dean Schaefer2020-02-281-2/+33
| | | | | | | | | | | | in relation to issue #35397
* | | os: execute parse the command output from utf8Mateo Dev .592020-03-031-1/+1
| |/ |/|
* | Adds null check of pMessageIdNameHaoyu Qiu2020-02-291-1/+1
| |
* | Removed interactive loader, added proper thread loading.Juan Linietsky2020-02-282-2/+2
| |
* | Merge pull request #36556 from RandomShaper/rework_mutexRémi Verschelde2020-02-2817-373/+25
|\ \ | | | | | | Reimplement `Mutex` with C++'s `<mutex>` (plus more)
| * | Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez2020-02-2617-373/+25
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
* | Merge pull request #36186 from Calinou/remove-vulkan-debugging-printsRémi Verschelde2020-02-271-10/+1
|\ \ | |/ |/| Remove Vulkan debugging prints
| * Remove Vulkan debugging printsHugo Locurcio2020-02-131-10/+1
| |
* | Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky2020-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
* | Merge pull request #36454 from akien-mga/vulkan-workaround-32-bit-lib-errorRémi Verschelde2020-02-221-2/+9
|\ \ | | | | | | Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs
| * | Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDsRémi Verschelde2020-02-221-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the vast majority of cases, this will be a false positive error thrown by Vulkan-Loader when a Linux system has Vulkan ICDs for both 32-bit and 64-bit. The error is of the form: ``` ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32 ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32 ``` The loader dlopen's the 32-bit ICDs first, raises this error, and then happily goes on to try and use the 64-bit ICDs. Upstream report: https://github.com/KhronosGroup/Vulkan-Loader/issues/262 Fixes #36185.
* | | Correct condition wrongly converted to ERR_FAIL_COND_MSGJuan Linietsky2020-02-221-1/+1
|/ / | | | | | | Fixes debugging of giprobes not working, likely other stuff
* | Add iphone to vulkan drivers SCsubSam Green2020-02-211-0/+8
| |
* | Merge pull request #36367 from IronicallySerious/rem-audio-driver-dummyRémi Verschelde2020-02-191-58/+0
|\ \ | | | | | | Remove unused driver/dummy/audio_driver_dummy.h
| * | Remove unused driver/dummy/audio_driver_dummy.hTwarit2020-02-201-58/+0
| | |
* | | Merge pull request #36357 from ↵Rémi Verschelde2020-02-191-1/+3
|\ \ \ | | | | | | | | | | | | | | | | MateoMiccino/rendering_vulkan_vertexdescriptionkey_fix rendering_vulkan: VertexDescriptionKey equal comparator was checking …
| * | | rendering_vulkan: VertexDescriptionKey equal comparator was checking only ↵Mateo Dev .592020-02-191-1/+3
| |/ / | | | | | | | | | the first element of his vector of VertexDescription
* / / Fix set_reuse_address on non-Windows platforms.Fabio Alessandrelli2020-02-191-2/+0
|/ / | | | | | | Broken after cae0d8853d7a373ad8720289c12c7c2e7b5ef240 .
* | Merge pull request #36321 from Faless/net/win_tcp_noreuseRémi Verschelde2020-02-181-3/+10
|\ \ | | | | | | Disable NetSocket reuse address on Windows.
| * | Disable NetSocket reuse address on Windows.Fabio Alessandrelli2020-02-181-3/+10
| | | | | | | | | | | | It actually means reuse port -.- ...
* | | Merge pull request #36296 from Faless/dtls/enet_vulkanRémi Verschelde2020-02-182-3/+3
|\ \ \ | | | | | | | | DTLS support + optional ENet encryption
| * | | Add peek option to NetSocket recv_from.Fabio Alessandrelli2020-02-162-3/+3
| | | |
* | | | Merge pull request #36320 from madmiraal/fix-c4996-warning-vulkan_contextRémi Verschelde2020-02-181-57/+62
|\ \ \ \ | |_|/ / |/| | | Fix VisualStudio throwing multiple C4996 warnings in vulkan_context.cpp.