Files
funnygame/materialsystem/vulkan/raster_libraries.h
2025-12-23 15:03:44 +02:00

42 lines
1.3 KiB
C

#include "materialsystem/imaterialsystem.h"
#include "materialsystem/compiledshadermgr.h"
#include "tier1/utlvector.h"
#include "vulkan_state.h"
BEGIN_DEFINE_PIPELINE_LIBRARY(VertexDescription)
void AddLayout( int iIndex, int iStride );
void AddAttribute( int iBufferIndex, int iLocation, EVertexFormat eFormat, int iOffset );
void SetTopology( ETopologyMode eTopology );
VkPrimitiveTopology m_eTopology;
CUtlVector<VkVertexInputAttributeDescription> attributes;
CUtlVector<VkVertexInputBindingDescription> layouts;
END_DEFINE_PIPELINE_LIBRARY()
BEGIN_DEFINE_PIPELINE_LIBRARY(VertexTransform)
void SetShader( CCompiledShader *pShader );
CCompiledShader *m_pShader;
VkDescriptorSetLayout m_setLayouts[SHADER_STAGE_COUNT];
VkPipelineLayout m_layout;
END_DEFINE_PIPELINE_LIBRARY()
BEGIN_DEFINE_PIPELINE_LIBRARY(PixelShader)
void SetShader( CCompiledShader *pShader );
void SetDepthRequired( bool b );
CCompiledShader *m_pShader;
VkDescriptorSetLayout m_setLayouts[SHADER_STAGE_COUNT];
VkPipelineLayout m_layout;
bool m_bIsDepthRequired = false;
END_DEFINE_PIPELINE_LIBRARY()
BEGIN_DEFINE_PIPELINE_LIBRARY(PixelOutput)
void AddAttachment( EImageFormat eFormat );
void SetDepthRequired( bool b );
CUtlVector<VkFormat> m_eFormats = {};
bool m_bIsDepthRequired = false;
END_DEFINE_PIPELINE_LIBRARY()