Index: third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp |
index 84c5cc7bac57061b12b2f77778839690b228fd9d..5cd97e11e7d72a2d607159773593b00894f8c32b 100644 |
--- a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp |
@@ -251,6 +251,8 @@ bool DrawingBuffer::prepareTextureMailboxInternal( |
cc::TextureMailbox* outMailbox, |
std::unique_ptr<cc::SingleReleaseCallback>* outReleaseCallback, |
bool forceGpuResult) { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
if (m_destructionInProgress) { |
// It can be hit in the following sequence. |
// 1. WebGL draws something. |
@@ -320,6 +322,8 @@ bool DrawingBuffer::finishPrepareTextureMailboxSoftware( |
bool DrawingBuffer::finishPrepareTextureMailboxGpu( |
cc::TextureMailbox* outMailbox, |
std::unique_ptr<cc::SingleReleaseCallback>* outReleaseCallback) { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
if (m_webGLVersion > WebGL1) { |
m_stateRestorer->setPixelUnpackBufferBindingDirty(); |
m_gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); |
@@ -567,6 +571,8 @@ DrawingBuffer::textureColorBufferParameters() { |
PassRefPtr<DrawingBuffer::ColorBuffer> |
DrawingBuffer::createOrRecycleColorBuffer() { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
if (!m_recycledColorBufferQueue.isEmpty()) { |
RefPtr<ColorBuffer> recycled = m_recycledColorBufferQueue.takeLast(); |
if (recycled->receiveSyncToken.HasData()) |
@@ -802,6 +808,8 @@ void DrawingBuffer::beginDestruction() { |
} |
bool DrawingBuffer::resizeDefaultFramebuffer(const IntSize& size) { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
// Recreate m_backColorBuffer. |
m_backColorBuffer = createColorBuffer(size); |
@@ -870,6 +878,8 @@ void DrawingBuffer::clearFramebuffers(GLbitfield clearMask) { |
} |
void DrawingBuffer::clearFramebuffersInternal(GLbitfield clearMask) { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
m_stateRestorer->setFramebufferBindingDirty(); |
// We will clear the multisample FBO, but we also need to clear the |
// non-multisampled buffer. |
@@ -905,6 +915,8 @@ bool DrawingBuffer::resize(const IntSize& newSize) { |
} |
bool DrawingBuffer::resizeFramebufferInternal(const IntSize& newSize) { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
CHECK(!newSize.isEmpty()); |
IntSize adjustedSize = adjustSize(newSize, m_size, m_maxTextureSize); |
if (adjustedSize.isEmpty()) |
@@ -960,6 +972,8 @@ void DrawingBuffer::resolveAndBindForReadAndDraw() { |
} |
void DrawingBuffer::resolveMultisampleFramebufferInternal() { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
m_stateRestorer->setFramebufferBindingDirty(); |
if (wantExplicitResolve() && !m_contentsChangeCommitted) { |
m_stateRestorer->setClearStateDirty(); |
@@ -1068,6 +1082,8 @@ void DrawingBuffer::readBackFramebuffer(unsigned char* pixels, |
int height, |
ReadbackOrder readbackOrder, |
WebGLImageConversion::AlphaOp op) { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
m_stateRestorer->setPixelPackAlignmentDirty(); |
m_gl->PixelStorei(GL_PACK_ALIGNMENT, 1); |
m_gl->ReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); |
@@ -1112,6 +1128,8 @@ void DrawingBuffer::flipVertically(uint8_t* framebuffer, |
RefPtr<DrawingBuffer::ColorBuffer> DrawingBuffer::createColorBuffer( |
const IntSize& size) { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
m_stateRestorer->setFramebufferBindingDirty(); |
m_stateRestorer->setTextureBindingDirty(); |
@@ -1185,6 +1203,8 @@ RefPtr<DrawingBuffer::ColorBuffer> DrawingBuffer::createColorBuffer( |
} |
void DrawingBuffer::attachColorBufferToReadFramebuffer() { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(m_stateRestorer); |
m_stateRestorer->setFramebufferBindingDirty(); |
m_stateRestorer->setTextureBindingDirty(); |
@@ -1228,11 +1248,14 @@ GLenum DrawingBuffer::getMultisampledRenderbufferFormat() { |
DrawingBuffer::ScopedStateRestorer::ScopedStateRestorer( |
DrawingBuffer* drawingBuffer) |
: m_drawingBuffer(drawingBuffer) { |
- DCHECK(!m_drawingBuffer->m_stateRestorer); |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK(!m_drawingBuffer->m_stateRestorer); |
m_drawingBuffer->m_stateRestorer = this; |
} |
DrawingBuffer::ScopedStateRestorer::~ScopedStateRestorer() { |
+ // TODO(ccameron): Make this a DCHECK after fixing crbug.com/658265 |
+ CHECK_EQ(m_drawingBuffer->m_stateRestorer, this); |
m_drawingBuffer->m_stateRestorer = nullptr; |
Client* client = m_drawingBuffer->m_client; |
if (!client) |