global update

This commit is contained in:
2026-08-26 15:30:40 +03:00
parent 52aa5803af
commit 8055881fef
28 changed files with 401 additions and 624 deletions
+32 -2
View File
@@ -314,6 +314,35 @@ struct ImageSector_t
int32_t m_iHeight;
};
enum EBarrierHazard
{
BARRIER_HAZARD_DRAW_ARGUMENTS = 0x1,
BARRIER_HAZARD_DESCRIPTOR = 0x2,
BARRIER_HAZARD_DEPTH_STENCIL = 0x4,
BARRIER_HAZARD_RASTER_COLOR = 0x8,
};
enum EStageHazard
{
STAGE_HAZARD_NONE = 0,
STAGE_HAZARD_TRANSFER,
STAGE_HAZARD_COMPUTE,
STAGE_HAZARD_RASTER_COLOR_OUT,
STAGE_HAZARD_RASTER_EARLY_DEPTH_OUT,
STAGE_HAZARD_RASTER_LATE_DEPTH_OUT,
};
enum EImageLayoutHazard
{
IMAGE_LAYOUT_UNDEFINED,
IMAGE_LAYOUT_GENERAL,
IMAGE_LAYOUT_COLOR,
IMAGE_LAYOUT_DEPTH_STENCIL,
IMAGE_LAYOUT_PRESENT,
IMAGE_LAYOUT_TRANSFER_SRC,
IMAGE_LAYOUT_TRANSFER_DST,
};
abstract_class IRenderCommandList
{
public:
@@ -342,7 +371,8 @@ public:
virtual void StartRecording() = 0;
virtual void EndRecording() = 0;
virtual void Barrier( IRenderingObject *pObject, bool bIsRead, bool bIsWrite ) = 0;
virtual void Barrier( EStageHazard eBefore, EStageHazard eAfter, uint32_t hazard ) = 0;
virtual void BarrierTransition( IImage *pObject, EImageLayoutHazard old_layout, EImageLayoutHazard layout, EStageHazard eBefore, EStageHazard eAfter, uint32_t hazard ) = 0;
virtual void CopyImageToImage( IImage *pSrc, IImage *pDst ) = 0;
virtual void BlitImageToImage( IImage *pSrc, ImageSector_t src, IImage *pDst, ImageSector_t dst ) = 0;
virtual void ClearImage( IImage *pImage, float fR, float fG, float fB, float fA ) = 0;
@@ -395,7 +425,7 @@ public:
virtual void *GetVulkanInstance() = 0;
virtual void *GetVulkanPhysicalDevice() = 0;
virtual void *GetVulkanDevice() = 0;
virtual IImage *CreateImageFromVkImage( void *pVkImage, uint32_t x, uint32_t y, uint64_t optimalLayout, EImageFormat eFormat, EMultisampleType eMultisampleType ) = 0;
virtual IImage *CreateImageFromVkImage( uint64_t pVkImage, uint32_t x, uint32_t y, uint64_t optimalLayout, EImageFormat eFormat, EMultisampleType eMultisampleType ) = 0;
};
#define RENDER_CONTEXT_INTERFACE_VERSION "RenderContext001"