Lots of refactoring
This commit is contained in:
@@ -2,22 +2,23 @@
|
||||
#include "Initializer.h"
|
||||
#include "Resources.h"
|
||||
|
||||
|
||||
namespace Seele {
|
||||
namespace Gfx {
|
||||
class Buffer : public QueueOwnedResource {
|
||||
public:
|
||||
Buffer(QueueFamilyMapping mapping, QueueType startQueueType);
|
||||
Buffer(QueueFamilyMapping mapping);
|
||||
virtual ~Buffer();
|
||||
|
||||
protected:
|
||||
// Inherited via QueueOwnedResource
|
||||
virtual void executeOwnershipBarrier(QueueType newOwner) = 0;
|
||||
virtual void executePipelineBarrier(SeAccessFlags srcAccess, SePipelineStageFlags srcStage, SeAccessFlags dstAccess,
|
||||
SePipelineStageFlags dstStage) = 0;
|
||||
};
|
||||
|
||||
class VertexBuffer : public Buffer {
|
||||
public:
|
||||
VertexBuffer(QueueFamilyMapping mapping, uint32 numVertices, uint32 vertexSize, QueueType startQueueType);
|
||||
VertexBuffer(QueueFamilyMapping mapping, const VertexBufferCreateInfo& createInfo);
|
||||
virtual ~VertexBuffer();
|
||||
constexpr uint32 getNumVertices() const { return numVertices; }
|
||||
// Size of one vertex in bytes
|
||||
@@ -38,7 +39,7 @@ DEFINE_REF(VertexBuffer)
|
||||
|
||||
class IndexBuffer : public Buffer {
|
||||
public:
|
||||
IndexBuffer(QueueFamilyMapping mapping, uint64 size, Gfx::SeIndexType index, QueueType startQueueType);
|
||||
IndexBuffer(QueueFamilyMapping mapping, const IndexBufferCreateInfo& createInfo);
|
||||
virtual ~IndexBuffer();
|
||||
constexpr uint64 getNumIndices() const { return numIndices; }
|
||||
constexpr Gfx::SeIndexType getIndexType() const { return indexType; }
|
||||
@@ -58,7 +59,7 @@ DEFINE_REF(IndexBuffer)
|
||||
DECLARE_REF(UniformBuffer)
|
||||
class UniformBuffer : public Buffer {
|
||||
public:
|
||||
UniformBuffer(QueueFamilyMapping mapping, const DataSource& sourceData);
|
||||
UniformBuffer(QueueFamilyMapping mapping, const UniformBufferCreateInfo& createInfo);
|
||||
virtual ~UniformBuffer();
|
||||
|
||||
virtual void rotateBuffer(uint64 size) = 0;
|
||||
@@ -73,7 +74,7 @@ class UniformBuffer : public Buffer {
|
||||
DEFINE_REF(UniformBuffer)
|
||||
class ShaderBuffer : public Buffer {
|
||||
public:
|
||||
ShaderBuffer(QueueFamilyMapping mapping, uint32 numElements, const DataSource& bulkResourceData);
|
||||
ShaderBuffer(QueueFamilyMapping mapping, const ShaderBufferCreateInfo& createInfo);
|
||||
virtual ~ShaderBuffer();
|
||||
virtual void rotateBuffer(uint64 size, bool preserveContents = false) = 0;
|
||||
virtual void updateContents(const ShaderBufferCreateInfo& sourceData) = 0;
|
||||
|
||||
Reference in New Issue
Block a user