compute shaders
This commit is contained in:
@@ -208,6 +208,7 @@ public:
|
||||
|
||||
VkImageLayout m_eImageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
||||
EDependencyMode m_eLastUsage = DEPENDENCY_MODE_JUST_CREATED;
|
||||
VkDescriptorType m_eDescriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
|
||||
};
|
||||
|
||||
class CVkBuffer: public IBuffer
|
||||
@@ -310,8 +311,6 @@ class CVkComputeShader : public IComputeShader
|
||||
{
|
||||
public:
|
||||
virtual void Build() override;
|
||||
void BuildCompute();
|
||||
void BuildTrace();
|
||||
|
||||
VkDevice m_hDevice;
|
||||
CCompiledShader m_shader;
|
||||
@@ -383,7 +382,7 @@ public:
|
||||
class CVkMaterial: public IMaterial
|
||||
{
|
||||
public:
|
||||
CVkMaterial( IShader *pShader );
|
||||
CVkMaterial( IBaseShader *pShader );
|
||||
virtual ~CVkMaterial() override;
|
||||
|
||||
void Frame();
|
||||
@@ -398,7 +397,12 @@ public:
|
||||
virtual void PSSetTexture( uint32_t uRegister, IImage *pImage ) override;
|
||||
virtual void PSSetSampler( uint32_t uRegister, ISampler *pImage ) override;
|
||||
|
||||
CVkShader *m_pVkShader;
|
||||
virtual void CSSetConstantsBuffer( uint32_t uRegister, uint32_t uSet, IBuffer *pBuffer ) override;
|
||||
virtual void CSSetTexture( uint32_t uRegister, uint32_t uSet, IImage *pImage ) override;
|
||||
virtual void CSSetSampler( uint32_t uRegister, uint32_t uSet, ISampler *pSampler ) override;
|
||||
virtual void CSSetTextureArray( uint32_t uSet, ITextureArray *pArray ) override;
|
||||
|
||||
IBaseShader *m_pShader;
|
||||
CUtlVector<VkDescriptorSet> m_hSets;
|
||||
private:
|
||||
VkDescriptorPool m_hPool;
|
||||
@@ -490,6 +494,7 @@ public:
|
||||
virtual void EndRecording() override;
|
||||
|
||||
virtual void Barrier( IRenderingObject *pObject, bool bIsRead, bool bIsWrite ) override;
|
||||
virtual void DispatchCompute( uint32_t uX, uint32_t uY, uint32_t uZ ) override;
|
||||
|
||||
virtual void CopyImageToImage( IImage *pSrc, IImage *pDst ) override;
|
||||
virtual void BlitImageToImage( IImage *pSrc, ImageSector_t src, IImage *pDst, ImageSector_t dst ) override;
|
||||
@@ -497,6 +502,7 @@ public:
|
||||
virtual void ClearDepth( IImage *pImage, float fVal ) override;
|
||||
|
||||
void Submit();
|
||||
void FlushBarriers( CVkCommand *pCmd );
|
||||
|
||||
IVkCommandBufferManager *m_pCommandBufferManager;
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user