summaryrefslogtreecommitdiff
path: root/drivers/vulkan/vulkan_context.cpp
AgeCommit message (Collapse)Author
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-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-10Revert "Enhanced physical device selection to use device type and available ↵Rémi Verschelde
memory in relation to issue #35397" This reverts commit 4f3006e5ac30d00b90eb531f3bdfd4bfa0d4025b.
2020-03-10Initializes VulkanContext::queue_props to NULLHaoyu Qiu
2020-03-04Vulkan: Use Godot print macros matching MessageSeverity flagRémi Verschelde
Otherwise any verbose/info/warning debug message from Vulkan would raise an error, confusing users about the severity of the message. Cf. #36185, #36790.
2020-03-04Merge pull request #36585 from disks86/masterRémi Verschelde
Enhanced physical device selection
2020-02-29Adds null check of pMessageIdNameHaoyu Qiu
2020-02-28Enhanced physical device selection to use device type and available memory ↵Christopher Joseph Dean Schaefer
in relation to issue #35397
2020-02-27Merge pull request #36186 from Calinou/remove-vulkan-debugging-printsRémi Verschelde
Remove Vulkan debugging prints
2020-02-22Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDsRémi Verschelde
In the vast majority of cases, this will be a false positive error thrown by Vulkan-Loader when a Linux system has Vulkan ICDs for both 32-bit and 64-bit. The error is of the form: ``` ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32 ERROR: [Loader Message] Code 0 : /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32 ``` The loader dlopen's the 32-bit ICDs first, raises this error, and then happily goes on to try and use the 64-bit ICDs. Upstream report: https://github.com/KhronosGroup/Vulkan-Loader/issues/262 Fixes #36185.
2020-02-18Fix VisualStudio throwing multiple C4996 warnings in vulkan_context.cpp.Marcel Admiraal
Use Godot's String to concatenate C-strings instead of strcat and sprintf, which are unsafe, because they don't check for buffer overflows.
2020-02-14Fix various GCC compilation warnings after Vulkan mergeRémi Verschelde
Part of #36132.
2020-02-13Remove Vulkan debugging printsHugo Locurcio
2020-02-13Fixes some memory leaksHaoyu Qiu
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-11Dynamic object support for GI Probes (a bit buggy still)Juan Linietsky
2020-02-11More GIProbe work and fixesJuan Linietsky
2020-02-11GIProbes working.Juan Linietsky
2020-02-11Environment sky more or less working.Juan Linietsky
2020-02-11Add static Vulkan loader.bruvzg
Initial Vulkan support for Windows. Initial Vulkan support for macOS.
2020-02-11Completed material/2D shader support (missing SCREEN_TEXTURE)Juan Linietsky
2020-02-11Modified light rendering to make it more compatible.Juan Linietsky
Modified polygon management to make it more compatible with MoltenVK
2020-02-11Added ability to retrieve back textures stored on GPUJuan Linietsky
2020-02-11basic 2D engine is more or less working with Vulkan, including editor.Juan Linietsky
Still a lot to do
2020-02-11Basic 2D engine is more or less working, needs more work for editor to be ↵Juan Linietsky
usable.
2020-02-11Initial work on Vulkan:Juan Linietsky
-Added VulkanContext -Added an X11 implementation -Added a rendering device abstraction -added a Vulkan rendering device abstraction -Engine does not work, only shows Godot logo (run it from bin/)