Always use explicitly typed buffers, even in internal code

This commit is contained in:
Alex Szpakowski
2020-02-23 16:30:55 -04:00
parent 2828761060
commit 1ddfcd4cc8
12 changed files with 88 additions and 45 deletions
+7 -18
View File
@@ -35,25 +35,8 @@ namespace graphics
namespace opengl
{
Buffer::Buffer(const Settings &settings, const void *data, size_t size)
: love::graphics::Buffer(settings, data, size)
{
initialize(data);
}
Buffer::Buffer(love::graphics::Graphics *gfx, const Settings &settings, const std::vector<DataDeclaration> &format, const void *data, size_t size, size_t arraylength)
: love::graphics::Buffer(gfx, settings, format, data, size, arraylength)
{
initialize(data);
}
Buffer::~Buffer()
{
unloadVolatile();
delete[] memoryMap;
}
void Buffer::initialize(const void *data)
: love::graphics::Buffer(gfx, settings, format, size, arraylength)
{
if (typeFlags & TYPEFLAG_VERTEX)
mapType = BUFFERTYPE_VERTEX;
@@ -81,6 +64,12 @@ void Buffer::initialize(const void *data)
}
}
Buffer::~Buffer()
{
unloadVolatile();
delete[] memoryMap;
}
bool Buffer::loadVolatile()
{
return load(true);
-3
View File
@@ -42,7 +42,6 @@ class Buffer final : public love::graphics::Buffer, public Volatile
{
public:
Buffer(const Settings &settings, const void *data, size_t size);
Buffer(love::graphics::Graphics *gfx, const Settings &settings, const std::vector<DataDeclaration> &format, const void *data, size_t size, size_t arraylength);
virtual ~Buffer();
@@ -60,8 +59,6 @@ public:
private:
void initialize(const void *data);
bool load(bool restore);
void unmapStatic(size_t offset, size_t size);
-5
View File
@@ -145,11 +145,6 @@ love::graphics::Shader *Graphics::newShaderInternal(love::graphics::ShaderStage
return new Shader(vertex, pixel);
}
love::graphics::Buffer *Graphics::newBuffer(const Buffer::Settings &settings, const void *data, size_t size)
{
return new Buffer(settings, data, size);
}
love::graphics::Buffer *Graphics::newBuffer(const Buffer::Settings &settings, const std::vector<Buffer::DataDeclaration> &format, const void *data, size_t size, size_t arraylength)
{
return new Buffer(this, settings, format, data, size, arraylength);
-1
View File
@@ -60,7 +60,6 @@ public:
const char *getName() const override;
love::graphics::Texture *newTexture(const Texture::Settings &settings, const Texture::Slices *data = nullptr) override;
love::graphics::Buffer *newBuffer(const Buffer::Settings &settings, const void *data, size_t size) override;
love::graphics::Buffer *newBuffer(const Buffer::Settings &settings, const std::vector<Buffer::DataDeclaration> &format, const void *data, size_t size, size_t arraylength) override;
void setViewportSize(int width, int height, int pixelwidth, int pixelheight) override;