Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::GraphicsAPI::Vulkan::Core Class Reference
Inheritance diagram for Grindstone::GraphicsAPI::Vulkan::Core:
Grindstone::GraphicsAPI::Core

Public Member Functions

virtual bool Initialize (const Grindstone::GraphicsAPI::Core::CreateInfo &ci) override
virtual void RegisterWindow (Window *window) override
QueueFamilyIndices FindQueueFamilies (VkPhysicalDevice device)
uint32_t FindMemoryType (uint32_t typeFilter, VkMemoryPropertyFlags properties)
virtual VkInstance GetInstance ()
virtual VkDevice GetDevice ()
virtual VkPhysicalDevice GetPhysicalDevice ()
virtual VkCommandBuffer BeginSingleTimeCommands (const char *debugName)
virtual uint32_t GetGraphicsFamily ()
virtual void EndSingleTimeCommands (VkCommandBuffer commandBuffer)
VkCommandPool GetGraphicsCommandPool () const
GpuCrashTrackerGetGpuCrashTracker ()
virtual void NameObject (VkObjectType objectType, void *object, const char *objectName)
virtual const char * GetVendorName () const override
virtual const char * GetAdapterName () const override
virtual const char * GetAPIName () const override
virtual const char * GetAPIVersion () const override
virtual void AdjustPerspective (float *perspective) override
virtual void DeleteFramebuffer (GraphicsAPI::Framebuffer *ptr) override
virtual void DeleteBuffer (GraphicsAPI::Buffer *ptr) override
virtual void DeleteGraphicsPipeline (GraphicsAPI::GraphicsPipeline *ptr) override
virtual void DeleteComputePipeline (GraphicsAPI::ComputePipeline *ptr) override
virtual void DeletePipelineLayout (GraphicsAPI::PipelineLayout *ptr) override
virtual void DeleteRenderPass (GraphicsAPI::RenderPass *ptr) override
virtual void DeleteSampler (GraphicsAPI::Sampler *ptr) override
virtual void DeleteImage (GraphicsAPI::Image *ptr) override
virtual void DeleteDescriptorSet (GraphicsAPI::DescriptorSet *ptr) override
virtual void DeleteDescriptorSetLayout (GraphicsAPI::DescriptorSetLayout *ptr) override
virtual void DeleteCommandBuffer (GraphicsAPI::CommandBuffer *ptr) override
virtual void DeleteVertexArrayObject (GraphicsAPI::VertexArrayObject *ptr) override
virtual GraphicsAPI::FramebufferCreateFramebuffer (const GraphicsAPI::Framebuffer::CreateInfo &ci) override
virtual GraphicsAPI::RenderPassCreateRenderPass (const GraphicsAPI::RenderPass::CreateInfo &ci) override
virtual GraphicsAPI::GraphicsPipelineCreateGraphicsPipeline (const GraphicsAPI::GraphicsPipeline::CreateInfo &ci) override
virtual GraphicsAPI::ComputePipelineCreateComputePipeline (const GraphicsAPI::ComputePipeline::CreateInfo &ci) override
virtual GraphicsAPI::PipelineLayoutCreatePipelineLayout (const GraphicsAPI::PipelineLayout::CreateInfo &ci) override
virtual GraphicsAPI::CommandBufferCreateCommandBuffer (const GraphicsAPI::CommandBuffer::CreateInfo &ci) override
virtual GraphicsAPI::VertexArrayObjectCreateVertexArrayObject (const GraphicsAPI::VertexArrayObject::CreateInfo &ci) override
virtual GraphicsAPI::BufferCreateBuffer (const GraphicsAPI::Buffer::CreateInfo &ci) override
virtual GraphicsAPI::SamplerCreateSampler (const GraphicsAPI::Sampler::CreateInfo &ci) override
virtual GraphicsAPI::ImageCreateImage (const GraphicsAPI::Image::CreateInfo &ci) override
virtual GraphicsAPI::DescriptorSetCreateDescriptorSet (const GraphicsAPI::DescriptorSet::CreateInfo &ci) override
virtual GraphicsAPI::DescriptorSetLayoutCreateDescriptorSetLayout (const GraphicsAPI::DescriptorSetLayout::CreateInfo &ci) override
virtual GraphicsAPI::GraphicsPipelineGetOrCreateGraphicsPipelineFromCache (GraphicsAPI::PipelineLayout *pipelineLayout, const GraphicsAPI::GraphicsPipeline::PipelineData &pipelineData, const GraphicsAPI::VertexInputLayout *vertexInputLayout) override
virtual GraphicsAPI::DescriptorSetLayoutGetOrCreateDescriptorSetLayoutFromCache (const Grindstone::GraphicsAPI::DescriptorSetLayout::CreateInfo &createInfo) override
virtual GraphicsAPI::PipelineLayoutGetOrCreatePipelineLayoutFromCache (const Grindstone::GraphicsAPI::PipelineLayout::CreateInfo &createInfo) override
virtual GraphicsAPI::SamplerGetOrCreateSampler (const Grindstone::GraphicsAPI::Sampler::CreateInfo &createInfo) override
virtual bool ShouldUseImmediateMode () const override
virtual bool SupportsCommandBuffers () const override
virtual bool SupportsTesselation () const override
virtual bool SupportsGeometryShader () const override
virtual bool SupportsComputeShader () const override
virtual bool SupportsMultiDrawIndirect () const override
virtual void WaitUntilIdle () override
virtual void Clear (ClearMode mask, float clear_color[4], float clear_depth, uint32_t clear_stencil) override
virtual void BindGraphicsPipeline (GraphicsAPI::GraphicsPipeline *) override
virtual void BindVertexArrayObject (GraphicsAPI::VertexArrayObject *) override
virtual void DrawImmediateIndexed (GeometryType geom_type, bool largeBuffer, int32_t baseVertex, uint32_t indexOffsetPtr, uint32_t indexCount) override
virtual void DrawImmediateVertices (GeometryType geom_type, uint32_t base, uint32_t count) override
virtual void SetImmediateBlending (BlendOperation colorOp, BlendFactor colorSrc, BlendFactor colorDst, BlendOperation alphaOp, BlendFactor alphaSrc, BlendFactor alphaDst) override
virtual void EnableDepthWrite (bool state) override
virtual void SetColorMask (ColorMask mask) override
Public Member Functions inherited from Grindstone::GraphicsAPI::Core
API GetAPI () const

