Commit 9b6a3f92 by Jamie Madill Committed by Commit Bot

D3D: Speculative fix for VertexBuffer crash.

It's possible we were triggering a null pointer dereference in some cases of lost device recovery. I was unable to reproduce this in a test so this fix is speculative. Bug: chromium:871178 Change-Id: I55b7790eabb81c25489bdfd105b5f2cbeedcc8db Reviewed-on: https://chromium-review.googlesource.com/1169955Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 6c43a01a
......@@ -72,16 +72,19 @@ VertexBufferInterface::~VertexBufferInterface()
unsigned int VertexBufferInterface::getSerial() const
{
ASSERT(mVertexBuffer);
return mVertexBuffer->getSerial();
}
unsigned int VertexBufferInterface::getBufferSize() const
{
ASSERT(mVertexBuffer);
return mVertexBuffer->getBufferSize();
}
gl::Error VertexBufferInterface::setBufferSize(const gl::Context *context, unsigned int size)
{
ASSERT(mVertexBuffer);
if (mVertexBuffer->getBufferSize() == 0)
{
return mVertexBuffer->initialize(context, size, mDynamic);
......@@ -116,11 +119,13 @@ gl::Error VertexBufferInterface::getSpaceRequired(const gl::Context *context,
gl::Error VertexBufferInterface::discard(const gl::Context *context)
{
ASSERT(mVertexBuffer);
return mVertexBuffer->discard(context);
}
VertexBuffer *VertexBufferInterface::getVertexBuffer() const
{
ASSERT(mVertexBuffer);
return mVertexBuffer;
}
......@@ -141,7 +146,7 @@ void StreamingVertexBufferInterface::reset()
if (mVertexBuffer)
{
mVertexBuffer->release();
mVertexBuffer = nullptr;
mVertexBuffer = mFactory->createVertexBuffer();
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment