Skip to content

LiteFX::Rendering::Backends::VulkanDevice

Implements a Vulkan graphics device.

Synopsis

Declared in <litefx/backends/vulkan.hpp>

Base Classes

Type Aliases

Member Functions

NameDescription
~VulkanDevice [destructor] [virtual]Destructor
adapter [virtual]Returns the graphics adapter, the device uses for drawing.
allocateGlobalDescriptors allocateGlobalDescriptors overloads
bindDescriptorSet Binds the descriptors of the descriptor set to the global descriptor heaps.
bindGlobalDescriptorHeaps Binds the global descriptor heap.
buildBarrier [virtual]Returns a builder for a Barrier.
buildComputePipeline [virtual]Returns a builder for a ComputePipeline.
buildInputAssembler [virtual]Returns a builder for a InputAssembler.
buildPipelineLayout [virtual]Returns a builder for a PipelineLayout.
buildRasterizer [virtual]Returns a builder for a Rasterizer.
buildRayTracingPipeline Returns a builder for a RayTracingPipeline.
buildRenderPass Returns a builder for a RenderPass.
buildRenderPipeline Returns a builder for a RenderPipeline.
buildShaderProgram [virtual]Returns a builder for a ShaderProgram.
computeAccelerationStructureSizes computeAccelerationStructureSizes overloads
createQueue [virtual]Attempts to create a new queue that supports the combination of queue types specified by the type parameter.
defaultQueue [virtual]Returns the instance of the default ICommandQueue that supports the combination of queue types specified by the type parameter.
descriptorHeaps [virtual]Returns the global descriptor heaps from which all descriptors in the device are allocated.
descriptorSize Resolves the binary size for a descriptor of type.
descriptorStride Returns the width required for a descriptor on heapType.
enabledExtensions Returns the array that stores the extensions that were used to initialize the device.
factory [virtual]Returns the factory instance, used to create instances from the device.
handle [virtual]Returns the resource managed by the class.
makeBarrier [virtual]Creates a memory barrier instance.
makeFrameBuffer Creates a new frame buffer instance.
maxPushDataSize Returns the maximum push data size supported by the device.
maximumMultiSamplingLevel [virtual]Queries the device for the maximum supported number of multi-sampling levels.
queueFamilyIndices Returns the indices of all queue families with support for type.
setDebugName Sets the debug name for an object.
state [virtual]Returns the device state that can be used to manage resources.
supportsStorageImageFormat [virtual]Returns true, if format can be used in writable images, i.e., as RWTexture<T>.
supportsTexelBufferFormat [virtual]Returns true, if format can be used in texel buffers, i.e., as Buffer<T>, or as RWBuffer<T> if writable is set.
surface [virtual]Returns the surface, the device draws to.
swapChain Returns the swap chain, that contains the back and front buffers used for presentation.
ticksPerMillisecond [virtual]Returns the number of GPU ticks per milliseconds.
updateGlobalDescriptors Updates a range of descriptors in the global buffer descriptor heap with the descriptors from descriptorSet.
wait [virtual]Waits until all queues allocated from the device have finished the work issued prior to this point.
writeGlobalDescriptorHeap Writes host descriptor data into the global heapType heap, starting at targetIndex.

Static Member Functions

NameDescription
create Initializes the device instance.

Static Data Members

NameDescription
DEFAULT_RESOURCE_HEAP_SIZE The default size for the global resource descriptor heap. Matches the required maximum in D3D12.
DEFAULT_SAMPLER_HEAP_SIZE The default size for the global sampler descriptor heap. Matches the required maximum in D3D12.

Protected Member Functions

NameDescription
operator= Assignment operators
handle [virtual]Returns the resource managed by the class.

Friends

NameDescription
LiteFX::Rendering::Backends::VulkanSwapChainImplements a Vulkan swap chain.
LiteFX::Rendering::Backends::VulkanQueueImplements a Vulkan command queue.
LiteFX::Rendering::Backends::VulkanDescriptorRangeImplements a Vulkan IDescriptorRange.
LiteFX::Rendering::Backends::VulkanDescriptorSetImplements a Vulkan DescriptorSet.
LiteFX::Rendering::Backends::VulkanBackendDefines a rendering backend that creates a Vulkan device.
LiteFX::SharedObject::AllocatorAn allocator used to allocate the shared object.
LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl
LiteFX::PimplPtrA smart pointer that manages an implementation instance for a public interface class.