CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
VKCommon.hpp File Reference

Go to the source code of this file.

Classes

class  CeresEngine::VKObjectBase
 
class  CeresEngine::VKObject< ChildTypeName, ParentType >
 
class  CeresEngine::VKObject< ChildTypeName, void >
 
class  CeresEngine::VKDeviceObjectBase
 
class  CeresEngine::VKDeviceObject< ChildTypeName, ParentType >
 
class  CeresEngine::VKObjectCache< ObjectType, OwnerType, DescriptorType >
 A object that caches existing Vulkan objects. More...
 
struct  CeresEngine::VKSurfaceSupportDetails
 
struct  CeresEngine::VKPickedQueueFamily
 A structure that represents a picked queue family. More...
 
struct  CeresEngine::VKQueueFamilyAssigner
 A helper class helps assigning a queue families. More...
 
struct  CeresEngine::VKQueueFamilyAssigner::FamilyInfo
 Struct that contains information about each queue family supported by the device. More...
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkInstance >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkBuffer >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkImage >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkImageView >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkSampler >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkPipeline >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkDescriptorSet >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkCommandBuffer >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkRenderPass >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkShaderModule >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkFramebuffer >
 
struct  CeresEngine::VKDebugMarkerTypeTrait< VkSemaphore >
 

Namespaces

namespace  CeresEngine
 

Macros

#define CE_VK_SAFE_CAST
 
#define CE_VK_PROFILE_FUNC
 
#define CE_VK_CHECK_PTR(P)   (P != nullptr)
 
#define CE_VK_RENDER_API_OBJECT_FORWARD(N)
 
#define CE_VK_CAST   dynamic_cast
 
#define DECLARE_DEBUG_MARKER_TYPE_TRAIT(T, C)    template<> struct VKDebugMarkerTypeTrait<T> { static const constexpr VkObjectType type = C; };
 

Typedefs

using CeresEngine::VKAllocator = DefaultAllocator
 
using CeresEngine::VKObjectAllocator = ThreadSafeAllocator< MemoryPool< NodePool, AllocatorReference< VKAllocator > > >
 A pool allocator to be used for individual object pools.
 
template<typename T >
using CeresEngine::VKVector = Vector< T, VKAllocator >
 
using CeresEngine::VKBufferPtr = RC< VKBuffer >
 
using CeresEngine::VKCommandBufferPtr = RC< VKCommandBuffer >
 
using CeresEngine::VKCommandQueuePtr = RC< VKCommandQueue >
 
using CeresEngine::VKComputePipelinePtr = RC< VKComputePipeline >
 
using CeresEngine::VKDevicePtr = RC< VKDevice >
 
using CeresEngine::VKFencePtr = RC< VKFence >
 
using CeresEngine::VKGraphicsPipelinePtr = RC< VKGraphicsPipeline >
 
using CeresEngine::VKImagePtr = RC< VKImage >
 
using CeresEngine::VKImageViewPtr = RC< VKImageView >
 
using CeresEngine::VKPipelineLayoutPtr = RC< VKPipelineLayout >
 
using CeresEngine::VKRenderPassPtr = RC< VKRenderPass >
 
using CeresEngine::VKRenderTargetPtr = RC< VKRenderTarget >
 
using CeresEngine::VKResourceSetPtr = RC< VKResourceSet >
 
using CeresEngine::VKSamplerPtr = RC< VKSampler >
 
using CeresEngine::VKShaderPtr = RC< VKShader >
 
using CeresEngine::VKShaderProgramPtr = RC< VKShaderProgram >
 
using CeresEngine::VKSwapchainPtr = RC< VKSwapchain >
 
using CeresEngine::VKTimerQueryPtr = RC< VKTimerQuery >
 
using CeresEngine::VKOcclusionQueryPtr = RC< VKOcclusionQuery >
 

Functions

VKAllocatorCeresEngine::gVKAllocator ()
 
VkShaderStageFlagBits CeresEngine::VKMap (ShaderType shaderType)
 
VkFormat CeresEngine::VKMap (Format format)
 
VkImageViewType CeresEngine::VKMap (GPUImageType imageType)
 
VkPrimitiveTopology CeresEngine::VKMap (PrimitiveTopology primitiveTopology)
 
VkPolygonMode CeresEngine::VKMap (GPUPolygonMode polygonMode)
 
VkCullModeFlags CeresEngine::VKMap (GPUCullMode cullMode)
 
VkCompareOp CeresEngine::VKMap (GPUCompareOp compareOp)
 
VkStencilOp CeresEngine::VKMap (GPUStencilOp stencilOp)
 
VkLogicOp CeresEngine::VKMap (GPULogicOp logicOp)
 
VkBlendFactor CeresEngine::VKMap (GPUBlendOp blendOp)
 
VkBlendOp CeresEngine::VKMap (GPUBlendArithmetic blendArithmetic)
 
VkSamplerAddressMode CeresEngine::VKMap (GPUSamplerAddressMode addressMode)
 
VkDescriptorType CeresEngine::VKMap (GPUDescriptorType resourceViewType)
 
VkAttachmentLoadOp CeresEngine::VKMap (GPUAttachmentLoadOp loadOp)
 
VkAttachmentStoreOp CeresEngine::VKMap (GPUAttachmentStoreOp storeOp)
 
VkImageLayout CeresEngine::VKMap (GPUImageLayout layout)
 
VkIndexType CeresEngine::VKMap (IndexType type)
 
VkMemoryPropertyFlags CeresEngine::VKMap (const GPUMemoryProperties &memoryProperty)
 
VkComponentSwizzle CeresEngine::VKMap (GPUImageSwizzle imageSwizzle)
 
VkVertexInputRate CeresEngine::VKMap (GPUVertexInputRate vertexInputRate)
 
VkImageAspectFlags CeresEngine::toVkImageAspectFlags (Format format)
 
void CeresEngine::convert (VkRect2D &dst, const Viewport &src) noexcept
 
void CeresEngine::convert (VkViewport &dst, const Viewport &src) noexcept
 
VkViewport CeresEngine::convert (const Viewport &src) noexcept
 
void CeresEngine::convert (VkRect2D &dst, const Scissor &src) noexcept
 
VkRect2D CeresEngine::convert (const Scissor &src) noexcept
 
void CeresEngine::convert (VkOffset3D &dst, const TOffset3< UInt32 > &src) noexcept
 
VkOffset3D CeresEngine::convert (const TOffset3< UInt32 > &src) noexcept
 
void CeresEngine::convert (VkExtent3D &dst, const TExtent3< UInt32 > &src) noexcept
 
VkExtent3D CeresEngine::convert (const TExtent3< UInt32 > &src) noexcept
 
StringView CeresEngine::VKObjectTypeString (VkObjectType objectType) noexcept
 
constexpr VkBool32 CeresEngine::VKBoolean (const bool value) noexcept
 
void CeresEngine::VKThrowIfFailed (VkResult result, const char *info)
 
VKSurfaceSupportDetails CeresEngine::VKQuerySurfaceSupport (VkPhysicalDevice device, VkSurfaceKHR surface)
 Queries the device for surface support details.
 
Vector< VkLayerPropertiesCeresEngine::VKQueryInstanceLayerProperties ()
 Queries the supported instance layers.
 
Vector< VkExtensionPropertiesCeresEngine::VKQueryInstanceExtensionProperties (const char *layerName=nullptr)
 Queries the supported instance extensions.
 
Vector< VkPhysicalDeviceCeresEngine::VKQueryPhysicalDevices (VkInstance instance)
 Queries the available physical devices.
 
Vector< VkExtensionPropertiesCeresEngine::VKQueryDeviceExtensionProperties (VkPhysicalDevice device)
 Queries the device for supported extensions.
 
Vector< VkQueueFamilyPropertiesCeresEngine::VKQueryQueueFamilyProperties (VkPhysicalDevice device)
 Query the device for queue getFamilyIndex properties.
 
template<typename T >
VkResult CeresEngine::VKSetObjectName (const VkDevice device, T object, StringView name)
 

Macro Definition Documentation

◆ CE_VK_CAST

#define CE_VK_CAST   dynamic_cast

◆ CE_VK_CHECK_PTR

#define CE_VK_CHECK_PTR (   P)    (P != nullptr)

◆ CE_VK_PROFILE_FUNC

#define CE_VK_PROFILE_FUNC

◆ CE_VK_RENDER_API_OBJECT_FORWARD

#define CE_VK_RENDER_API_OBJECT_FORWARD (   N)
Value:
class VK##N; \
using VK##N##Ptr = RC<VK##N>;

◆ CE_VK_SAFE_CAST

#define CE_VK_SAFE_CAST

◆ DECLARE_DEBUG_MARKER_TYPE_TRAIT

#define DECLARE_DEBUG_MARKER_TYPE_TRAIT (   T,
 
)     template<> struct VKDebugMarkerTypeTrait<T> { static const constexpr VkObjectType type = C; };