Static Public Member Functions

static Vulkan::CoreGet ()

Public Attributes

VkQueue graphicsQueue = nullptr
VkQueue presentQueue = nullptr
uint32_t graphicsFamily = 0
uint32_t presentFamily = 0
VkCommandPool commandPoolGraphics = nullptr
VkDescriptorPool descriptorPool = nullptr

Static Public Attributes

static Vulkan::CoregraphicsWrapper = nullptr

Additional Inherited Members

Protected Attributes inherited from Grindstone::GraphicsAPI::Core
bool debug
API apiType
VendorType vendorType

Constructor & Destructor Documentation

◆ ~Core()

Grindstone::GraphicsAPI::Vulkan::Core::~Core ( )
overridevirtual

Reimplemented from Grindstone::GraphicsAPI::Core.

Member Function Documentation

◆ AdjustPerspective()

void Grindstone::GraphicsAPI::Vulkan::Core::AdjustPerspective ( float * perspective)
overridevirtual

◆ BindGraphicsPipeline()

void Grindstone::GraphicsAPI::Vulkan::Core::BindGraphicsPipeline ( GraphicsAPI::GraphicsPipeline * )
overridevirtual

◆ BindVertexArrayObject()

void Grindstone::GraphicsAPI::Vulkan::Core::BindVertexArrayObject ( GraphicsAPI::VertexArrayObject * )
overridevirtual

◆ Clear()

void Grindstone::GraphicsAPI::Vulkan::Core::Clear ( ClearMode mask,
float clear_color[4],
float clear_depth,
uint32_t clear_stencil )
overridevirtual

◆ CreateBuffer()

Base::Buffer * Grindstone::GraphicsAPI::Vulkan::Core::CreateBuffer ( const GraphicsAPI::Buffer::CreateInfo & ci)
overridevirtual

◆ CreateCommandBuffer()

Base::CommandBuffer * Grindstone::GraphicsAPI::Vulkan::Core::CreateCommandBuffer ( const GraphicsAPI::CommandBuffer::CreateInfo & ci)
overridevirtual

◆ CreateComputePipeline()

Base::ComputePipeline * Grindstone::GraphicsAPI::Vulkan::Core::CreateComputePipeline ( const GraphicsAPI::ComputePipeline::CreateInfo & ci)
overridevirtual

◆ CreateDescriptorSet()

Base::DescriptorSet * Grindstone::GraphicsAPI::Vulkan::Core::CreateDescriptorSet ( const GraphicsAPI::DescriptorSet::CreateInfo & ci)
overridevirtual

◆ CreateDescriptorSetLayout()

Base::DescriptorSetLayout * Grindstone::GraphicsAPI::Vulkan::Core::CreateDescriptorSetLayout ( const GraphicsAPI::DescriptorSetLayout::CreateInfo & ci)
overridevirtual

◆ CreateFramebuffer()

Base::Framebuffer * Grindstone::GraphicsAPI::Vulkan::Core::CreateFramebuffer ( const GraphicsAPI::Framebuffer::CreateInfo & ci)
overridevirtual

◆ CreateGraphicsPipeline()

Base::GraphicsPipeline * Grindstone::GraphicsAPI::Vulkan::Core::CreateGraphicsPipeline ( const GraphicsAPI::GraphicsPipeline::CreateInfo & ci)
overridevirtual

◆ CreateImage()

Base::Image * Grindstone::GraphicsAPI::Vulkan::Core::CreateImage ( const GraphicsAPI::Image::CreateInfo & ci)
overridevirtual

◆ CreatePipelineLayout()

Base::PipelineLayout * Grindstone::GraphicsAPI::Vulkan::Core::CreatePipelineLayout ( const GraphicsAPI::PipelineLayout::CreateInfo & ci)
overridevirtual

◆ CreateRenderPass()

Base::RenderPass * Grindstone::GraphicsAPI::Vulkan::Core::CreateRenderPass ( const GraphicsAPI::RenderPass::CreateInfo & ci)
overridevirtual

◆ CreateSampler()

Base::Sampler * Grindstone::GraphicsAPI::Vulkan::Core::CreateSampler ( const GraphicsAPI::Sampler::CreateInfo & ci)
overridevirtual

◆ CreateVertexArrayObject()

Base::VertexArrayObject * Grindstone::GraphicsAPI::Vulkan::Core::CreateVertexArrayObject ( const GraphicsAPI::VertexArrayObject::CreateInfo & ci)
overridevirtual

◆ DeleteBuffer()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteBuffer ( GraphicsAPI::Buffer * ptr)
overridevirtual

◆ DeleteCommandBuffer()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteCommandBuffer ( GraphicsAPI::CommandBuffer * ptr)
overridevirtual

◆ DeleteComputePipeline()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteComputePipeline ( GraphicsAPI::ComputePipeline * ptr)
overridevirtual

◆ DeleteDescriptorSet()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteDescriptorSet ( GraphicsAPI::DescriptorSet * ptr)
overridevirtual

◆ DeleteDescriptorSetLayout()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteDescriptorSetLayout ( GraphicsAPI::DescriptorSetLayout * ptr)
overridevirtual

◆ DeleteFramebuffer()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteFramebuffer ( GraphicsAPI::Framebuffer * ptr)
overridevirtual

◆ DeleteGraphicsPipeline()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteGraphicsPipeline ( GraphicsAPI::GraphicsPipeline * ptr)
overridevirtual

◆ DeleteImage()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteImage ( GraphicsAPI::Image * ptr)
overridevirtual

◆ DeletePipelineLayout()

void Grindstone::GraphicsAPI::Vulkan::Core::DeletePipelineLayout ( GraphicsAPI::PipelineLayout * ptr)
overridevirtual

◆ DeleteRenderPass()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteRenderPass ( GraphicsAPI::RenderPass * ptr)
overridevirtual

◆ DeleteSampler()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteSampler ( GraphicsAPI::Sampler * ptr)
overridevirtual

◆ DeleteVertexArrayObject()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteVertexArrayObject ( GraphicsAPI::VertexArrayObject * ptr)
overridevirtual

◆ DrawImmediateIndexed()

void Grindstone::GraphicsAPI::Vulkan::Core::DrawImmediateIndexed ( GeometryType geom_type,
bool largeBuffer,
int32_t baseVertex,
uint32_t indexOffsetPtr,
uint32_t indexCount )
overridevirtual

◆ DrawImmediateVertices()

void Grindstone::GraphicsAPI::Vulkan::Core::DrawImmediateVertices ( GeometryType geom_type,
uint32_t base,
uint32_t count )
overridevirtual

