mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-16 00:54:54 +00:00
fix volatile buffer
change debugdraw to use volatile fix volatile buffer wraparound
This commit is contained in:
parent
d45c3794a5
commit
267986a289
2 changed files with 8 additions and 8 deletions
|
|
@ -201,6 +201,8 @@ public:
|
||||||
if (mBufferFreePos < mBufferSize)
|
if (mBufferFreePos < mBufferSize)
|
||||||
mUsedRanges.push_back(UsedRange(mBufferFreePos, mBufferSize - 1));
|
mUsedRanges.push_back(UsedRange(mBufferFreePos, mBufferSize - 1));
|
||||||
|
|
||||||
|
init();
|
||||||
|
|
||||||
// Reset free pos
|
// Reset free pos
|
||||||
mBufferFreePos = 0;
|
mBufferFreePos = 0;
|
||||||
|
|
||||||
|
|
@ -224,8 +226,6 @@ public:
|
||||||
if (GFXGL->mCapabilities.bufferStorage)
|
if (GFXGL->mCapabilities.bufferStorage)
|
||||||
{
|
{
|
||||||
outPtr = static_cast<U8*>(mBufferPtr) + mBufferFreePos;
|
outPtr = static_cast<U8*>(mBufferPtr) + mBufferFreePos;
|
||||||
_getBufferData.mOffset = outOffset;
|
|
||||||
_getBufferData.mSize = size;
|
|
||||||
}
|
}
|
||||||
else if (GFXGL->glUseMap())
|
else if (GFXGL->glUseMap())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -245,7 +245,7 @@ void duDebugDrawTorque::end()
|
||||||
box.maxExtents.set(-F32_MAX, -F32_MAX, -F32_MAX);
|
box.maxExtents.set(-F32_MAX, -F32_MAX, -F32_MAX);
|
||||||
|
|
||||||
GFXVertexBufferHandle<GFXVertexPCT> buffer;
|
GFXVertexBufferHandle<GFXVertexPCT> buffer;
|
||||||
buffer.set(GFX, batchVerts, GFXBufferTypeStatic);
|
buffer.set(GFX, batchVerts, GFXBufferTypeVolatile);
|
||||||
GFXVertexPCT* verts = buffer.lock();
|
GFXVertexPCT* verts = buffer.lock();
|
||||||
|
|
||||||
for (U32 i = 0; i < linesThisBatch * vertsPerLine; ++i)
|
for (U32 i = 0; i < linesThisBatch * vertsPerLine; ++i)
|
||||||
|
|
@ -258,7 +258,7 @@ void duDebugDrawTorque::end()
|
||||||
|
|
||||||
// --- Build index buffer
|
// --- Build index buffer
|
||||||
GFXPrimitiveBufferHandle pb;
|
GFXPrimitiveBufferHandle pb;
|
||||||
pb.set(GFX, linesThisBatch * 2, linesThisBatch, GFXBufferTypeStatic);
|
pb.set(GFX, linesThisBatch * 2, linesThisBatch, GFXBufferTypeVolatile);
|
||||||
U16* indices = nullptr;
|
U16* indices = nullptr;
|
||||||
pb.lock(&indices);
|
pb.lock(&indices);
|
||||||
|
|
||||||
|
|
@ -303,7 +303,7 @@ void duDebugDrawTorque::end()
|
||||||
box.maxExtents.set(-F32_MAX, -F32_MAX, -F32_MAX);
|
box.maxExtents.set(-F32_MAX, -F32_MAX, -F32_MAX);
|
||||||
|
|
||||||
GFXVertexBufferHandle<GFXVertexPCT> buffer;
|
GFXVertexBufferHandle<GFXVertexPCT> buffer;
|
||||||
buffer.set(GFX, batchVerts, GFXBufferTypeStatic);
|
buffer.set(GFX, batchVerts, GFXBufferTypeVolatile);
|
||||||
GFXVertexPCT* verts = buffer.lock();
|
GFXVertexPCT* verts = buffer.lock();
|
||||||
|
|
||||||
for (U32 i = 0; i < trisThisBatch * vertsPerTri; ++i)
|
for (U32 i = 0; i < trisThisBatch * vertsPerTri; ++i)
|
||||||
|
|
@ -317,7 +317,7 @@ void duDebugDrawTorque::end()
|
||||||
|
|
||||||
// --- Build index buffer
|
// --- Build index buffer
|
||||||
GFXPrimitiveBufferHandle pb;
|
GFXPrimitiveBufferHandle pb;
|
||||||
pb.set(GFX, trisThisBatch*3, trisThisBatch, GFXBufferTypeStatic);
|
pb.set(GFX, trisThisBatch*3, trisThisBatch, GFXBufferTypeVolatile);
|
||||||
U16* indices = nullptr;
|
U16* indices = nullptr;
|
||||||
pb.lock(&indices);
|
pb.lock(&indices);
|
||||||
|
|
||||||
|
|
@ -363,7 +363,7 @@ void duDebugDrawTorque::end()
|
||||||
box.maxExtents.set(-F32_MAX, -F32_MAX, -F32_MAX);
|
box.maxExtents.set(-F32_MAX, -F32_MAX, -F32_MAX);
|
||||||
|
|
||||||
GFXVertexBufferHandle<GFXVertexPCT> buffer;
|
GFXVertexBufferHandle<GFXVertexPCT> buffer;
|
||||||
buffer.set(GFX, batchVerts, GFXBufferTypeStatic);
|
buffer.set(GFX, batchVerts, GFXBufferTypeVolatile);
|
||||||
GFXVertexPCT* verts = buffer.lock();
|
GFXVertexPCT* verts = buffer.lock();
|
||||||
|
|
||||||
U32 outIdx = 0;
|
U32 outIdx = 0;
|
||||||
|
|
@ -383,7 +383,7 @@ void duDebugDrawTorque::end()
|
||||||
buffer.unlock();
|
buffer.unlock();
|
||||||
|
|
||||||
GFXPrimitiveBufferHandle pb;
|
GFXPrimitiveBufferHandle pb;
|
||||||
pb.set(GFX, batchIndices, quadsThisBatch*2, GFXBufferTypeStatic);
|
pb.set(GFX, batchIndices, quadsThisBatch*2, GFXBufferTypeVolatile);
|
||||||
U16* indices = nullptr;
|
U16* indices = nullptr;
|
||||||
pb.lock(&indices);
|
pb.lock(&indices);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue