mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
43 lines
2.0 KiB
Diff
43 lines
2.0 KiB
Diff
# HG changeset patch
|
|
# Parent 88a5c8710f5cffd568bc21226118cb567850ce28
|
|
diff --git a/gfx/angle/src/libGLESv2/VertexDataManager.cpp b/gfx/angle/src/libGLESv2/VertexDataManager.cpp
|
|
--- a/gfx/angle/src/libGLESv2/VertexDataManager.cpp
|
|
+++ b/gfx/angle/src/libGLESv2/VertexDataManager.cpp
|
|
@@ -134,34 +134,34 @@ GLenum VertexDataManager::prepareVertexD
|
|
if (staticBuffer->size() == 0)
|
|
{
|
|
int totalCount = buffer->size() / attribs[i].stride();
|
|
staticBuffer->addRequiredSpace(spaceRequired(attribs[i], totalCount));
|
|
}
|
|
else if (staticBuffer->lookupAttribute(attribs[i]) == -1)
|
|
{
|
|
// This static buffer doesn't have matching attributes, so fall back to using the streaming buffer
|
|
- buffer->invalidateStaticData();
|
|
-
|
|
// Add the space of all previous attributes belonging to the invalidated static buffer to the streaming buffer
|
|
for (int previous = 0; previous < i; previous++)
|
|
{
|
|
if (translated[previous].active && attribs[previous].mArrayEnabled)
|
|
{
|
|
Buffer *previousBuffer = attribs[previous].mBoundBuffer.get();
|
|
StaticVertexBuffer *previousStaticBuffer = previousBuffer ? previousBuffer->getStaticVertexBuffer() : NULL;
|
|
|
|
if (staticBuffer == previousStaticBuffer)
|
|
{
|
|
mStreamingBuffer->addRequiredSpace(spaceRequired(attribs[previous], count));
|
|
}
|
|
}
|
|
}
|
|
|
|
mStreamingBuffer->addRequiredSpace(spaceRequired(attribs[i], count));
|
|
+
|
|
+ buffer->invalidateStaticData();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
mStreamingBuffer->addRequiredSpace(spaceRequired(attribs[i], count));
|
|
}
|
|
}
|
|
}
|