mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-23 06:33:42 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
52
libs/drape/vulkan/vulkan_layers.hpp
Executable file
52
libs/drape/vulkan/vulkan_layers.hpp
Executable file
@@ -0,0 +1,52 @@
|
||||
#pragma once
|
||||
|
||||
#include <vulkan_wrapper.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
namespace dp
|
||||
{
|
||||
namespace vulkan
|
||||
{
|
||||
class Layers
|
||||
{
|
||||
public:
|
||||
explicit Layers(bool enableDiagnostics);
|
||||
|
||||
// These methods are available before initialization.
|
||||
uint32_t GetInstanceLayersCount() const;
|
||||
char const * const * GetInstanceLayers() const;
|
||||
uint32_t GetInstanceExtensionsCount() const;
|
||||
char const * const * GetInstanceExtensions() const;
|
||||
|
||||
bool Initialize(VkInstance instance, VkPhysicalDevice physicalDevice);
|
||||
void Uninitialize(VkInstance instance);
|
||||
|
||||
// These methods are available after initialization.
|
||||
uint32_t GetDeviceLayersCount() const;
|
||||
char const * const * GetDeviceLayers() const;
|
||||
uint32_t GetDeviceExtensionsCount() const;
|
||||
char const * const * GetDeviceExtensions() const;
|
||||
|
||||
bool IsValidationFeaturesEnabled() const;
|
||||
|
||||
private:
|
||||
bool const m_enableDiagnostics;
|
||||
|
||||
std::vector<char const *> m_instanceLayers;
|
||||
std::vector<char const *> m_instanceExtensions;
|
||||
|
||||
std::vector<char const *> m_deviceLayers;
|
||||
std::vector<char const *> m_deviceExtensions;
|
||||
|
||||
VkDebugReportCallbackEXT m_reportCallback {0};
|
||||
|
||||
PFN_vkCreateDebugReportCallbackEXT m_vkCreateDebugReportCallbackEXT = nullptr;
|
||||
PFN_vkDestroyDebugReportCallbackEXT m_vkDestroyDebugReportCallbackEXT = nullptr;
|
||||
PFN_vkDebugReportMessageEXT m_vkDebugReportMessageEXT = nullptr;
|
||||
|
||||
bool m_validationFeaturesEnabled = false;
|
||||
};
|
||||
} // namespace vulkan
|
||||
} // namespace dp
|
||||
Reference in New Issue
Block a user