зеркало из https://github.com/mozilla/gecko-dev.git
Bug 675634 - import ANGLE r712 - r=upstream
This commit is contained in:
Родитель
b8f605479f
Коммит
6b663cacbc
|
@ -11,6 +11,7 @@ In this order:
|
|||
angle-amap-arev-fix.patch - plain bug fix, this is ANGLE r699
|
||||
angle-r702.patch - this is ANGLE r702
|
||||
angle-limit-identifiers-to-250-chars.patch - see bug 675625
|
||||
angle-r712.patch - this is ANGLE r712
|
||||
|
||||
In addition to these patches, the Makefile.in files are ours, they're not present in upsteam ANGLE.
|
||||
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
# 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));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -139,8 +139,6 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat
|
|||
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++)
|
||||
{
|
||||
|
@ -157,6 +155,8 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat
|
|||
}
|
||||
|
||||
mStreamingBuffer->addRequiredSpace(spaceRequired(attribs[i], count));
|
||||
|
||||
buffer->invalidateStaticData();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Загрузка…
Ссылка в новой задаче