◆ EnableDepthWrite()

void Grindstone::GraphicsAPI::Vulkan::Core::EnableDepthWrite ( bool state)
overridevirtual

◆ GetAdapterName()

const char * Grindstone::GraphicsAPI::Vulkan::Core::GetAdapterName ( ) const
overridevirtual

◆ GetAPIName()

const char * Grindstone::GraphicsAPI::Vulkan::Core::GetAPIName ( ) const
overridevirtual

◆ GetAPIVersion()

const char * Grindstone::GraphicsAPI::Vulkan::Core::GetAPIVersion ( ) const
overridevirtual

◆ GetOrCreateDescriptorSetLayoutFromCache()

Base::DescriptorSetLayout * Grindstone::GraphicsAPI::Vulkan::Core::GetOrCreateDescriptorSetLayoutFromCache ( const Grindstone::GraphicsAPI::DescriptorSetLayout::CreateInfo & createInfo)
overridevirtual

◆ GetOrCreateGraphicsPipelineFromCache()

Base::GraphicsPipeline * Grindstone::GraphicsAPI::Vulkan::Core::GetOrCreateGraphicsPipelineFromCache ( GraphicsAPI::PipelineLayout * pipelineLayout,
const GraphicsAPI::GraphicsPipeline::PipelineData & pipelineData,
const GraphicsAPI::VertexInputLayout * vertexInputLayout )
overridevirtual

◆ GetOrCreatePipelineLayoutFromCache()

Base::PipelineLayout * Grindstone::GraphicsAPI::Vulkan::Core::GetOrCreatePipelineLayoutFromCache ( const Grindstone::GraphicsAPI::PipelineLayout::CreateInfo & createInfo)
overridevirtual

◆ GetOrCreateSampler()

Base::Sampler * Grindstone::GraphicsAPI::Vulkan::Core::GetOrCreateSampler ( const Grindstone::GraphicsAPI::Sampler::CreateInfo & createInfo)
overridevirtual

◆ GetVendorName()

const char * Grindstone::GraphicsAPI::Vulkan::Core::GetVendorName ( ) const
overridevirtual

◆ Initialize()

bool Grindstone::GraphicsAPI::Vulkan::Core::Initialize ( const Grindstone::GraphicsAPI::Core::CreateInfo & ci)
overridevirtual

◆ RegisterWindow()

void Grindstone::GraphicsAPI::Vulkan::Core::RegisterWindow ( Window * window)
overridevirtual

◆ SetColorMask()

void Grindstone::GraphicsAPI::Vulkan::Core::SetColorMask ( ColorMask mask)
overridevirtual

◆ SetImmediateBlending()

void Grindstone::GraphicsAPI::Vulkan::Core::SetImmediateBlending ( BlendOperation colorOp,
BlendFactor colorSrc,
BlendFactor colorDst,
BlendOperation alphaOp,
BlendFactor alphaSrc,
BlendFactor alphaDst )
overridevirtual

◆ ShouldUseImmediateMode()

bool Grindstone::GraphicsAPI::Vulkan::Core::ShouldUseImmediateMode ( ) const
inlineoverridevirtual

◆ SupportsCommandBuffers()

bool Grindstone::GraphicsAPI::Vulkan::Core::SupportsCommandBuffers ( ) const
inlineoverridevirtual

◆ SupportsComputeShader()

bool Grindstone::GraphicsAPI::Vulkan::Core::SupportsComputeShader ( ) const
inlineoverridevirtual

◆ SupportsGeometryShader()

bool Grindstone::GraphicsAPI::Vulkan::Core::SupportsGeometryShader ( ) const
inlineoverridevirtual

◆ SupportsMultiDrawIndirect()

bool Grindstone::GraphicsAPI::Vulkan::Core::SupportsMultiDrawIndirect ( ) const
inlineoverridevirtual

◆ SupportsTesselation()

bool Grindstone::GraphicsAPI::Vulkan::Core::SupportsTesselation ( ) const
inlineoverridevirtual

◆ WaitUntilIdle()

void Grindstone::GraphicsAPI::Vulkan::Core::WaitUntilIdle ( )
overridevirtual

The documentation for this class was generated from the following files:
  • /github/workspace/plugins/Grindstone.RHI.Vulkan/include/VulkanCore.hpp
  • /github/workspace/plugins/Grindstone.RHI.Vulkan/source/VulkanCore.cpp