summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2020-05-10Style: clang-format: Disable AllowShortIfStatementsOnASingleLineRémi Verschelde
Part of #33027, also discussed in #29848. Enforcing the use of brackets even on single line statements would be preferred, but `clang-format` doesn't have this functionality yet.
2020-04-30Improve shader time roll overPedro J. Estébanez
- Resurrect it for GL ES 2 - Add it to the Vulkan rasterizer - Expose the setting from the `RenderingServer`, since it does not belong in any specific rasterizer
2020-04-29Merge pull request #37795 from Chaosus/shader_fix_const_order2Rémi Verschelde
Fix shader constant sorting
2020-04-26[Vulkan] Use `VK_LAYER_KHRONOS_validation` instead of deprecated ↵bruvzg
`VK_LAYER_LUNARG_standard_validation`.
2020-04-23Merge pull request #36083 from Calinou/dummy-loader-add-extensionsRémi Verschelde
Add more extensions to the dummy texture loader
2020-04-21Add proper type to most public API uses of ArrayJuan Linietsky
2020-04-20Exposed RenderingDevice to script APIJuan Linietsky
Also added an easier way to load native GLSL shaders. Extras: Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload. Note: The precommit hooks are broken because they don't seem to support enums from one class being used in another. Feel free to fix this after merging this PR.
2020-04-20Merge pull request #38056 from clayjohn/GLES2-depth-bufferRémi Verschelde
Use proper depth buffer format for rgba shadows
2020-04-20Use proper depth buffer format for rgba shadowsclayjohn
2020-04-18Ability to create local RenderingDevice instances.Juan Linietsky
2020-04-15Fixes leaks in ResourceCache, Vulkan and X11qarmin
2020-04-14Merge pull request #37881 from qarmin/leak_vulkanRémi Verschelde
Fixes leaks with Vulkan device and instance
2020-04-14Fixes leaks with Vulkan device and instanceqarmin
2020-04-14Implement decalsJuan Linietsky
Also implemented decal atlas, so projectors and other stuff can be added. Sidenote: Had to make RID hashable, so some unrelated includes changed in order to include it in hashfuncs.h
2020-04-12Implement MSAAJuan Linietsky
2020-04-11Merge pull request #37808 from reduz/port-effects-to-computeJuan Linietsky
Moved most of the effect code to compute.
2020-04-11Moved most of the effect code to compute.Juan Linietsky
Simplifies it and improves performance. Improves image barrier handling per mipmap on RenderingDeviceVulkan
2020-04-11Fix shader constant sortingYuri Roubinsky
2020-04-10Shows proper scene render time in editor infoJuan Linietsky
Also fixed GPU profiler, which was not working on nvidia hardware.
2020-04-10Fix extra warnings in Android buildPouleyKetchoupp
2020-04-09Merge pull request #36919 from nekomatata/android-vulkan-renderingRémi Verschelde
Vulkan rendering support on Android
2020-04-08Add more extensions to the dummy texture loaderHugo Locurcio
This should make headless exporting work in projects using textures in any format. Error messages should no longer appear when running a project that used image formats that were previously not present in the list.
2020-04-08Display Server supportPouleyKetchoupp
2020-04-07Avoid material rebinds when using skeletonsclayjohn
2020-04-07Merge pull request #37586 from qarmin/vulkan_allocator_leakRémi Verschelde
Fix leak with Vulkan allocator
2020-04-06Merge pull request #37635 from qarmin/leak_vertexRémi Verschelde
Fixed leak with vertex_formats
2020-04-06Fixed leak with vertex_formatsqarmin
2020-04-06Vulkan: Use VK_NULL_HANDLE for handles, fixes 32-bit buildsRémi Verschelde
Some Vulkan types are defined as "non dispatchable handles" and use a different typedef on 32-bit and 64-bit systems (struct pointer on 64-bit, `uint64_t` otherwise). https://github.com/KhronosGroup/Vulkan-Headers/blob/0e78ffd1dcfc3e9f14a966b9660dbc59bd967c5c/include/vulkan/vulkan_core.h#L59-L65 Contrarily to `NULL`, `nullptr` can't be converted to `uint64_t` so build was now failing on 32-bit after converting the codebase from using `NULL` to `nullptr`. Fixes #37620.
2020-04-04Fix leak with Vulkan allocatorqarmin
2020-04-03Vulkan rendering for AndroidPouleyKetchoupp
2020-04-02Replace NULL with nullptrlupoDharkael
2020-04-01Fix res:// trimmed to s:// on WindowsPedro J. Estébanez
2020-03-31doc: Sync classref with DisplayServer/Window changesRémi Verschelde
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
2020-03-26Added a Window node, and made it the scene root.Juan Linietsky
Still a lot of work to do.
2020-03-26Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky
2020-03-23Merge pull request #37219 from RajatGoswami/missing-include-guardsRémi Verschelde
Adding missing include guards to header files identified by LGTM
2020-03-23Adding missing include guards to header files identified by LGTM.Rajat Goswami
This addresses the issue godotengine/godot#37143
2020-03-22Merge pull request #37179 from clayjohn/VULKAN-sky-shaderRémi Verschelde
Implement Sky Shaders
2020-03-21Working sky shader implementationclayjohn
2020-03-21Make file formatting comply with POSIX and Unix standardsAaron Franke
UTF-8, LF, no BOM, and newlines at the end of files
2020-03-19Add shader based background modeBastiaan Olij
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
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`.
2020-03-11Merge pull request #36905 from Faless/js/restore_and_ciRémi Verschelde
Resurrect HTML5 platform, add it to CI (no rendering yet)
2020-03-10Revert "Enhanced physical device selection to use device type and available ↵Rémi Verschelde
memory in relation to issue #35397" This reverts commit 4f3006e5ac30d00b90eb531f3bdfd4bfa0d4025b.
2020-03-10Initializes VulkanContext::queue_props to NULLHaoyu Qiu
2020-03-09Merge pull request #36751 from Faless/debugger/threads_and_profilersRémi Verschelde
ScriptDebugger refactor, threading, profilers.
2020-03-09More explicit error messages when vulkan calls return errorsPouleyKetchoupp
2020-03-08Refactor ScriptDebugger.Fabio Alessandrelli
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.