Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
EngineCore::ComputePipelineSpecializationData Class Reference

Wrapper for shader specialization data for compute pipelines. This usually only stores the thread count as that can depend on the hardware the engine is running on. More...

#include <PipelineMaterialPayload.h>

Inheritance diagram for EngineCore::ComputePipelineSpecializationData:
Collaboration diagram for EngineCore::ComputePipelineSpecializationData:

Classes

struct  Data

Public Member Functions

 ComputePipelineSpecializationData (uint32_t threadCount)
 Constructor.
std::vector< VkSpecializationMapEntry > getMapEntries () const override
 Gets the specialization data which will be uploaded to a shader.
const void * getData () const override
 Gets a pointer for the data for the specialization data.
size_t getDataSize () const override
 Gets the size of the data stored in the result of getData()
virtual uint32_t getThreadCount () const
 Getter for how man threads the compute shader this specialization is applied to should have.
Public Member Functions inherited from EngineCore::PipelineSpecializationData
virtual ~PipelineSpecializationData ()=default

Private Attributes

struct EngineCore::ComputePipelineSpecializationData::Data data

Detailed Description

Wrapper for shader specialization data for compute pipelines. This usually only stores the thread count as that can depend on the hardware the engine is running on.

Definition at line 80 of file PipelineMaterialPayload.h.

Constructor & Destructor Documentation

◆ ComputePipelineSpecializationData()

EngineCore::ComputePipelineSpecializationData::ComputePipelineSpecializationData ( uint32_t threadCount)
inline

Constructor.

Definition at line 86 of file PipelineMaterialPayload.h.

References data.

Member Function Documentation

◆ getData()

const void * EngineCore::ComputePipelineSpecializationData::getData ( ) const
inlineoverridevirtual

Gets a pointer for the data for the specialization data.

Returns
pointer to the data of the specialization data

Implements EngineCore::PipelineSpecializationData.

Definition at line 99 of file PipelineMaterialPayload.h.

References data.

◆ getDataSize()

size_t EngineCore::ComputePipelineSpecializationData::getDataSize ( ) const
inlineoverridevirtual

Gets the size of the data stored in the result of getData()

Returns
size of getData()

Implements EngineCore::PipelineSpecializationData.

Definition at line 105 of file PipelineMaterialPayload.h.

References data.

◆ getMapEntries()

std::vector< VkSpecializationMapEntry > EngineCore::ComputePipelineSpecializationData::getMapEntries ( ) const
overridevirtual

Gets the specialization data which will be uploaded to a shader.

Returns
returns a list of all specialization parameters for a compute shader. In this case thread count

Implements EngineCore::PipelineSpecializationData.

Definition at line 14 of file PipelineMaterialPayload.cpp.

◆ getThreadCount()

virtual uint32_t EngineCore::ComputePipelineSpecializationData::getThreadCount ( ) const
inlinenodiscardvirtual

Getter for how man threads the compute shader this specialization is applied to should have.

Returns
how many threads the compute shader this specialization is applied to should have

Definition at line 111 of file PipelineMaterialPayload.h.

References data.

Member Data Documentation

◆ data

struct EngineCore::ComputePipelineSpecializationData::Data EngineCore::ComputePipelineSpecializationData::data
private

The documentation for this class was generated from the following files: