OGRE-Next: Ogre::VulkanDevice Struct Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::VulkanDevice Struct Reference

`#include <OgreVulkanDevice.h>`

## Classes
struct | ExtraVkFeatures
struct | SelectedQueue

## Public Member Functions
| VulkanDevice (VkInstance instance, const VulkanExternalDevice &externalDevice, VulkanRenderSystem *renderSystem)
| VulkanDevice (VkInstance instance, uint32 deviceIdx, VulkanRenderSystem *renderSystem)
| ~VulkanDevice ()
void | commitAndNextCommandBuffer (SubmissionType::SubmissionType submissionType=SubmissionType::FlushOnly)
void | createDevice (FastArray< const char * > &extensions, uint32 maxComputeQueues, uint32 maxTransferQueues)
void | fillDeviceFeatures ()
void | fillQueueCreationInfo (uint32 maxComputeQueues, uint32 maxTransferQueues, FastArray< VkDeviceQueueCreateInfo > &outQueueCiArray)
void | findComputeQueue (FastArray< uint32 > &inOutUsedQueueCount, uint32 maxNumQueues)
void | findGraphicsQueue (FastArray< uint32 > &inOutUsedQueueCount)
void | findTransferQueue (FastArray< uint32 > &inOutUsedQueueCount, uint32 maxNumQueues)
bool | hasDeviceExtension (const IdString extension) const
void | initQueues ()
void | stall ()
| Waits for the GPU to finish all pending commands.

## Static Public Member Functions
static void | addExternalInstanceExtensions (FastArray< VkExtensionProperties > &extensions)
static VkInstance | createInstance (const String &appName, FastArray< const char * > &extensions, FastArray< const char * > &layers, PFN_vkDebugReportCallbackEXT debugCallback, RenderSystem *renderSystem)
static void | destroyQueues (FastArray< VulkanQueue > &queueArray)
static bool | hasInstanceExtension (const IdString extension)

## Public Attributes
FastArray< VulkanQueue > | mComputeQueues
| Additional compute queues to run async compute (besides the main graphics one).
VkDevice | mDevice
FastArray< IdString > | mDeviceExtensions
| Extensions requested when created. Sorted.
ExtraVkFeatures | mDeviceExtraFeatures
VkPhysicalDeviceFeatures | mDeviceFeatures
VkPhysicalDeviceMemoryProperties | mDeviceMemoryProperties
VkPhysicalDeviceProperties | mDeviceProperties
VulkanQueue | mGraphicsQueue
| Graphics queue is guaranteed by spec to also be able to run compute and transfer A GPU may not have a graphics queue though (Ogre can't run there).
VkInstance | mInstance
bool | mIsExternal
VkPhysicalDevice | mPhysicalDevice
VkQueue | mPresentQueue
FastArray< VkQueueFamilyProperties > | mQueueProps
VulkanRenderSystem * | mRenderSystem
uint32 | mSupportedStages
FastArray< VulkanQueue > | mTransferQueues
| Additional transfer queues to run async transfers (besides the main graphics one).
VulkanVaoManager * | mVaoManager

## Constructor & Destructor Documentation

## ◆ VulkanDevice() [1/2]

Ogre::VulkanDevice::VulkanDevice | ( | VkInstance | instance,
|  | uint32 | deviceIdx,
|  | VulkanRenderSystem * | renderSystem )

## ◆ VulkanDevice() [2/2]

Ogre::VulkanDevice::VulkanDevice | ( | VkInstance | instance,
|  | const VulkanExternalDevice & | externalDevice,
|  | VulkanRenderSystem * | renderSystem )

## ◆ ~VulkanDevice()

Ogre::VulkanDevice::~VulkanDevice | ( |  | ) |

## Member Function Documentation

## ◆ addExternalInstanceExtensions()

void Ogre::VulkanDevice::addExternalInstanceExtensions | ( | FastArray< VkExtensionProperties > & | extensions | ) |
| static

## ◆ commitAndNextCommandBuffer()

void Ogre::VulkanDevice::commitAndNextCommandBuffer | ( | SubmissionType::SubmissionType | submissionType = SubmissionType::FlushOnly | ) |

References Ogre::SubmissionType::FlushOnly.

## ◆ createDevice()

void Ogre::VulkanDevice::createDevice | ( | FastArray< const char * > & | extensions,
|  | uint32 | maxComputeQueues,
|  | uint32 | maxTransferQueues )

## ◆ createInstance()

VkInstance Ogre::VulkanDevice::createInstance | ( | const String & | appName,
|  | FastArray< const char * > & | extensions,
|  | FastArray< const char * > & | layers,
|  | PFN_vkDebugReportCallbackEXT | debugCallback,
|  | RenderSystem * | renderSystem )
| static

## ◆ destroyQueues()

void Ogre::VulkanDevice::destroyQueues | ( | FastArray< VulkanQueue > & | queueArray | ) |
| static

## ◆ fillDeviceFeatures()

void Ogre::VulkanDevice::fillDeviceFeatures | ( |  | ) |

## ◆ fillQueueCreationInfo()

void Ogre::VulkanDevice::fillQueueCreationInfo | ( | uint32 | maxComputeQueues,
|  | uint32 | maxTransferQueues,
|  | FastArray< VkDeviceQueueCreateInfo > & | outQueueCiArray )

## ◆ findComputeQueue()

void Ogre::VulkanDevice::findComputeQueue | ( | FastArray< uint32 > & | inOutUsedQueueCount,
|  | uint32 | maxNumQueues )

## ◆ findGraphicsQueue()

void Ogre::VulkanDevice::findGraphicsQueue | ( | FastArray< uint32 > & | inOutUsedQueueCount | ) |

## ◆ findTransferQueue()

void Ogre::VulkanDevice::findTransferQueue | ( | FastArray< uint32 > & | inOutUsedQueueCount,
|  | uint32 | maxNumQueues )

## ◆ hasDeviceExtension()

bool Ogre::VulkanDevice::hasDeviceExtension | ( | const IdString | extension | ) | const

## ◆ hasInstanceExtension()

bool Ogre::VulkanDevice::hasInstanceExtension | ( | const IdString | extension | ) |
| static

## ◆ initQueues()

void Ogre::VulkanDevice::initQueues | ( |  | ) |

## ◆ stall()

void Ogre::VulkanDevice::stall | ( |  | ) |

Waits for the GPU to finish all pending commands.

## Member Data Documentation

## ◆ mComputeQueues

FastArray<VulkanQueue> Ogre::VulkanDevice::mComputeQueues

Additional compute queues to run async compute (besides the main graphics one).

## ◆ mDevice

VkDevice Ogre::VulkanDevice::mDevice

## ◆ mDeviceExtensions

FastArray<IdString> Ogre::VulkanDevice::mDeviceExtensions

Extensions requested when created. Sorted.

## ◆ mDeviceExtraFeatures

ExtraVkFeatures Ogre::VulkanDevice::mDeviceExtraFeatures

## ◆ mDeviceFeatures

VkPhysicalDeviceFeatures Ogre::VulkanDevice::mDeviceFeatures

## ◆ mDeviceMemoryProperties

VkPhysicalDeviceMemoryProperties Ogre::VulkanDevice::mDeviceMemoryProperties

## ◆ mDeviceProperties

VkPhysicalDeviceProperties Ogre::VulkanDevice::mDeviceProperties

## ◆ mGraphicsQueue

VulkanQueue Ogre::VulkanDevice::mGraphicsQueue

Graphics queue is guaranteed by spec to also be able to run compute and transfer A GPU may not have a graphics queue though (Ogre can't run there).

## ◆ mInstance

VkInstance Ogre::VulkanDevice::mInstance

## ◆ mIsExternal

bool Ogre::VulkanDevice::mIsExternal

## ◆ mPhysicalDevice

VkPhysicalDevice Ogre::VulkanDevice::mPhysicalDevice

## ◆ mPresentQueue

VkQueue Ogre::VulkanDevice::mPresentQueue

## ◆ mQueueProps

FastArray<VkQueueFamilyProperties> Ogre::VulkanDevice::mQueueProps

## ◆ mRenderSystem

VulkanRenderSystem* Ogre::VulkanDevice::mRenderSystem

## ◆ mSupportedStages

uint32 Ogre::VulkanDevice::mSupportedStages

## ◆ mTransferQueues

FastArray<VulkanQueue> Ogre::VulkanDevice::mTransferQueues

Additional transfer queues to run async transfers (besides the main graphics one).

## ◆ mVaoManager

VulkanVaoManager* Ogre::VulkanDevice::mVaoManager

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

- OgreVulkanDevice.h