RavEngine
Loading...
Searching...
No Matches
RGL::DeviceVk Struct Reference
Inheritance diagram for RGL::DeviceVk:
[legend]
Collaboration diagram for RGL::DeviceVk:
[legend]

Public Member Functions

 DeviceVk (decltype(physicalDevice) physicalDevice)
 
void SetDebugNameForResource (void *resource, VkObjectType type, const char *debugName)
 
std::string GetBrandString () final
 
RGLSwapchainPtr CreateSwapchain (RGLSurfacePtr, RGLCommandQueuePtr, int width, int height) final
 
RGLPipelineLayoutPtr CreatePipelineLayout (const PipelineLayoutDescriptor &) final
 
RGLRenderPipelinePtr CreateRenderPipeline (const RenderPipelineDescriptor &) final
 
RGLComputePipelinePtr CreateComputePipeline (const ComputePipelineDescriptor &) final
 
RGLShaderLibraryPtr CreateShaderLibraryFromName (const std::string_view &name) final
 
RGLShaderLibraryPtr CreateDefaultShaderLibrary () final
 
RGLShaderLibraryPtr CreateShaderLibraryFromBytes (const std::span< const uint8_t >) final
 
RGLShaderLibraryPtr CreateShaderLibrarySourceCode (const std::string_view, const FromSourceConfig &config) final
 
RGLShaderLibraryPtr CreateShaderLibraryFromPath (const std::filesystem::path &) final
 
RGLBufferPtr CreateBuffer (const BufferConfig &) final
 
RGLTexturePtr CreateTextureWithData (const TextureConfig &, const TextureUploadData &) final
 
RGLTexturePtr CreateTexture (const TextureConfig &) final
 
RGLSamplerPtr CreateSampler (const SamplerConfig &) final
 
DeviceData GetDeviceData () final
 
TextureView GetGlobalBindlessTextureHeap () const final
 
RGLCommandQueuePtr CreateCommandQueue (QueueType type) final
 
RGLFencePtr CreateFence (bool preSignaled) final
 
void BlockUntilIdle () final
 
size_t GetTotalVRAM () const final
 
size_t GetCurrentVRAMInUse () const final
 
- Public Member Functions inherited from RGL::IDevice
virtual RGLComputePipelinePtr CreateComputePipeline (const struct ComputePipelineDescriptor &)=0
 

Public Attributes

VkDevice device = VK_NULL_HANDLE
 
VkPhysicalDevice physicalDevice = VK_NULL_HANDLE
 
QueueFamilyIndices indices
 
VkQueue presentQueue = VK_NULL_HANDLE
 
VkCommandPool commandPool = VK_NULL_HANDLE
 
VmaAllocator_T * vkallocator
 
PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR = nullptr
 
PFN_vkCmdEndDebugUtilsLabelEXT rgl_vkCmdEndDebugUtilsLabelEXT = nullptr
 
PFN_vkCmdBeginDebugUtilsLabelEXT rgl_vkCmdBeginDebugUtilsLabelEXT = nullptr
 
uint32_t frameIndex = 0
 
VkDescriptorSetLayout globalTextureDescriptorSetLayout = VK_NULL_HANDLE
 
VkDescriptorSetLayout globalBufferDescriptorSetLayout
 
FreeList< uint32_t, nTextureDescriptors > globalTextureDescriptorFreeList
 
FreeList< uint32_t, nBufferDescriptors > globalBufferDescriptorFreeList
 
VkDescriptorSet globalTextureDescriptorSet = VK_NULL_HANDLE
 
VkDescriptorSet globalBufferDescriptorSet = VK_NULL_HANDLE
 

Static Public Attributes

static constexpr uint32_t nTextureDescriptors = 2048
 
static constexpr uint32_t nBufferDescriptors = 65536
 

Additional Inherited Members

- Static Public Member Functions inherited from RGL::IDevice
static RGLDevicePtr CreateSystemDefaultDevice ()
 

Member Function Documentation

◆ BlockUntilIdle()

void RGL::DeviceVk::BlockUntilIdle ( )
finalvirtual

Implements RGL::IDevice.

◆ CreateBuffer()

RGLBufferPtr RGL::DeviceVk::CreateBuffer ( const BufferConfig &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateCommandQueue()

RGLCommandQueuePtr RGL::DeviceVk::CreateCommandQueue ( QueueType  type)
finalvirtual

Implements RGL::IDevice.

◆ CreateDefaultShaderLibrary()

RGLShaderLibraryPtr RGL::DeviceVk::CreateDefaultShaderLibrary ( )
finalvirtual

Implements RGL::IDevice.

◆ CreateFence()

RGLFencePtr RGL::DeviceVk::CreateFence ( bool  preSignaled)
finalvirtual

Implements RGL::IDevice.

◆ CreatePipelineLayout()

RGLPipelineLayoutPtr RGL::DeviceVk::CreatePipelineLayout ( const PipelineLayoutDescriptor &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateRenderPipeline()

RGLRenderPipelinePtr RGL::DeviceVk::CreateRenderPipeline ( const RenderPipelineDescriptor &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateSampler()

RGLSamplerPtr RGL::DeviceVk::CreateSampler ( const SamplerConfig &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibraryFromBytes()

RGLShaderLibraryPtr RGL::DeviceVk::CreateShaderLibraryFromBytes ( const std::span< const uint8_t >  )
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibraryFromName()

RGLShaderLibraryPtr RGL::DeviceVk::CreateShaderLibraryFromName ( const std::string_view &  name)
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibraryFromPath()

RGLShaderLibraryPtr RGL::DeviceVk::CreateShaderLibraryFromPath ( const std::filesystem::path &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateShaderLibrarySourceCode()

RGLShaderLibraryPtr RGL::DeviceVk::CreateShaderLibrarySourceCode ( const std::string_view  ,
const FromSourceConfig &  config 
)
finalvirtual

Implements RGL::IDevice.

◆ CreateSwapchain()

RGLSwapchainPtr RGL::DeviceVk::CreateSwapchain ( RGLSurfacePtr  ,
RGLCommandQueuePtr  ,
int  width,
int  height 
)
finalvirtual

Implements RGL::IDevice.

◆ CreateTexture()

RGLTexturePtr RGL::DeviceVk::CreateTexture ( const TextureConfig &  )
finalvirtual

Implements RGL::IDevice.

◆ CreateTextureWithData()

RGLTexturePtr RGL::DeviceVk::CreateTextureWithData ( const TextureConfig &  ,
const TextureUploadData &   
)
finalvirtual

Implements RGL::IDevice.

◆ GetBrandString()

std::string RGL::DeviceVk::GetBrandString ( )
finalvirtual

Implements RGL::IDevice.

◆ GetCurrentVRAMInUse()

size_t RGL::DeviceVk::GetCurrentVRAMInUse ( ) const
finalvirtual

Implements RGL::IDevice.

◆ GetDeviceData()

DeviceData RGL::DeviceVk::GetDeviceData ( )
finalvirtual

Implements RGL::IDevice.

◆ GetGlobalBindlessTextureHeap()

TextureView RGL::DeviceVk::GetGlobalBindlessTextureHeap ( ) const
finalvirtual

Implements RGL::IDevice.

◆ GetTotalVRAM()

size_t RGL::DeviceVk::GetTotalVRAM ( ) const
finalvirtual

Implements RGL::IDevice.


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