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 ()
 
virtual uint32_t GetGraphicsFamily ()
 
virtual void EndSingleTimeCommands (VkCommandBuffer commandBuffer)
 
VkCommandPool GetGraphicsCommandPool () const
 
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 DeleteRenderTarget (GraphicsAPI::RenderTarget *ptr) override
 
virtual void DeleteDepthStencilTarget (GraphicsAPI::DepthStencilTarget *ptr) override
 
virtual void DeleteFramebuffer (GraphicsAPI::Framebuffer *ptr) override
 
virtual void DeleteVertexBuffer (GraphicsAPI::VertexBuffer *ptr) override
 
virtual void DeleteIndexBuffer (GraphicsAPI::IndexBuffer *ptr) override
 
virtual void DeleteUniformBuffer (GraphicsAPI::UniformBuffer *ptr) override
 
virtual void DeleteGraphicsPipeline (GraphicsAPI::GraphicsPipeline *ptr) override
 
virtual void DeleteComputePipeline (GraphicsAPI::ComputePipeline *ptr) override
 
virtual void DeleteRenderPass (GraphicsAPI::RenderPass *ptr) override
 
virtual void DeleteTexture (GraphicsAPI::Texture *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::CommandBufferCreateCommandBuffer (const GraphicsAPI::CommandBuffer::CreateInfo &ci) override
 
virtual GraphicsAPI::VertexArrayObjectCreateVertexArrayObject (const GraphicsAPI::VertexArrayObject::CreateInfo &ci) override
 
virtual GraphicsAPI::VertexBufferCreateVertexBuffer (const GraphicsAPI::VertexBuffer::CreateInfo &ci) override
 
virtual GraphicsAPI::IndexBufferCreateIndexBuffer (const GraphicsAPI::IndexBuffer::CreateInfo &ci) override
 
virtual GraphicsAPI::UniformBufferCreateUniformBuffer (const GraphicsAPI::UniformBuffer::CreateInfo &ci) override
 
virtual GraphicsAPI::TextureCreateCubemap (const GraphicsAPI::Texture::CubemapCreateInfo &ci) override
 
virtual GraphicsAPI::TextureCreateTexture (const GraphicsAPI::Texture::CreateInfo &ci) override
 
virtual GraphicsAPI::DescriptorSetCreateDescriptorSet (const GraphicsAPI::DescriptorSet::CreateInfo &ci) override
 
virtual GraphicsAPI::DescriptorSetLayoutCreateDescriptorSetLayout (const GraphicsAPI::DescriptorSetLayout::CreateInfo &ci) override
 
virtual GraphicsAPI::RenderTargetCreateRenderTarget (const GraphicsAPI::RenderTarget::CreateInfo &rt) override
 
virtual GraphicsAPI::RenderTargetCreateRenderTarget (const GraphicsAPI::RenderTarget::CreateInfo *rt, uint32_t rc, bool cube=false) override
 
virtual GraphicsAPI::DepthStencilTargetCreateDepthStencilTarget (const GraphicsAPI::DepthStencilTarget::CreateInfo &rt) 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
 
const char * GetVendorNameFromID (uint32_t vendorID)
 

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
 

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

◆ CreateCommandBuffer()

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

◆ CreateComputePipeline()

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

◆ CreateCubemap()

virtual GraphicsAPI::Texture * Grindstone::GraphicsAPI::Vulkan::Core::CreateCubemap ( const GraphicsAPI::Texture::CubemapCreateInfo & ci)
overridevirtual

◆ CreateDepthStencilTarget()

virtual GraphicsAPI::DepthStencilTarget * Grindstone::GraphicsAPI::Vulkan::Core::CreateDepthStencilTarget ( const GraphicsAPI::DepthStencilTarget::CreateInfo & rt)
overridevirtual

◆ CreateDescriptorSet()

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

◆ CreateDescriptorSetLayout()

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

◆ CreateFramebuffer()

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

◆ CreateGraphicsPipeline()

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

◆ CreateIndexBuffer()

virtual GraphicsAPI::IndexBuffer * Grindstone::GraphicsAPI::Vulkan::Core::CreateIndexBuffer ( const GraphicsAPI::IndexBuffer::CreateInfo & ci)
overridevirtual

◆ CreateRenderPass()

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

◆ CreateRenderTarget() [1/2]

virtual GraphicsAPI::RenderTarget * Grindstone::GraphicsAPI::Vulkan::Core::CreateRenderTarget ( const GraphicsAPI::RenderTarget::CreateInfo & rt)
overridevirtual

◆ CreateRenderTarget() [2/2]

virtual GraphicsAPI::RenderTarget * Grindstone::GraphicsAPI::Vulkan::Core::CreateRenderTarget ( const GraphicsAPI::RenderTarget::CreateInfo * rt,
uint32_t rc,
bool cube = false )
overridevirtual

◆ CreateTexture()

virtual GraphicsAPI::Texture * Grindstone::GraphicsAPI::Vulkan::Core::CreateTexture ( const GraphicsAPI::Texture::CreateInfo & ci)
overridevirtual

◆ CreateUniformBuffer()

virtual GraphicsAPI::UniformBuffer * Grindstone::GraphicsAPI::Vulkan::Core::CreateUniformBuffer ( const GraphicsAPI::UniformBuffer::CreateInfo & ci)
overridevirtual

◆ CreateVertexArrayObject()

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

◆ CreateVertexBuffer()

virtual GraphicsAPI::VertexBuffer * Grindstone::GraphicsAPI::Vulkan::Core::CreateVertexBuffer ( const GraphicsAPI::VertexBuffer::CreateInfo & ci)
overridevirtual

◆ DeleteCommandBuffer()

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

◆ DeleteComputePipeline()

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

◆ DeleteDepthStencilTarget()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteDepthStencilTarget ( GraphicsAPI::DepthStencilTarget * 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

◆ DeleteIndexBuffer()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteIndexBuffer ( GraphicsAPI::IndexBuffer * ptr)
overridevirtual

◆ DeleteRenderPass()

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

◆ DeleteRenderTarget()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteRenderTarget ( GraphicsAPI::RenderTarget * ptr)
overridevirtual

◆ DeleteTexture()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteTexture ( GraphicsAPI::Texture * ptr)
overridevirtual

◆ DeleteUniformBuffer()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteUniformBuffer ( GraphicsAPI::UniformBuffer * ptr)
overridevirtual

◆ DeleteVertexArrayObject()

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

◆ DeleteVertexBuffer()

void Grindstone::GraphicsAPI::Vulkan::Core::DeleteVertexBuffer ( GraphicsAPI::VertexBuffer * 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

◆ GetVendorName()

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

◆ Initialize()

virtual 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: