|
@@ -62,11 +62,6 @@ public:
|
|
delete[] data;
|
|
delete[] data;
|
|
}
|
|
}
|
|
|
|
|
|
- size_t getUsableSize() const override
|
|
|
|
- {
|
|
|
|
- return bufferSize;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
MapInfo map(size_t /*minsize*/) override
|
|
MapInfo map(size_t /*minsize*/) override
|
|
{
|
|
{
|
|
return MapInfo(data, bufferSize);
|
|
return MapInfo(data, bufferSize);
|
|
@@ -96,7 +91,6 @@ public:
|
|
, glMode(OpenGL::getGLBufferType(mode))
|
|
, glMode(OpenGL::getGLBufferType(mode))
|
|
, data(nullptr)
|
|
, data(nullptr)
|
|
, offset(0)
|
|
, offset(0)
|
|
- , frameOffset(0)
|
|
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
@@ -116,17 +110,12 @@ public:
|
|
delete[] data;
|
|
delete[] data;
|
|
}
|
|
}
|
|
|
|
|
|
- size_t getUsableSize() const override
|
|
|
|
- {
|
|
|
|
- return bufferSize - frameOffset;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
MapInfo map(size_t minsize) override
|
|
MapInfo map(size_t minsize) override
|
|
{
|
|
{
|
|
if (offset + minsize > bufferSize)
|
|
if (offset + minsize > bufferSize)
|
|
{
|
|
{
|
|
offset = 0;
|
|
offset = 0;
|
|
- frameOffset = 0;
|
|
|
|
|
|
+ frameGPUReadOffset = 0;
|
|
gl.bindBuffer(mode, vbo);
|
|
gl.bindBuffer(mode, vbo);
|
|
glBufferData(glMode, bufferSize, nullptr, GL_STREAM_DRAW);
|
|
glBufferData(glMode, bufferSize, nullptr, GL_STREAM_DRAW);
|
|
}
|
|
}
|
|
@@ -144,12 +133,12 @@ public:
|
|
void markUsed(size_t usedsize) override
|
|
void markUsed(size_t usedsize) override
|
|
{
|
|
{
|
|
offset += usedsize;
|
|
offset += usedsize;
|
|
- frameOffset += usedsize;
|
|
|
|
|
|
+ frameGPUReadOffset += usedsize;
|
|
}
|
|
}
|
|
|
|
|
|
void nextFrame() override
|
|
void nextFrame() override
|
|
{
|
|
{
|
|
- frameOffset = 0;
|
|
|
|
|
|
+ frameGPUReadOffset = 0;
|
|
}
|
|
}
|
|
|
|
|
|
ptrdiff_t getHandle() const override { return vbo; }
|
|
ptrdiff_t getHandle() const override { return vbo; }
|
|
@@ -164,7 +153,7 @@ public:
|
|
glBufferData(glMode, bufferSize, nullptr, GL_STREAM_DRAW);
|
|
glBufferData(glMode, bufferSize, nullptr, GL_STREAM_DRAW);
|
|
|
|
|
|
offset = 0;
|
|
offset = 0;
|
|
- frameOffset = 0;
|
|
|
|
|
|
+ frameGPUReadOffset = 0;
|
|
|
|
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -186,7 +175,6 @@ protected:
|
|
uint8 *data;
|
|
uint8 *data;
|
|
|
|
|
|
size_t offset;
|
|
size_t offset;
|
|
- size_t frameOffset;
|
|
|
|
|
|
|
|
}; // StreamBufferSubDataOrphan
|
|
}; // StreamBufferSubDataOrphan
|
|
|
|
|
|
@@ -198,7 +186,6 @@ public:
|
|
: love::graphics::StreamBuffer(type, size)
|
|
: love::graphics::StreamBuffer(type, size)
|
|
, syncSize((size + MAX_SYNCS_PER_FRAME - 1) / MAX_SYNCS_PER_FRAME)
|
|
, syncSize((size + MAX_SYNCS_PER_FRAME - 1) / MAX_SYNCS_PER_FRAME)
|
|
, frameIndex(0)
|
|
, frameIndex(0)
|
|
- , frameGPUReadOffset(0)
|
|
|
|
, syncs()
|
|
, syncs()
|
|
{}
|
|
{}
|
|
|
|
|
|
@@ -231,7 +218,6 @@ protected:
|
|
const size_t syncSize;
|
|
const size_t syncSize;
|
|
|
|
|
|
int frameIndex;
|
|
int frameIndex;
|
|
- size_t frameGPUReadOffset;
|
|
|
|
|
|
|
|
FenceSync syncs[MAX_SYNCS_PER_FRAME * BUFFER_FRAMES];
|
|
FenceSync syncs[MAX_SYNCS_PER_FRAME * BUFFER_FRAMES];
|
|
|
|
|
|
@@ -259,11 +245,6 @@ public:
|
|
unloadVolatile();
|
|
unloadVolatile();
|
|
}
|
|
}
|
|
|
|
|
|
- size_t getUsableSize() const override
|
|
|
|
- {
|
|
|
|
- return bufferSize - frameGPUReadOffset;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
MapInfo map(size_t /*minsize*/) override
|
|
MapInfo map(size_t /*minsize*/) override
|
|
{
|
|
{
|
|
gl.bindBuffer(mode, vbo);
|
|
gl.bindBuffer(mode, vbo);
|
|
@@ -351,11 +332,6 @@ public:
|
|
unloadVolatile();
|
|
unloadVolatile();
|
|
}
|
|
}
|
|
|
|
|
|
- size_t getUsableSize() const override
|
|
|
|
- {
|
|
|
|
- return bufferSize - frameGPUReadOffset;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
MapInfo map(size_t /*minsize*/) override
|
|
MapInfo map(size_t /*minsize*/) override
|
|
{
|
|
{
|
|
MapInfo info;
|
|
MapInfo info;
|
|
@@ -454,11 +430,6 @@ public:
|
|
alignedFree(data);
|
|
alignedFree(data);
|
|
}
|
|
}
|
|
|
|
|
|
- size_t getUsableSize() const override
|
|
|
|
- {
|
|
|
|
- return bufferSize - frameGPUReadOffset;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
MapInfo map(size_t /*minsize*/) override
|
|
MapInfo map(size_t /*minsize*/) override
|
|
{
|
|
{
|
|
MapInfo info;
|
|
MapInfo info;
|