PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::VkSystem Class Reference

#include <VkSystem.h>

Collaboration diagram for dyno::VkSystem:

Public Member Functions

VkContextcurrentContext ()
 
bool initialize (bool enableValidation=false)
 
VkInstance instanceHandle ()
 
void enableMemoryPool (bool enableMemPool=false)
 
VkPhysicalDeviceProperties getDeviceProperties ()
 
VkPhysicalDevice getPhysicalDevice ()
 

Static Public Member Functions

static VkSysteminstance ()
 

Public Attributes

std::vector< const char * > enabledDeviceExtensions
 
std::vector< const char * > enabledInstanceExtensions
 

Private Member Functions

 VkSystem ()
 
 ~VkSystem ()
 
VkResult createVulkanInstance ()
 Creates the application wide Vulkan instance.
 

Private Attributes

VkContextctx = nullptr
 Current Vulkan context.
 
bool validation
 
bool useMemoryPool = true
 
std::string name = "Vulkan"
 
uint32_t apiVersion = VK_API_VERSION_1_2
 
VkInstance vkInstance
 Vulkan instance, stores all per-application states.
 
VkPhysicalDevice physicalDevice
 
VkPhysicalDeviceProperties deviceProperties
 
VkPhysicalDeviceFeatures deviceFeatures
 
VkPhysicalDeviceMemoryProperties deviceMemoryProperties
 
VkPhysicalDeviceFeatures enabledFeatures {}
 
void * deviceCreatepNextChain = nullptr
 
VkDebugUtilsMessengerEXT debugUtilsMessenger = nullptr
 

Detailed Description

Definition at line 16 of file VkSystem.h.

Constructor & Destructor Documentation

◆ VkSystem()

dyno::VkSystem::VkSystem ( )
private

Definition at line 16 of file VkSystem.cpp.

Here is the caller graph for this function:

◆ ~VkSystem()

dyno::VkSystem::~VkSystem ( )
private

Definition at line 20 of file VkSystem.cpp.

Member Function Documentation

◆ createVulkanInstance()

VkResult dyno::VkSystem::createVulkanInstance ( )
private

Creates the application wide Vulkan instance.

Definition at line 183 of file VkSystem.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ currentContext()

VkContext * dyno::VkSystem::currentContext ( )
inline

Definition at line 21 of file VkSystem.h.

Here is the caller graph for this function:

◆ enableMemoryPool()

void dyno::VkSystem::enableMemoryPool ( bool enableMemPool = false)
inline

Definition at line 29 of file VkSystem.h.

◆ getDeviceProperties()

VkPhysicalDeviceProperties dyno::VkSystem::getDeviceProperties ( )
inline

Definition at line 33 of file VkSystem.h.

◆ getPhysicalDevice()

VkPhysicalDevice dyno::VkSystem::getPhysicalDevice ( )
inline

Definition at line 37 of file VkSystem.h.

Here is the caller graph for this function:

◆ initialize()

bool dyno::VkSystem::initialize ( bool enableValidation = false)

Definition at line 44 of file VkSystem.cpp.

Here is the call graph for this function:

◆ instance()

VkSystem * dyno::VkSystem::instance ( )
static

Definition at line 10 of file VkSystem.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ instanceHandle()

VkInstance dyno::VkSystem::instanceHandle ( )
inline

Definition at line 27 of file VkSystem.h.

Here is the caller graph for this function:

Member Data Documentation

◆ apiVersion

uint32_t dyno::VkSystem::apiVersion = VK_API_VERSION_1_2
private

Definition at line 58 of file VkSystem.h.

◆ ctx

VkContext* dyno::VkSystem::ctx = nullptr
private

Current Vulkan context.

Definition at line 53 of file VkSystem.h.

◆ debugUtilsMessenger

VkDebugUtilsMessengerEXT dyno::VkSystem::debugUtilsMessenger = nullptr
private

Definition at line 71 of file VkSystem.h.

◆ deviceCreatepNextChain

void* dyno::VkSystem::deviceCreatepNextChain = nullptr
private

Definition at line 69 of file VkSystem.h.

◆ deviceFeatures

VkPhysicalDeviceFeatures dyno::VkSystem::deviceFeatures
private

Definition at line 66 of file VkSystem.h.

◆ deviceMemoryProperties

VkPhysicalDeviceMemoryProperties dyno::VkSystem::deviceMemoryProperties
private

Definition at line 67 of file VkSystem.h.

◆ deviceProperties

VkPhysicalDeviceProperties dyno::VkSystem::deviceProperties
private

Definition at line 65 of file VkSystem.h.

◆ enabledDeviceExtensions

std::vector<const char*> dyno::VkSystem::enabledDeviceExtensions

Definition at line 74 of file VkSystem.h.

◆ enabledFeatures

VkPhysicalDeviceFeatures dyno::VkSystem::enabledFeatures {}
private

Definition at line 68 of file VkSystem.h.

◆ enabledInstanceExtensions

std::vector<const char*> dyno::VkSystem::enabledInstanceExtensions

Definition at line 75 of file VkSystem.h.

◆ name

std::string dyno::VkSystem::name = "Vulkan"
private

Definition at line 57 of file VkSystem.h.

◆ physicalDevice

VkPhysicalDevice dyno::VkSystem::physicalDevice
private

Definition at line 64 of file VkSystem.h.

◆ useMemoryPool

bool dyno::VkSystem::useMemoryPool = true
private

Definition at line 56 of file VkSystem.h.

◆ validation

bool dyno::VkSystem::validation
private

Definition at line 55 of file VkSystem.h.

◆ vkInstance

VkInstance dyno::VkSystem::vkInstance
private

Vulkan instance, stores all per-application states.

Definition at line 63 of file VkSystem.h.


The documentation for this class was generated from the following files: