SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::VulkanDevice Class Reference

VulkanInstance Class. This class defines the VulkanDevice behave. This class is just a wrapper of vkdevice. More...

#include <VulkanDevice.h>

Inheritance diagram for Spices::VulkanDevice:
Spices::VulkanObject

Public Member Functions

 VulkanDevice (VulkanState &vulkanState)
 Constructor Function. Create vkDevice.
 
virtual ~VulkanDevice () override
 Destructor Function.
 
const SwapChainSupportDetailsGetSwapChainSupport ()
 Get SwapChain Utils.
 
void RequerySwapChainSupport ()
 Requery device's SwapChainSupportDetails. Mainly VkExtent2D.
 
const QueueHelperGetQueueHelper () const
 Get QueueHelper variable.
 
VkSampleCountFlagBits GetMaxUsableSampleCount () const
 Get device's max usable sample count.
 

Static Public Member Functions

static VkPhysicalDeviceRayTracingPipelinePropertiesKHR & GetRTPipelineProperties ()
 Get RayTracingPipelineProperties.
 
static VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV & GetDGCProperties ()
 Get DeviceGeneratedCommandsPropertiesNV.
 
static VkPhysicalDeviceFeatures & GetDeviceFeatures ()
 Get VkPhysicalDeviceFeatures.
 
static VkPhysicalDeviceProperties & GetDeviceProperties ()
 Get VkPhysicalDeviceProperties.
 

Protected Attributes

VulkanStatem_VulkanState
 The global VulkanState Referenced from VulkanRenderBackend.
 

Private Member Functions

bool SelectPhysicalDevice (const VkInstance &instance, const VkSurfaceKHR &surface, GLFWwindow *window)
 select a suitable physical device.
 
bool IsPropertyMeetDemand (const VkPhysicalDevice &device)
 Check all Property we need meet.
 
bool IsFeatureMeetDemand (const VkPhysicalDevice &device)
 Check all Feature we need meet.
 
void GetExtensionRequirements ()
 Get all physical device extension requirements our engine needed. Source 1 : user Setting.
 
bool IsExtensionMeetDemand (const VkPhysicalDevice &device)
 Check all Extension we need meet;.
 
bool IsQueueMeetDemand (const VkPhysicalDevice &device, const VkSurfaceKHR &surface)
 Check all Queue we need meet;.
 

Static Private Member Functions

static SwapChainSupportDetails QuerySwapChainSupport (const VkPhysicalDevice &device, const VkSurfaceKHR &surface, GLFWwindow *window)
 Query physical device's SwapChainSupport.
 

Private Attributes

std::vector< const char * > m_ExtensionProperties
 Device Extension Properties.
 
QueueHelper m_QueueHelper
 QueueHelper.
 
SwapChainSupportDetails m_SwapChainSupportDetails {}
 SwapChainSupportDetails.
 

Static Private Attributes

static VkPhysicalDeviceProperties m_DeviceProperties {}
 Selected Physical Device Properties.
 
static VkPhysicalDeviceFeatures m_DeviceFeatures {}
 Selected Physical Device Features.
 
static VkPhysicalDeviceRayTracingPipelinePropertiesKHR m_RayTracingProperties {}
 Device RayTracing Properties.
 
static VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV m_DGCProperties {}
 Device DGC Properties.
 

Detailed Description

VulkanInstance Class. This class defines the VulkanDevice behave. This class is just a wrapper of vkdevice.

Definition at line 117 of file VulkanDevice.h.


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