Commit Graph

26655 Commits

Author SHA1 Message Date
Juan Linietsky 2af701fa03 Use a different strategy to get textures from GPU (via buffers), for more compatibility. 2020-02-11 12:04:54 +01:00
Rémi Verschelde a60edae506 Merge pull request #32950 from RandomShaper/fix_rid_alloc
Fix bugs in `RID_Alloc`
2020-02-11 12:04:42 +01:00
Pedro J. Estébanez e38ae8d7e4 Fix bugs in `RID_Alloc`
- Replace unintended `%` with `&`
- `get_owned_list()`: make thread-safe and fix logic
- Apply same logic fix to the destructor

Previously, the determination of owned RIDs was wrong. For instance, it could skip owned items or include duplicates in the list.

Avoids the engine crashing at exit.
2020-02-11 12:04:41 +01:00
Rémi Verschelde f3f446ac75 Merge pull request #32914 from RandomShaper/fix_template_compile
Fix export template compilation
2020-02-11 12:04:36 +01:00
Pedro J. Estébanez 19e294e29b Fix export template compilation 2020-02-11 12:04:31 +01:00
Rémi Verschelde a8e14bee58 Merge pull request #32821 from bruvzg/vlk_fix_macos_exit
[Vulkan, macOS] Fix RID leaks and crashes on exit.
2020-02-11 12:04:20 +01:00
bruvzg a85923b972 Move Vulkan context/rendering_device destruction to windowWillClose notification. 2020-02-11 12:04:16 +01:00
Rémi Verschelde d10406a59a Merge pull request #32818 from bruvzg/vlk_fix_hidpi_and_resize
[Vulkan, macOS] Improve HiDPI handling, fix incorrect window viewport clipping.
2020-02-11 12:04:08 +01:00
bruvzg d5df1b651c Improve HiDPI handling, fix incorrect window viewport clipping. 2020-02-11 12:04:04 +01:00
Juan Linietsky 2c67cc654f AO support for GIProbe (right on time for Godot Sprint!) 2020-02-11 12:03:55 +01:00
Juan Linietsky 76c6f39d99 GIProbe now generates a distance field on bake using CPU, for better compatibility 2020-02-11 12:03:54 +01:00
Juan Linietsky 561b431d85 Dynamic object support for GI Probes (a bit buggy still) 2020-02-11 12:03:52 +01:00
Juan Linietsky a95fb114ba Fixed 2D and 3D CPU Particles 2020-02-11 12:03:50 +01:00
Juan Linietsky 6ee2f5e6b6 More GIProbe work and fixes 2020-02-11 12:03:49 +01:00
Rémi Verschelde 6075c5f9bf Merge pull request #32560 from bruvzg/vlk_v3_fix
[Vulkan] Fix Vector3 ambiguities and out of bounds init.
2020-02-11 12:03:44 +01:00
bruvzg 26318f3bd1 Fix Vector3 ambiguities and out of bounds init. 2020-02-11 12:03:39 +01:00
Juan Linietsky fb739f9da7 Fixed display menu visualizations. 2020-02-11 12:03:24 +01:00
Juan Linietsky 965185c765 Better GIProbe quality settings. 2020-02-11 12:03:23 +01:00
Juan Linietsky fa548b052e Missing proper comparison for depth pre-pass. 2020-02-11 12:03:21 +01:00
Juan Linietsky acf0f6c8a7 GIProbes working. 2020-02-11 12:03:20 +01:00
Rémi Verschelde 52f96abd8b Merge pull request #32389 from akien-mga/vulkan
Better format generated shader headers
2020-02-11 12:03:11 +01:00
Rémi Verschelde 3695c08782 basis_universal: Use proper basisu_transcoder.h header, fixes Clang build
Also renames bu to basisu to be more explicit and match upstream name.
2020-02-11 12:03:07 +01:00
Rémi Verschelde af6a3a419a Better format generated shader headers 2020-02-11 12:03:05 +01:00
Juan Linietsky d5cf1a872b Fixes to Basis Universal. 2020-02-11 12:02:59 +01:00
Rémi Verschelde 339cab7b53 Merge pull request #32385 from akien-mga/vulkan_basis
Vulkan: Fixes to bundled basis_universal and glslang
2020-02-11 12:02:54 +01:00
Rémi Verschelde 65ad12e79a glslang: Disable warnings and allow unbundling 2020-02-11 12:02:50 +01:00
Rémi Verschelde 7458a601ce basis_universal: Fix py3 build and document license and provenance
Also drop unneeded files.

