OGRE-Next 4.0.0unstable
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::VulkanInstance Class Referencefinal

We need the ability to re-enumerate devices to handle physical device removing, that requires fresh VkInstance instance, as otherwise Vulkan returns obsolete physical devices list. More...

#include <OgreVulkanDevice.h>

Public Member Functions

 VulkanInstance (const String &appName, VulkanExternalInstance *externalInstance, PFN_vkDebugReportCallbackEXT debugCallback, RenderSystem *renderSystem)
 ~VulkanInstance ()
const VulkanPhysicalDevice * findByName (const String &name) const
void initDebugFeatures (PFN_vkDebugReportCallbackEXT callback, void *userdata, bool hasRenderDocApi)
void initPhysicalDeviceList ()

Static Public Member Functions

static void enumerateExtensionsAndLayers (VulkanExternalInstance *externalInstance)
static bool hasExtension (const char *extension)

Public Attributes

PFN_vkCmdBeginDebugUtilsLabelEXT CmdBeginDebugUtilsLabelEXT
PFN_vkCmdEndDebugUtilsLabelEXT CmdEndDebugUtilsLabelEXT
PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallback
PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallback
VkDebugReportCallbackEXT mDebugReportCallback
VkInstance mVkInstance
bool mVkInstanceIsExternal
FastArray< VulkanPhysicalDevice > mVulkanPhysicalDevices

Static Public Attributes

static FastArray< const char * > enabledExtensions
static FastArray< const char * > enabledLayers
static bool hasValidationLayers

Detailed Description

We need the ability to re-enumerate devices to handle physical device removing, that requires fresh VkInstance instance, as otherwise Vulkan returns obsolete physical devices list.

Constructor & Destructor Documentation

◆ VulkanInstance()

Ogre::VulkanInstance::VulkanInstance ( const String & appName,
VulkanExternalInstance * externalInstance,
PFN_vkDebugReportCallbackEXT debugCallback,
RenderSystem * renderSystem )

◆ ~VulkanInstance()

Ogre::VulkanInstance::~VulkanInstance ( )

Member Function Documentation

◆ enumerateExtensionsAndLayers()

void Ogre::VulkanInstance::enumerateExtensionsAndLayers ( VulkanExternalInstance * externalInstance)
static

◆ findByName()

const VulkanPhysicalDevice * Ogre::VulkanInstance::findByName ( const String & name) const

◆ hasExtension()

bool Ogre::VulkanInstance::hasExtension ( const char * extension)
static

◆ initDebugFeatures()

void Ogre::VulkanInstance::initDebugFeatures ( PFN_vkDebugReportCallbackEXT callback,
void * userdata,
bool hasRenderDocApi )

◆ initPhysicalDeviceList()

void Ogre::VulkanInstance::initPhysicalDeviceList ( )

Member Data Documentation

◆ CmdBeginDebugUtilsLabelEXT

PFN_vkCmdBeginDebugUtilsLabelEXT Ogre::VulkanInstance::CmdBeginDebugUtilsLabelEXT

◆ CmdEndDebugUtilsLabelEXT

PFN_vkCmdEndDebugUtilsLabelEXT Ogre::VulkanInstance::CmdEndDebugUtilsLabelEXT

◆ CreateDebugReportCallback

PFN_vkCreateDebugReportCallbackEXT Ogre::VulkanInstance::CreateDebugReportCallback

◆ DestroyDebugReportCallback

PFN_vkDestroyDebugReportCallbackEXT Ogre::VulkanInstance::DestroyDebugReportCallback

◆ enabledExtensions

FastArray<const char *> Ogre::VulkanInstance::enabledExtensions
static

◆ enabledLayers

FastArray<const char *> Ogre::VulkanInstance::enabledLayers
static

◆ hasValidationLayers

bool Ogre::VulkanInstance::hasValidationLayers
static

◆ mDebugReportCallback

VkDebugReportCallbackEXT Ogre::VulkanInstance::mDebugReportCallback

◆ mVkInstance

VkInstance Ogre::VulkanInstance::mVkInstance

◆ mVkInstanceIsExternal

bool Ogre::VulkanInstance::mVkInstanceIsExternal

◆ mVulkanPhysicalDevices

FastArray<VulkanPhysicalDevice> Ogre::VulkanInstance::mVulkanPhysicalDevices

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