1
0
forked from mirrors/0ad

Adds more checks for vertex and index buffer creations.

This was SVN commit r26502.
This commit is contained in:
vladislavbelov
2022-02-27 20:21:07 +00:00
parent 10c0d813bf
commit 1ff3b45a1e
4 changed files with 10 additions and 1 deletions
+1
View File
@@ -575,6 +575,7 @@ void ShadowMap::BeginRender()
{
PROFILE("bind framebuffer");
ENSURE(m->Framebuffer);
deviceCommandContext->SetFramebuffer(m->Framebuffer.get());
}
+5 -1
View File
@@ -304,7 +304,11 @@ void CTexturedLineRData::Update(const SOverlayTexturedLine& line)
indices.insert(indices.end(), capIndices.begin(), capIndices.end());
}
ENSURE(indices.size() % 3 == 0); // GL_TRIANGLES indices, so must be multiple of 3
if (vertices.empty() || indices.empty())
return;
// Indices for triangles, so must be multiple of 3.
ENSURE(indices.size() % 3 == 0);
m_BoundingBox = CBoundingBoxAligned();
for (const SVertex& vertex : vertices)
+1
View File
@@ -216,6 +216,7 @@ void CVertexBuffer::UpdateChunkVertices(VBChunk* chunk, void* data)
}
else
{
ENSURE(data);
g_Renderer.GetDeviceCommandContext()->UploadBufferRegion(
m_Buffer.get(), data, chunk->m_Index * m_VertexSize, chunk->m_Count * m_VertexSize);
}
+3
View File
@@ -79,6 +79,9 @@ CVertexBufferManager::Handle CVertexBufferManager::AllocateChunk(
const Renderer::Backend::GL::CBuffer::Type type,
const bool dynamic, void* backingStore, Group group)
{
ENSURE(vertexSize > 0);
ENSURE(numberOfVertices > 0);
CVertexBuffer::VBChunk* result = nullptr;
if (CVertexBuffer::UseStreaming(dynamic))