summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2021-11-01Merge pull request #54404 from ibrahn/pulsedriver-less-cowrefRémi Verschelde
2021-11-01Fix memory leak when using CurveTexture.set_texture_modeHaoyu Qiu
2021-10-31Merge pull request #54307 from Calinou/add-opengl-renderer-squashRémi Verschelde
Add OpenGL renderer (squashed)
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-30Disallow compute dispatch with zero dimensions.Brian Semrau
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-30Add GLES2 2D renderer + Linux display managerlawnjelly
First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-29AudioDriverPulseAudio: move Vector Cow access outside tight loop.Ibrahn Sahir
Replaced some in-loop uses of Vector.write with an out of loop ptrw, to avoid a lot of superfluous reads on the CowData ref count.
2021-10-29Merge pull request #54340 from aaronfranke/time-docMax Hilbrunner
Update and fix Time documentation
2021-10-28Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFogclayjohn
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28Update Time documentationAaron Franke
2021-10-28clang-format: Various fixes to comments alignment from `clang-format` 13Rémi Verschelde
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-26Save all 64 bits of get_ticks_msec() in more casesMax Hilbrunner
2021-10-20doctool: Fix differences between headless and Vulkan rendering backendsRémi Verschelde
Fixes #53913.
2021-10-14Implement toast notifications in the editorGilles Roudière
2021-10-12Merge pull request #53712 from CakHuri/nullptrRémi Verschelde
Replace NULL with nullptr
2021-10-12Build for 64-bit ARM by default when compiling or exporting for AndroidHugo Locurcio
All Android devices that support Vulkan support 64-bit ARM. This also removes NEON opt-out code for ARMv7 as pretty much all ARMv7 devices also support NEON.
2021-10-12Replaced NULL with nullptrM. Huri
2021-10-06Merge pull request #53408 from EIRTeam/fix_wasapi_output_latencyRémi Verschelde
2021-10-06Make WASAPI return accurate latency informationÁlex Román Núñez
2021-10-05Merge pull request #52963 from Pineapple/WIN32_LEAN_AND_MEAN_masterRémi Verschelde
2021-10-02Merge pull request #43068 from cooperra/rename-fixRémi Verschelde
2021-10-01Initialize AudioClientPropertiesFrixuu
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-29Rename RID's `getornull()` to `get_or_null()`Hugo Locurcio
2021-09-23Add missing WIN32_LEAN_AND_MEANBartłomiej T. Listwon
2021-09-17Merge pull request #52464 from raulsntos/fix_buffer_info_uninitializedRémi Verschelde
2021-09-17Fix buffer_info may be used uninitializedRaul Santos
2021-09-15Merge pull request #52562 from BastiaanOlij/gd_extensions_register_driversRémi Verschelde
Add driver types to GD extension initialisation levels
2021-09-14Print the Vulkan API version and device used on the same lineHugo Locurcio
This matches Godot 3.x's OpenGL renderer behavior and is more compact.
2021-09-14Fix startup warning - Property not found: `audio/output_latency`Yuri Roubinsky
2021-09-13Add driver types to GD extension initialisation levelsBastiaan Olij
2021-09-12Merge pull request #51604 from TechnoPorg/fix-vulkan-parent-materialJFonS
Vulkan: Fix CanvasItem::use_parent_material
2021-09-09Expose Vulkan internal values for access from extensionsBastiaan Olij
2021-08-29Rename String::is_rel_path to String::is_relative_pathWilson E. Alvarez
2021-08-26Optionally scale 3D render contentBastiaan Olij
2021-08-23Merge pull request #51947 from AnilBK/redundant-assignmentsMichael Alexsander
[cppcheck] Remove some redundant assignments.
2021-08-22Merge pull request #38210 from benjarmstrong/wasapi-audio-output-latencyK. S. Ernest (iFire) Lee
Add support for variable output latency in WASAPI audio driver
2021-08-21Remove redundant assignments.Anilforextra
Use used_in_transfer instead of used_in_compute twice.
2021-08-17Fixes to mobile rendererreduz
* Make sure shaders are named, to aid in debug in case of failure * SceneRenderRD was being wrongly initialized (virtual functions being called when derivative class not initialized). * Fixed some bugs resulting on the above being corrected.
2021-08-17Vulkan: Fix CanvasItem::use_parent_materialTechnoPorg
The "Use Parent Material" option now does something when enabled on a CanvasItem. As before, it's not just limited to a node's direct parent but can move up the tree until it finds a material. Also corrected a typo in rendering_device_vulkan.h that didn't merit its own commit.
2021-08-17Fix init code so it works properly on Vulkan 1.1 devicesBastiaan Olij
2021-08-13Upgrade Vulkan memory allocatorPedro J. Estébanez
2021-08-12Android: Use volk instead of NDK Vulkan headersRémi Verschelde
We no longer build the Vulkan loader, and volk lets us load it dynamically. Roblox uses volk on Android so it should work well for us too.
2021-08-12Use "volk" instead of statically linked Vulkan loader.bruvzg
2021-08-10Fixes and optimizations to mobile rendererreduz
* Only apply final actions to attachments used in the last pass. * Fixes to draw list final action (was using continue instead of read/drop). * Profiling regions inside draw lists now properly throw errors. * Ability to enable gpu profile printing from project settings. (used to debug).
2021-08-10FileAccessWindows: Add missing share.h includeRémi Verschelde
Follow-up to #51430.
2021-08-09FileAccessWindows: Cosmetic improvementsMax Hilbrunner
2021-08-09Fix Windows platform file accessMax Hilbrunner
This restores Windows platform file handling back to open files non-exlusively by default, as was the case before October 2018. (See https://github.com/godotengine/godot/commit/b902a2f2a7438810cdcb053568ed5c27089b1e8a) Back then, while fixing warnings for MSVC, the function used for opening files was changed from _wfopen() to _wfopen_s() as suggsted by the warning C4996. ("This function may be unsafe, consider using _wfopen_s instead.") This new function 1. did parameter validation and thus avoided some possible security issues due to nil pointers or wrongly terminated strings 2. it also changed the default file sharing for opened files from _SH_DENYNO (which was the implicit default for the previous _wfopen()) to _SH_SECURE. _SH_DENYNO means every opened file could be opened by other calls (like is the default on other operating systems). _SH_SECURE means if the file is opened with READ access, others can still read the same file, but if it is opened with WRITE access, others can't open it at all, not even to read. This led to rarely occuring bugs on Windows, i.e. due to random access by Antivirus processes, or Godot/Windows not closing a file handle fast enough while trying to open it again elsewhere (i.e. project.godot, instead showing the Project manager, or saving shaders/debugging the game). What this PR does it change the file access to a third method, _wfsopen(). This is still secure, doing parameter validation and thus avoids the warning, but it allows us to actually SET the file sharing parameter. And we set it to _SH_DENYNO, as it was implicitely before the change. (And as it currently is on all non-Windows platforms, where file sharing restrictions don't exist by default.) Warning C4996 should really have been pointing this out. It should've been _wfsopen() all along. Let's hope this banishes those annoying, rare errors for all eternity. Fixes #28036.