feat: updated engine version to 4.4-rc1
This commit is contained in:
parent
ee00efde1f
commit
21ba8e33af
5459 changed files with 1128836 additions and 198305 deletions
|
|
@ -1,17 +1,13 @@
|
|||
diff --git a/thirdparty/vulkan/vk_enum_string_helper.h b/thirdparty/vulkan/vk_enum_string_helper.h
|
||||
index 9d2af46344..d61dbb1290 100644
|
||||
index 8026787ad4..7a54b12a38 100644
|
||||
--- a/thirdparty/vulkan/vk_enum_string_helper.h
|
||||
+++ b/thirdparty/vulkan/vk_enum_string_helper.h
|
||||
@@ -13,7 +13,11 @@
|
||||
@@ -13,7 +13,7 @@
|
||||
#ifdef __cplusplus
|
||||
#include <string>
|
||||
#endif
|
||||
-#include <vulkan/vulkan.h>
|
||||
+#ifdef USE_VOLK
|
||||
+ #include <volk.h>
|
||||
+#else
|
||||
+ #include <vulkan/vulkan.h>
|
||||
+#endif
|
||||
+#include "drivers/vulkan/godot_vulkan.h"
|
||||
static inline const char* string_VkResult(VkResult input_value) {
|
||||
switch (input_value) {
|
||||
case VK_SUCCESS:
|
||||
|
|
@ -1,17 +1,18 @@
|
|||
diff --git a/thirdparty/vulkan/vk_mem_alloc.h b/thirdparty/vulkan/vk_mem_alloc.h
|
||||
index 711f486571..e5eaa80e74 100644
|
||||
index 2307325d4e..ecb84094b9 100644
|
||||
--- a/thirdparty/vulkan/vk_mem_alloc.h
|
||||
+++ b/thirdparty/vulkan/vk_mem_alloc.h
|
||||
@@ -127,7 +127,11 @@ See documentation chapter: \ref statistics.
|
||||
@@ -122,12 +122,12 @@ for user-defined purpose without allocating any real GPU memory.
|
||||
See documentation chapter: \ref statistics.
|
||||
*/
|
||||
|
||||
+#include "drivers/vulkan/godot_vulkan.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-#include <vulkan/vulkan.h>
|
||||
+#ifdef USE_VOLK
|
||||
+ #include <volk.h>
|
||||
+#else
|
||||
+ #include <vulkan/vulkan.h>
|
||||
+#endif
|
||||
|
||||
#if !defined(VMA_VULKAN_VERSION)
|
||||
#if defined(VK_VERSION_1_3)
|
||||
51
engine/thirdparty/vulkan/patches/0003-VMA-add-vmaCalculateLazilyAllocatedBytes.patch
vendored
Normal file
51
engine/thirdparty/vulkan/patches/0003-VMA-add-vmaCalculateLazilyAllocatedBytes.patch
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
diff --git a/thirdparty/vulkan/vk_mem_alloc.h b/thirdparty/vulkan/vk_mem_alloc.h
|
||||
index ecb84094b9..c436209896 100644
|
||||
--- a/thirdparty/vulkan/vk_mem_alloc.h
|
||||
+++ b/thirdparty/vulkan/vk_mem_alloc.h
|
||||
@@ -1713,6 +1713,19 @@ VMA_CALL_PRE void VMA_CALL_POST vmaCalculateStatistics(
|
||||
VmaAllocator VMA_NOT_NULL allocator,
|
||||
VmaTotalStatistics* VMA_NOT_NULL pStats);
|
||||
|
||||
+/** \brief Retrieves lazily allocated bytes
|
||||
+
|
||||
+This function is called "calculate" not "get" because it has to traverse all
|
||||
+internal data structures, so it may be quite slow. Use it for debugging purposes.
|
||||
+For faster but more brief statistics suitable to be called every frame or every allocation,
|
||||
+use vmaGetHeapBudgets().
|
||||
+
|
||||
+Note that when using allocator from multiple threads, returned information may immediately
|
||||
+become outdated.
|
||||
+*/
|
||||
+VMA_CALL_PRE uint64_t VMA_CALL_POST vmaCalculateLazilyAllocatedBytes(
|
||||
+ VmaAllocator VMA_NOT_NULL allocator);
|
||||
+
|
||||
/** \brief Retrieves information about current memory usage and budget for all memory heaps.
|
||||
|
||||
\param allocator
|
||||
@@ -14912,6 +14925,26 @@ VMA_CALL_PRE void VMA_CALL_POST vmaCalculateStatistics(
|
||||
allocator->CalculateStatistics(pStats);
|
||||
}
|
||||
|
||||
+VMA_CALL_PRE uint64_t VMA_CALL_POST vmaCalculateLazilyAllocatedBytes(
|
||||
+ VmaAllocator allocator)
|
||||
+{
|
||||
+ VMA_ASSERT(allocator);
|
||||
+ VMA_DEBUG_GLOBAL_MUTEX_LOCK
|
||||
+ VmaTotalStatistics stats;
|
||||
+ allocator->CalculateStatistics(&stats);
|
||||
+ uint64_t total_lazilily_allocated_bytes = 0;
|
||||
+ for (uint32_t heapIndex = 0; heapIndex < allocator->GetMemoryHeapCount(); ++heapIndex) {
|
||||
+ for (uint32_t typeIndex = 0; typeIndex < allocator->GetMemoryTypeCount(); ++typeIndex) {
|
||||
+ if (allocator->MemoryTypeIndexToHeapIndex(typeIndex) == heapIndex) {
|
||||
+ VkMemoryPropertyFlags flags = allocator->m_MemProps.memoryTypes[typeIndex].propertyFlags;
|
||||
+ if (flags & VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)
|
||||
+ total_lazilily_allocated_bytes += stats.memoryType[typeIndex].statistics.allocationBytes;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return total_lazilily_allocated_bytes;
|
||||
+}
|
||||
+
|
||||
VMA_CALL_PRE void VMA_CALL_POST vmaGetHeapBudgets(
|
||||
VmaAllocator allocator,
|
||||
VmaBudget* pBudgets)
|
||||
|
|
@ -13,11 +13,7 @@
|
|||
#ifdef __cplusplus
|
||||
#include <string>
|
||||
#endif
|
||||
#ifdef USE_VOLK
|
||||
#include <volk.h>
|
||||
#else
|
||||
#include <vulkan/vulkan.h>
|
||||
#endif
|
||||
#include "drivers/vulkan/godot_vulkan.h"
|
||||
static inline const char* string_VkResult(VkResult input_value) {
|
||||
switch (input_value) {
|
||||
case VK_SUCCESS:
|
||||
|
|
|
|||
39
engine/thirdparty/vulkan/vk_mem_alloc.h
vendored
39
engine/thirdparty/vulkan/vk_mem_alloc.h
vendored
|
|
@ -122,16 +122,12 @@ for user-defined purpose without allocating any real GPU memory.
|
|||
See documentation chapter: \ref statistics.
|
||||
*/
|
||||
|
||||
#include "drivers/vulkan/godot_vulkan.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef USE_VOLK
|
||||
#include <volk.h>
|
||||
#else
|
||||
#include <vulkan/vulkan.h>
|
||||
#endif
|
||||
|
||||
#if !defined(VMA_VULKAN_VERSION)
|
||||
#if defined(VK_VERSION_1_3)
|
||||
|
|
@ -1717,6 +1713,19 @@ VMA_CALL_PRE void VMA_CALL_POST vmaCalculateStatistics(
|
|||
VmaAllocator VMA_NOT_NULL allocator,
|
||||
VmaTotalStatistics* VMA_NOT_NULL pStats);
|
||||
|
||||
/** \brief Retrieves lazily allocated bytes
|
||||
|
||||
This function is called "calculate" not "get" because it has to traverse all
|
||||
internal data structures, so it may be quite slow. Use it for debugging purposes.
|
||||
For faster but more brief statistics suitable to be called every frame or every allocation,
|
||||
use vmaGetHeapBudgets().
|
||||
|
||||
Note that when using allocator from multiple threads, returned information may immediately
|
||||
become outdated.
|
||||
*/
|
||||
VMA_CALL_PRE uint64_t VMA_CALL_POST vmaCalculateLazilyAllocatedBytes(
|
||||
VmaAllocator VMA_NOT_NULL allocator);
|
||||
|
||||
/** \brief Retrieves information about current memory usage and budget for all memory heaps.
|
||||
|
||||
\param allocator
|
||||
|
|
@ -14916,6 +14925,26 @@ VMA_CALL_PRE void VMA_CALL_POST vmaCalculateStatistics(
|
|||
allocator->CalculateStatistics(pStats);
|
||||
}
|
||||
|
||||
VMA_CALL_PRE uint64_t VMA_CALL_POST vmaCalculateLazilyAllocatedBytes(
|
||||
VmaAllocator allocator)
|
||||
{
|
||||
VMA_ASSERT(allocator);
|
||||
VMA_DEBUG_GLOBAL_MUTEX_LOCK
|
||||
VmaTotalStatistics stats;
|
||||
allocator->CalculateStatistics(&stats);
|
||||
uint64_t total_lazilily_allocated_bytes = 0;
|
||||
for (uint32_t heapIndex = 0; heapIndex < allocator->GetMemoryHeapCount(); ++heapIndex) {
|
||||
for (uint32_t typeIndex = 0; typeIndex < allocator->GetMemoryTypeCount(); ++typeIndex) {
|
||||
if (allocator->MemoryTypeIndexToHeapIndex(typeIndex) == heapIndex) {
|
||||
VkMemoryPropertyFlags flags = allocator->m_MemProps.memoryTypes[typeIndex].propertyFlags;
|
||||
if (flags & VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)
|
||||
total_lazilily_allocated_bytes += stats.memoryType[typeIndex].statistics.allocationBytes;
|
||||
}
|
||||
}
|
||||
}
|
||||
return total_lazilily_allocated_bytes;
|
||||
}
|
||||
|
||||
VMA_CALL_PRE void VMA_CALL_POST vmaGetHeapBudgets(
|
||||
VmaAllocator allocator,
|
||||
VmaBudget* pBudgets)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue