summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/rendering_device_vulkan.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix may be used unitialized warnings in _render_pass_create()Marcel Admiraal2020-05-191-6/+31
| | | | | | | | and _draw_list_insert_clear_region()
* | Merge pull request #40450 from asmaloney/spellingRémi Verschelde2020-07-211-11/+11
|\ \ | | | | | | Fix spelling & grammar in comments, docs, and messages
| * | Fix spelling & grammar in comments, docs, and messagesAndy Maloney2020-07-211-11/+11
| | |
* | | Fix spelling of a var, a struct, and message outputAndy Maloney2020-07-171-7/+7
|/ /
* | Addition of SDFGI for open world global illuminationJuan Linietsky2020-06-261-10/+203
| | | | | | | | Move GI to a deferred pass
* | Vulkan: Initialize struct members on declarationRémi Verschelde2020-06-031-6/+7
|/ | | | Supersedes and closes #38945.
* Merge pull request #38750 from madmiraal/fix-vulkan-uninitialized-warningRémi Verschelde2020-05-151-0/+6
|\ | | | | Silence mulitple may be used uninitialized warnings in RenderingDeviceVulkan::uniform_set_create()
| * Silence mulitple may be used uninitialized warnings inMarcel Admiraal2020-05-151-0/+6
| | | | | | | | RenderingDeviceVulkan::uniform_set_create()
* | Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-121/+0
|/ | | | | | | | | | | | | | 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.
* New lightmapperJuan Linietsky2020-05-101-1/+9
| | | | | | | -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)
* Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde2020-05-101-99/+197
| | | | Part of #33027.
* Add proper type to most public API uses of ArrayJuan Linietsky2020-04-211-2/+2
|
* Exposed RenderingDevice to script APIJuan Linietsky2020-04-201-25/+25
| | | | | | | | | | | | | 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.
* Ability to create local RenderingDevice instances.Juan Linietsky2020-04-181-70/+145
|
* Fixes leaks in ResourceCache, Vulkan and X11qarmin2020-04-151-0/+5
|
* Implement decalsJuan Linietsky2020-04-141-4/+4
| | | | | | 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
* Implement MSAAJuan Linietsky2020-04-121-0/+153
|
* Merge pull request #37808 from reduz/port-effects-to-computeJuan Linietsky2020-04-111-31/+55
|\ | | | | Moved most of the effect code to compute.
| * Moved most of the effect code to compute.Juan Linietsky2020-04-111-31/+55
| | | | | | | | | | Simplifies it and improves performance. Improves image barrier handling per mipmap on RenderingDeviceVulkan
* | Shows proper scene render time in editor infoJuan Linietsky2020-04-101-1/+34
|/ | | | Also fixed GPU profiler, which was not working on nvidia hardware.
* Merge pull request #36919 from nekomatata/android-vulkan-renderingRémi Verschelde2020-04-091-3/+9
|\ | | | | Vulkan rendering support on Android
| * Display Server supportPouleyKetchoupp2020-04-081-1/+4
| |
| * Vulkan rendering for AndroidPouleyKetchoupp2020-04-031-3/+6
| |
* | Merge pull request #37586 from qarmin/vulkan_allocator_leakRémi Verschelde2020-04-071-0/+1
|\ \ | | | | | | Fix leak with Vulkan allocator
| * | Fix leak with Vulkan allocatorqarmin2020-04-041-0/+1
| |/
* | Merge pull request #37635 from qarmin/leak_vertexRémi Verschelde2020-04-061-0/+7
|\ \ | | | | | | Fixed leak with vertex_formats
| * | Fixed leak with vertex_formatsqarmin2020-04-061-0/+7
| |/
* / Vulkan: Use VK_NULL_HANDLE for handles, fixes 32-bit buildsRémi Verschelde2020-04-061-8/+9
|/ | | | | | | | | | | | | | 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.
* Replace NULL with nullptrlupoDharkael2020-04-021-190/+190
|
* Added a Window node, and made it the scene root.Juan Linietsky2020-03-261-3/+3
| | | | Still a lot of work to do.
* Style: Set clang-format Standard to Cpp11Rémi Verschelde2020-03-171-8/+8
| | | | | | | | | | 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`.
* More explicit error messages when vulkan calls return errorsPouleyKetchoupp2020-03-091-49/+35
|
* 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
| |
* | Change when we can ERR_FAIL_COND and ERR_FAIL_CONV_V to static_assertMateo Dev .592020-03-041-1/+1
|/
* Correct condition wrongly converted to ERR_FAIL_COND_MSGJuan Linietsky2020-02-221-1/+1
| | | | Fixes debugging of giprobes not working, likely other stuff
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-45/+45
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Fix various GCC compilation warnings after Vulkan mergeRémi Verschelde2020-02-141-5/+5
| | | | Part of #36132.
* Vulkan: Move thirdparty code out of drivers, style fixesRémi Verschelde2020-02-111-2/+2
| | | | | | | - `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
* Auto exposure re-implemented in VulkanJuan Linietsky2020-02-111-2/+6
|
* Several fixes to GIProbesJuan Linietsky2020-02-111-2/+56
|
* Use a different strategy to get textures from GPU (via buffers), for more ↵Juan Linietsky2020-02-111-117/+54
| | | | compatibility.
* Improve HiDPI handling, fix incorrect window viewport clipping.bruvzg2020-02-111-1/+1
|
* Dynamic object support for GI Probes (a bit buggy still)Juan Linietsky2020-02-111-2/+2
|
* More GIProbe work and fixesJuan Linietsky2020-02-111-69/+106
|
* Better GIProbe quality settings.Juan Linietsky2020-02-111-40/+39
|
* GIProbes working.Juan Linietsky2020-02-111-122/+234
|
* Untested support for compute shadersJuan Linietsky2020-02-111-62/+491
|
* Visual GPU profiler and related profiling support in Vulkan.Juan Linietsky2020-02-111-0/+76
|