brought back functionality from previous builds but now cross-platform
This commit is contained in:
@@ -94,6 +94,7 @@ enum EShaderType
|
||||
|
||||
enum EBarrierMemoryPermissions
|
||||
{
|
||||
BARRIER_MEMORY_PERMISSIONS_NONE = 0x0,
|
||||
BARRIER_MEMORY_PERMISSIONS_VERTEX_BUFFER_READ = 0x1,
|
||||
BARRIER_MEMORY_PERMISSIONS_INDEX_BUFFER_READ = 0x2,
|
||||
BARRIER_MEMORY_PERMISSIONS_UNIFORM_BUFFER_READ = 0x4,
|
||||
@@ -108,14 +109,15 @@ enum EBarrierMemoryPermissions
|
||||
};
|
||||
enum EBarrierStage
|
||||
{
|
||||
BARRIER_STAGE_TOP,
|
||||
BARRIER_STAGE_VERTEX_INPUT,
|
||||
BARRIER_STAGE_VERTEX_SHADER,
|
||||
BARRIER_STAGE_GEOMETRY_SHADER,
|
||||
BARRIER_STAGE_FRAGMENT_SHADER,
|
||||
BARRIER_STAGE_COMPUTE_SHADER,
|
||||
BARRIER_STAGE_RAY_TRACING_SHADER,
|
||||
BARRIER_STAGE_BOTTOM,
|
||||
BARRIER_STAGE_TOP = 0x1,
|
||||
BARRIER_STAGE_VERTEX_INPUT = 0x2,
|
||||
BARRIER_STAGE_VERTEX_SHADER = 0x4,
|
||||
BARRIER_STAGE_GEOMETRY_SHADER = 0x8,
|
||||
BARRIER_STAGE_FRAGMENT_SHADER = 0x10,
|
||||
BARRIER_STAGE_COLOR_OUTPUT = 0x20,
|
||||
BARRIER_STAGE_COMPUTE_SHADER = 0x40,
|
||||
BARRIER_STAGE_RAY_TRACING_SHADER = 0x80,
|
||||
BARRIER_STAGE_BOTTOM = 0x100,
|
||||
};
|
||||
|
||||
enum EAttachmentLoadMode
|
||||
@@ -216,7 +218,7 @@ struct ShaderInput_t
|
||||
|
||||
struct Shader_t
|
||||
{
|
||||
const char *szPath;
|
||||
CUtlString szPath;
|
||||
EShaderType type;
|
||||
};
|
||||
|
||||
@@ -262,7 +264,7 @@ struct ImageBarrier_t
|
||||
{
|
||||
EBarrierMemoryPermissions in;
|
||||
EBarrierMemoryPermissions out;
|
||||
IBuffer *pBuffer;
|
||||
IImage *pImage;
|
||||
};
|
||||
|
||||
struct VertexAttribute_t
|
||||
@@ -278,8 +280,8 @@ struct RenderingColorAttachment_t
|
||||
IImage *pTemporary;
|
||||
EAttachmentLoadMode loadMode;
|
||||
EAttachmentStoreMode storeMode;
|
||||
EMSAAMode msaaMode;
|
||||
vec4 clearColor;
|
||||
EMSAAMode msaaMode;
|
||||
};
|
||||
|
||||
struct RenderingDepthAttachment_t
|
||||
@@ -288,8 +290,8 @@ struct RenderingDepthAttachment_t
|
||||
IImage *pTemporary;
|
||||
EAttachmentLoadMode loadMode;
|
||||
EAttachmentStoreMode storeMode;
|
||||
EMSAAMode msaaMode;
|
||||
float clearValue;
|
||||
EMSAAMode msaaMode;
|
||||
};
|
||||
|
||||
|
||||
@@ -310,10 +312,11 @@ public:
|
||||
static void DestroyBuffer( IBuffer *pBuffer );
|
||||
static void DestroyImage( IImage *pImage );
|
||||
|
||||
static void SetConstants( uint32_t nSize, uint32_t nOffset, void *pData );
|
||||
static void Barrier( EBarrierStage stageIn, uint32_t stageOut, CUtlVector<BufferBarrier_t> buffers, CUtlVector<ImageBarrier_t> images );
|
||||
static void SetConstants( uint32_t nSize, void *pData );
|
||||
static void Barrier( uint32_t stageIn, uint32_t stageOut, CUtlVector<BufferBarrier_t> buffers, CUtlVector<ImageBarrier_t> images );
|
||||
static void BindData( uint32_t binding, IBuffer *pBuffer, IImage* pImage);
|
||||
static void BindPipeline( IPipeline *pPipeline );
|
||||
static void PushBindings();
|
||||
|
||||
|
||||
static void Begin( uint32_t nWidth, uint32_t nHeight, CUtlVector<RenderingColorAttachment_t> attachments, RenderingDepthAttachment_t depth );
|
||||
@@ -330,7 +333,8 @@ public:
|
||||
uint32_t nConstantsSize,
|
||||
uint32_t nVertexSize,
|
||||
CUtlVector<VertexAttribute_t> vertexFormat,
|
||||
CUtlVector<EImageFormat> outputFormats
|
||||
CUtlVector<EImageFormat> outputFormats,
|
||||
bool bDepth
|
||||
);
|
||||
static IComputePipeline *CreateComputePipeline(
|
||||
Shader_t szShader,
|
||||
@@ -343,6 +347,9 @@ public:
|
||||
CUtlVector<ShaderInput_t> inputs,
|
||||
uint32_t nConstantsSize
|
||||
);
|
||||
|
||||
static IBuffer *GetCameraMatrix();
|
||||
static IImage *GetOutputImage();
|
||||
};
|
||||
|
||||
abstract_class IRenderingPipelineStep
|
||||
|
||||
Reference in New Issue
Block a user