|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/RenderAPI/Vulkan/VKDevice.hpp>
Static Public Member Functions | |
| static VkPhysicalDevice | pickPhysicalDevice (VkInstance instance, const DevicePickerFunc &picker) |
| Picks a suitable physical device to be used with the renderer. | |
Static Public Member Functions inherited from CeresEngine::VKObject< VKDevice, GPUDevice > | |
| static RC< VKDevice > | cast (const RC< GPUDevice > &ptr) |
Casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName. | |
| static VKDevice & | cast (GPUDevice &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const VKDevice & | cast (const GPUDevice &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static VKDevice * | cast (GPUDevice *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const VKDevice * | cast (const GPUDevice *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
Static Public Member Functions inherited from CeresEngine::VKObjectBase | |
| static void * | operator new (size_t size) noexcept |
| static void | operator delete (void *p, std::size_t sz) noexcept |
Public Attributes | |
| VKDeviceObjectCache< VKRenderPass > | renderPasses {*this} |
| VKDeviceObjectCache< VKPipelineLayout > | pipelineLayouts {*this} |
| VKDeviceObjectCache< VKGraphicsPipeline > | graphicsPipelines {*this} |
| VKDeviceObjectCache< VKComputePipeline > | computePipelines {*this} |
| VKDeviceObjectCache< VKShader > | shaders {*this} |
| VKDeviceObjectCache< VKShaderProgram > | shaderPrograms {*this} |
| VKDeviceObjectCache< VKRenderTarget > | renderTargets {*this} |
| VKDeviceObjectCache< VKSampler > | samplers {*this} |
| const VKDeviceExtensionSet | supportedExtensions |
| VKDeviceExtensionSet | enabledExtensions |
| VkAllocationCallbacks * | allocationCallbacks = nullptr |
Public Attributes inherited from CeresEngine::GPUDevice | |
| ExecutionContext & | transferExecutionContext |
| const GPUDeviceInfo & | information |
| The The device information structure. | |
| const GPURenderingCapabilities & | capabilities |
| The device capabilities structure. | |
Friends | |
| class | VKCommandQueue |
Additional Inherited Members | |
Protected Member Functions inherited from CeresEngine::GPUObject | |
| virtual void | destroy () noexcept |
| A internal method called by the system when the object reference count reaches zero. | |
| CeresEngine::VKDevice::VKDevice | ( | VKRenderAPI & | renderer, |
| const GPUDeviceDescriptor & | descriptor, | ||
| VkPhysicalDevice | physicalDevice | ||
| ) |
|
final |
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
| void CeresEngine::VKDevice::didSubmitCommandBuffer | ( | VKCommandBuffer & | commandBuffer | ) |
| UInt32 CeresEngine::VKDevice::findMemoryType | ( | UInt32 | typeFilter, |
| VkMemoryPropertyFlags | properties | ||
| ) |
Finds a suitable memory type.
| typeFilter | The type filter |
| properties | The memory properties |
|
finalvirtual |
Implements CeresEngine::GPUDevice.
| GPUBufferPtr CeresEngine::VKDevice::getDummyBuffer | ( | ) | const |
| GPUImagePtr CeresEngine::VKDevice::getDummyImage | ( | ) | const |
Returns a dummy Image object.
Image object. | GPUSamplerPtr CeresEngine::VKDevice::getDummySampler | ( | ) | const |
Returns a dummy Sampler object.
Sampler object.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
inline |
|
inline |
VKRenderer instance.
|
inline |
|
inline |
|
inline |
|
inline |
VKRenderer instance.
|
finalvirtual |
Implements CeresEngine::GPUDevice.
|
inlinenoexcept |
The Vulkan device object.
|
static |
Picks a suitable physical device to be used with the renderer.
| instance | The Vulkan instance object |
| picker | A picker callable |
| void CeresEngine::VKDevice::update | ( | ) |
| void CeresEngine::VKDevice::wait | ( | ) |
|
friend |
| VkAllocationCallbacks* CeresEngine::VKDevice::allocationCallbacks = nullptr |
| VKDeviceObjectCache<VKComputePipeline> CeresEngine::VKDevice::computePipelines {*this} |
| VKDeviceExtensionSet CeresEngine::VKDevice::enabledExtensions |
| VKDeviceObjectCache<VKGraphicsPipeline> CeresEngine::VKDevice::graphicsPipelines {*this} |
|
private |
The device capabilities.
|
private |
The Vulkan compute queue.
|
private |
The Vulkan device object.
|
private |
|
private |
|
private |
|
private |
The Vulkan graphics queue.
|
private |
The device information structure.
|
private |
|
private |
The set of command buffer currently in execution.
|
private |
The Vulkan physical device that backs the virtual device instance.
|
private |
|
private |
|
private |
|
private |
The owning VKRenderer instance.
|
private |
The device's default swapchain object.
This should eventually be removed and swapchains should be handled by the user.
|
private |
The thread that runs the transferQueue.
|
private |
The Vulkan presentation queue.
| VKDeviceObjectCache<VKPipelineLayout> CeresEngine::VKDevice::pipelineLayouts {*this} |
| VKDeviceObjectCache<VKRenderPass> CeresEngine::VKDevice::renderPasses {*this} |
| VKDeviceObjectCache<VKRenderTarget> CeresEngine::VKDevice::renderTargets {*this} |
| VKDeviceObjectCache<VKSampler> CeresEngine::VKDevice::samplers {*this} |
| VKDeviceObjectCache<VKShaderProgram> CeresEngine::VKDevice::shaderPrograms {*this} |
| VKDeviceObjectCache<VKShader> CeresEngine::VKDevice::shaders {*this} |
| const VKDeviceExtensionSet CeresEngine::VKDevice::supportedExtensions |