summaryrefslogtreecommitdiff
path: root/drivers/vulkan/rendering_device_vulkan.cpp
AgeCommit message (Collapse)Author
2020-06-03Vulkan: Initialize struct members on declarationRémi Verschelde
Supersedes and closes #38945.
2020-05-15Merge pull request #38750 from madmiraal/fix-vulkan-uninitialized-warningRémi Verschelde
Silence mulitple may be used uninitialized warnings in RenderingDeviceVulkan::uniform_set_create()
2020-05-15Silence mulitple may be used uninitialized warnings inMarcel Admiraal
RenderingDeviceVulkan::uniform_set_create()
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-10New lightmapperJuan Linietsky
-Added LocalVector (needed it) -Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too) -Fixes and changes all around the place -Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde
Part of #33027.
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-18Ability to create local RenderingDevice instances.Juan Linietsky
2020-04-15Fixes leaks in ResourceCache, Vulkan and X11qarmin
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-10Shows proper scene render time in editor infoJuan Linietsky
Also fixed GPU profiler, which was not working on nvidia hardware.
2020-04-09Merge pull request #36919 from nekomatata/android-vulkan-renderingRémi Verschelde
Vulkan rendering support on Android
2020-04-08Display Server supportPouleyKetchoupp
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-03-26Added a Window node, and made it the scene root.Juan Linietsky
Still a lot of work to do.
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-09More explicit error messages when vulkan calls return errorsPouleyKetchoupp
2020-03-04Merge pull request #36733 from qarmin/static_analyzer_fixesRémi Verschelde
Fixes bugs found by Sonarcloud and Coverity
2020-03-04Change when we can ERR_FAIL_COND and ERR_FAIL_CONV_V to static_assertMateo Dev .59
2020-03-02Fixes bugs found by Sonarcloud and Coverityqarmin
2020-02-22Correct condition wrongly converted to ERR_FAIL_COND_MSGJuan Linietsky
Fixes debugging of giprobes not working, likely other stuff
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-14Fix various GCC compilation warnings after Vulkan mergeRémi Verschelde
Part of #36132.
2020-02-11Vulkan: Move thirdparty code out of drivers, style fixesRémi Verschelde
- `vk_enum_string_helper.h` is a generated file taken from the SDK (Vulkan-ValidationLayers). - `vk_mem_alloc.h` is a library from GPUOpen: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11Auto exposure re-implemented in VulkanJuan Linietsky
2020-02-11Several fixes to GIProbesJuan Linietsky
2020-02-11Use a different strategy to get textures from GPU (via buffers), for more ↵Juan Linietsky
compatibility.
2020-02-11Improve HiDPI handling, fix incorrect window viewport clipping.bruvzg
2020-02-11Dynamic object support for GI Probes (a bit buggy still)Juan Linietsky
2020-02-11More GIProbe work and fixesJuan Linietsky
2020-02-11Better GIProbe quality settings.Juan Linietsky
2020-02-11GIProbes working.Juan Linietsky
2020-02-11Untested support for compute shadersJuan Linietsky
2020-02-11Visual GPU profiler and related profiling support in Vulkan.Juan Linietsky
2020-02-11Several fixes to 3D rendering, and multimesh implementation.Juan Linietsky
2020-02-11Rewrote large part of rendering, omni and spot shadows now work.Juan Linietsky
2020-02-11Environment sky more or less working.Juan Linietsky
2020-02-11Yay very basic 3D (only white) finally shows.Juan Linietsky
2020-02-11Base 3D engine done, still untested, though.Juan Linietsky