Fix build with MinGW. Closes #32384.
2020-02-11 12:02:45 +01:00
Juan Linietsky 4aea9f74e6 Rewritten StreamTexture for better code reuse, added basis universal support 2020-02-11 12:02:36 +01:00
Juan Linietsky 263bebe023 Untested support for compute shaders 2020-02-11 12:02:34 +01:00
Rémi Verschelde f55332ffad Merge pull request #32298 from Chaosus/vk_fix_typo
[Vulkan] Fix typo in shading modes
2020-02-11 12:02:28 +01:00
Yuri Roubinsky ca66fec570 [Vulkan] Fix typo in shading modes 2020-02-11 12:02:24 +01:00
Juan Linietsky b08f13d558 Skeletons are now working. 2020-02-11 12:02:17 +01:00
Rémi Verschelde e3b76fd040 Merge pull request #32281 from Chaosus/vk_shader_array_varying2
[Vulkan] Implement shader array support for varyings
2020-02-11 12:02:06 +01:00
Yuri Roubinsky bfa834a78a [Vulkan] Implement shader array support for varyings
Remake of #32175
2020-02-11 12:02:02 +01:00
Rémi Verschelde d08bf966eb Merge pull request #32280 from Chaosus/vk_shader_switch2
[Vulkan] Implements switch flow control operator in shaders
2020-02-11 12:01:59 +01:00
Yuri Roubinsky d51b7aafb5 [Vulkan] Implements switch flow control operator in shaders 2020-02-11 12:01:49 +01:00
Juan Linietsky bc3dbe8240 Properly working instancing, and compatibility fixing for old meshes 2020-02-11 12:01:33 +01:00
Juan Linietsky 123ee5995c Visual GPU profiler and related profiling support in Vulkan. 2020-02-11 12:01:26 +01:00
Juan Linietsky dc32083681 Proper texture reloading (was broken). 2020-02-11 12:01:25 +01:00
Juan Linietsky dd3682e5fe Modernized default 3D material, fixes material bugs. 2020-02-11 12:01:24 +01:00
Juan Linietsky 6deffa62fb Several fixes to 3D rendering, and multimesh implementation. 2020-02-11 12:01:22 +01:00
Juan Linietsky 9d7b7f931b Reflection probes working 2020-02-11 12:01:21 +01:00
Juan Linietsky 69e83e4815 Directional light cleanup. 2020-02-11 12:01:21 +01:00
Juan Linietsky 88a7debbbc Directional lights and shadow mapping are functional. 2020-02-11 12:01:20 +01:00
Juan Linietsky 920db604d2 Rewrote large part of rendering, omni and spot shadows now work. 2020-02-11 12:01:18 +01:00
Juan Linietsky 1d871f6226 Tonemapping ported (not all parameters supported yet, only enough to get correct color) 2020-02-11 12:01:09 +01:00
Juan Linietsky 2d6a916835 Environment sky more or less working. 2020-02-11 12:01:05 +01:00
Rémi Verschelde f7aa7927e7 Merge pull request #31527 from Chaosus/vk_shader_array_support2
[Vulkan] Implemented local shader arrays
2020-02-11 12:00:53 +01:00
Yuri Roubinski ef50752292 [Vulkan] Implemented local shader arrays 2020-02-11 12:00:46 +01:00
Rémi Verschelde 86d0d88b42 Merge pull request #31526 from Chaosus/shader_bug_vk2
[Vulkan] Fix ternary operator shader compiler expression
2020-02-11 12:00:16 +01:00