summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/rendering_device_vulkan.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Several fixes to 3D rendering, and multimesh implementation.Juan Linietsky2020-02-111-1/+3
|
* Rewrote large part of rendering, omni and spot shadows now work.Juan Linietsky2020-02-111-21/+150
|
* Environment sky more or less working.Juan Linietsky2020-02-111-39/+34
|
* Yay very basic 3D (only white) finally shows.Juan Linietsky2020-02-111-17/+38
|
* Base 3D engine done, still untested, though.Juan Linietsky2020-02-111-15/+84
|
* Merge pull request #29993 from bruvzg/vulkanRémi Verschelde2020-02-111-3/+44
|\ | | | | | | Initial Vulkan support for macOS (MoltenVK) and Windows
| * Add runtime GLES2 / Vulkan context selection.bruvzg2020-02-111-3/+14
| |
| * Add static Vulkan loader.bruvzg2020-02-111-0/+30
| | | | | | | | | | Initial Vulkan support for Windows. Initial Vulkan support for macOS.
* | Added a spinlock template as well as a thread work pool class.Juan Linietsky2020-02-111-2/+2
|/ | | | Also, optimized shader compilation to happen on threads.
* Moved the shader source compilation code outside RenderingDevice and VulkanJuan Linietsky2020-02-111-271/+12
|
* Replaced GLSLang reflection by SPIRV-Reflect, eventually allowing to move ↵Juan Linietsky2020-02-111-9/+246
| | | | GLSLang out.
* Custom material support seems complete.Juan Linietsky2020-02-111-83/+383
|