brought back functionality from previous builds but now cross-platform
This commit is contained in:
@@ -48,7 +48,7 @@ public:
|
||||
virtual void Spawn( void ) override;
|
||||
virtual void Destroy( void ) override;
|
||||
virtual void Think( float fDelta ) override;
|
||||
private:
|
||||
|
||||
IVertexBuffer *vertexBuffer;
|
||||
IIndexBuffer *indexBuffer;
|
||||
IMesh *mesh;
|
||||
|
||||
@@ -96,8 +96,10 @@ enum EInputAxis
|
||||
AXIS_MOUSE_X,
|
||||
AXIS_MOUSE_Y,
|
||||
AXIS_MOUSE_SCROLL,
|
||||
AXIS_CONTROLLER_PITCH,
|
||||
AXIS_CONTROLLER_YAW,
|
||||
AXIS_MAX,
|
||||
AXIS_NUM_AXIS = AXIS_MAX - 1,
|
||||
AXIS_NUM_AXIS = AXIS_MAX,
|
||||
};
|
||||
|
||||
enum EMouseMode
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
#include "stddef.h"
|
||||
|
||||
#ifdef __WIN32__
|
||||
#define DLL_EXPORT extern "C" __declspec(dllexport)
|
||||
#define DLL_IMPORT extern "C" __declspec(dllimport)
|
||||
#define DLL_EXPORT extern "C"
|
||||
#define DLL_IMPORT extern "C"
|
||||
|
||||
#define DLL_CLASS_EXPORT __declspec(dllexport)
|
||||
#define DLL_CLASS_IMPORT __declspec(dllimport)
|
||||
#define DLL_CLASS_EXPORT
|
||||
#define DLL_CLASS_IMPORT
|
||||
|
||||
#define DLL_GLOBAL_EXPORT extern __declspec(dllexport)
|
||||
#define DLL_GLOBAL_IMPORT extern __declspec(dllimport)
|
||||
#define DLL_GLOBAL_EXPORT extern
|
||||
#define DLL_GLOBAL_IMPORT extern
|
||||
#else
|
||||
#define DLL_EXPORT extern "C" __attribute__ ((visibility("default")))
|
||||
#define DLL_IMPORT extern "C"
|
||||
|
||||
21
public/tier1/utlmutex.h
Normal file
21
public/tier1/utlmutex.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef TIER1_UTL_MUTEX_H
|
||||
#define TIER1_UTL_MUTEX_H
|
||||
|
||||
#include "pthread.h"
|
||||
|
||||
class CUtlLock
|
||||
{
|
||||
public:
|
||||
CUtlLock();
|
||||
~CUtlLock();
|
||||
|
||||
CUtlLock(const CUtlLock&) = delete;
|
||||
CUtlLock& operator=(const CUtlLock&) = delete;
|
||||
|
||||
void Lock();
|
||||
void Unlock();
|
||||
private:
|
||||
pthread_mutex_t m_lock;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user