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
|
|
@ -35,12 +35,13 @@
|
|||
|
||||
#include "servers/rendering/rendering_context_driver.h"
|
||||
|
||||
#ifdef USE_VOLK
|
||||
#include <volk.h>
|
||||
#else
|
||||
#include <vulkan/vulkan.h>
|
||||
#if defined(DEBUG_ENABLED) || defined(DEV_ENABLED)
|
||||
#define VK_TRACK_DRIVER_MEMORY
|
||||
#define VK_TRACK_DEVICE_MEMORY
|
||||
#endif
|
||||
|
||||
#include "drivers/vulkan/godot_vulkan.h"
|
||||
|
||||
class RenderingContextDriverVulkan : public RenderingContextDriver {
|
||||
public:
|
||||
struct Functions {
|
||||
|
|
@ -77,6 +78,12 @@ public:
|
|||
PFN_vkDebugReportMessageEXT DebugReportMessageEXT = nullptr;
|
||||
PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT = nullptr;
|
||||
|
||||
// Debug marker extensions.
|
||||
PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT = nullptr;
|
||||
PFN_vkCmdDebugMarkerEndEXT CmdDebugMarkerEndEXT = nullptr;
|
||||
PFN_vkCmdDebugMarkerInsertEXT CmdDebugMarkerInsertEXT = nullptr;
|
||||
PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT = nullptr;
|
||||
|
||||
bool debug_report_functions_available() const {
|
||||
return CreateDebugReportCallbackEXT != nullptr &&
|
||||
DebugReportMessageEXT != nullptr &&
|
||||
|
|
@ -110,6 +117,8 @@ private:
|
|||
// Static callbacks.
|
||||
static VKAPI_ATTR VkBool32 VKAPI_CALL _debug_messenger_callback(VkDebugUtilsMessageSeverityFlagBitsEXT p_message_severity, VkDebugUtilsMessageTypeFlagsEXT p_message_type, const VkDebugUtilsMessengerCallbackDataEXT *p_callback_data, void *p_user_data);
|
||||
static VKAPI_ATTR VkBool32 VKAPI_CALL _debug_report_callback(VkDebugReportFlagsEXT p_flags, VkDebugReportObjectTypeEXT p_object_type, uint64_t p_object, size_t p_location, int32_t p_message_code, const char *p_layer_prefix, const char *p_message, void *p_user_data);
|
||||
// Debug marker extensions.
|
||||
VkDebugReportObjectTypeEXT _convert_to_debug_report_objectType(VkObjectType p_object_type);
|
||||
|
||||
protected:
|
||||
Error _find_validation_layers(TightLocalVector<const char *> &r_layer_names) const;
|
||||
|
|
@ -153,6 +162,45 @@ public:
|
|||
bool queue_family_supports_present(VkPhysicalDevice p_physical_device, uint32_t p_queue_family_index, SurfaceID p_surface) const;
|
||||
const Functions &functions_get() const;
|
||||
|
||||
static VkAllocationCallbacks *get_allocation_callbacks(VkObjectType p_type);
|
||||
|
||||
#if defined(VK_TRACK_DRIVER_MEMORY) || defined(VK_TRACK_DEVICE_MEMORY)
|
||||
enum VkTrackedObjectType {
|
||||
VK_TRACKED_OBJECT_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_COMMAND_POOL + 1,
|
||||
VK_TRACKED_OBJECT_TYPE_SURFACE,
|
||||
VK_TRACKED_OBJECT_TYPE_SWAPCHAIN,
|
||||
VK_TRACKED_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
|
||||
VK_TRACKED_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
|
||||
VK_TRACKED_OBJECT_TYPE_ACCELERATION_STRUCTURE,
|
||||
VK_TRACKED_OBJECT_TYPE_VMA,
|
||||
VK_TRACKED_OBJECT_TYPE_COUNT
|
||||
};
|
||||
|
||||
enum VkTrackedSystemAllocationScope {
|
||||
VK_TRACKED_SYSTEM_ALLOCATION_SCOPE_COUNT = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE + 1
|
||||
};
|
||||
#endif
|
||||
|
||||
const char *get_tracked_object_name(uint32_t p_type_index) const override;
|
||||
#if defined(VK_TRACK_DRIVER_MEMORY) || defined(VK_TRACK_DEVICE_MEMORY)
|
||||
uint64_t get_tracked_object_type_count() const override;
|
||||
#endif
|
||||
|
||||
#if defined(VK_TRACK_DRIVER_MEMORY)
|
||||
uint64_t get_driver_total_memory() const override;
|
||||
uint64_t get_driver_allocation_count() const override;
|
||||
uint64_t get_driver_memory_by_object_type(uint32_t p_type) const override;
|
||||
uint64_t get_driver_allocs_by_object_type(uint32_t p_type) const override;
|
||||
#endif
|
||||
|
||||
#if defined(VK_TRACK_DEVICE_MEMORY)
|
||||
uint64_t get_device_total_memory() const override;
|
||||
uint64_t get_device_allocation_count() const override;
|
||||
uint64_t get_device_memory_by_object_type(uint32_t p_type) const override;
|
||||
uint64_t get_device_allocs_by_object_type(uint32_t p_type) const override;
|
||||
static VKAPI_ATTR void VKAPI_CALL memory_report_callback(const VkDeviceMemoryReportCallbackDataEXT *p_callback_data, void *p_user_data);
|
||||
#endif
|
||||
|
||||
RenderingContextDriverVulkan();
|
||||
virtual ~RenderingContextDriverVulkan() override;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue