improved font rendering
This commit is contained in:
@@ -49,6 +49,8 @@ enum EDependencyMode
|
||||
DEPENDENCY_MODE_SHADER_BUFFER_READ,
|
||||
DEPENDENCY_MODE_SHADER_IMAGE_WRITE,
|
||||
DEPENDENCY_MODE_SHADER_BUFFER_WRITE,
|
||||
DEPENDENCY_MODE_SHADER_BUFFER_READ_WRITE,
|
||||
DEPENDENCY_MODE_SHADER_IMAGE_READ_WRITE,
|
||||
DEPENDENCY_MODE_SHADER_ACCELERATION_STRUCTURE,
|
||||
|
||||
DEPENDENCY_MODE_DRAWCALL_VERTEX_BUFFER,
|
||||
@@ -63,6 +65,9 @@ enum EDependencyMode
|
||||
DEPENDENCY_MODE_IMAGE_DESTINATION,
|
||||
DEPENDENCY_MODE_BUFFER_DESTINATION,
|
||||
|
||||
DEPENDENCY_MODE_IMAGE_RESOLVE_SOURCE,
|
||||
DEPENDENCY_MODE_IMAGE_RESOLVE_DESTINATION,
|
||||
|
||||
DEPENDENCY_MODE_BLIT_IMAGE_SOURCE,
|
||||
DEPENDENCY_MODE_BLIT_IMAGE_DESTINATION,
|
||||
|
||||
@@ -97,7 +102,7 @@ struct VulkanCommandParameter_t
|
||||
};
|
||||
};
|
||||
|
||||
abstract_class CVkCommand
|
||||
class CVkCommand
|
||||
{
|
||||
public:
|
||||
virtual void Execute( VkCommandBuffer hCommandBuffer, int iCurrentFrame ) = 0;
|
||||
@@ -266,6 +271,12 @@ void CVk##name##PipelineLibrary::Build() \
|
||||
vkCreateGraphicsPipelines(m_hDevice, NULL, 1, &pipeline, NULL, &m_hPipeline); \
|
||||
}
|
||||
|
||||
struct VkOutputImageConfig_t
|
||||
{
|
||||
VkFormat m_eFormat;
|
||||
bool m_bIsBlendingEnabled;
|
||||
};
|
||||
|
||||
class CVkShader : public IShader
|
||||
{
|
||||
public:
|
||||
@@ -273,7 +284,7 @@ public:
|
||||
virtual void AddLayout( int iIndex, int iStride ) override;
|
||||
virtual void AddAttribute( int iBufferIndex, int iLocation, EVertexFormat eFormat, int iOffset ) override;
|
||||
virtual void SetTopology( ETopologyMode eTopology ) override;
|
||||
virtual void AddOutputImage( int iImageIndex, EImageFormat eFormat ) override;
|
||||
virtual void AddOutputImage( int iImageIndex, EImageFormat eFormat, bool bBlendingEnabled ) override;
|
||||
virtual void SetDepthImage( EImageFormat eFormat ) override;
|
||||
virtual void SetMultisampling( EMultisampleType eFormat ) override;
|
||||
virtual void DisablePixelShader( bool bDisable ) override;
|
||||
@@ -289,7 +300,7 @@ public:
|
||||
private:
|
||||
CUtlVector<VkVertexInputBindingDescription> m_layouts;
|
||||
CUtlVector<VkVertexInputAttributeDescription> m_attributes;
|
||||
CUtlVector<VkFormat> m_eFormats;
|
||||
CUtlVector<VkOutputImageConfig_t> m_formats;
|
||||
EMultisampleType m_eMultiSampling;
|
||||
VkFormat m_eDepthFormat;
|
||||
bool m_bIsFragmentEnabled;
|
||||
@@ -389,7 +400,6 @@ public:
|
||||
|
||||
CVkShader *m_pVkShader;
|
||||
CUtlVector<VkDescriptorSet> m_hSets;
|
||||
ITextureArray *m_pTextureArray;
|
||||
private:
|
||||
VkDescriptorPool m_hPool;
|
||||
CUtlVector<VkWriteDescriptorSet> m_writes = {};
|
||||
@@ -442,6 +452,13 @@ struct VulkanRenderOutput_t {
|
||||
EStoreMode m_eStoreMode;
|
||||
};
|
||||
|
||||
struct VkRenderBarrier_t
|
||||
{
|
||||
IRenderingObject *pObject;
|
||||
bool m_bIsRead;
|
||||
bool m_bIsWrite;
|
||||
};
|
||||
|
||||
class CVkRenderCommandList: public IRenderCommandList
|
||||
{
|
||||
public:
|
||||
@@ -472,6 +489,8 @@ public:
|
||||
virtual void StartRecording() override;
|
||||
virtual void EndRecording() override;
|
||||
|
||||
virtual void Barrier( IRenderingObject *pObject, bool bIsRead, bool bIsWrite ) override;
|
||||
|
||||
void Submit();
|
||||
|
||||
IVkCommandBufferManager *m_pCommandBufferManager;
|
||||
@@ -494,6 +513,7 @@ private:
|
||||
uint32_t m_uHeight;
|
||||
CUtlVector<IVkCommandBuffer*> m_pCommandBuffers = {};
|
||||
CUtlVector<IVkCommandBuffer*> m_pScheduledDestroyPostRaster = {};
|
||||
CUtlVector<VkRenderBarrier_t> m_barriers = {};
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user