| Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| index b8abf71ae402a22599c2d621a94b2dae630a441d..748c4ed3246a36ece76d65f92d6a1faf32db7875 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| @@ -129,8 +129,21 @@ struct FormatTypeCompare {
|
| class ScopedDrawingBufferBinder {
|
| STACK_ALLOCATED();
|
| public:
|
| - ScopedDrawingBufferBinder(DrawingBuffer*, WebGLFramebuffer*);
|
| - ~ScopedDrawingBufferBinder();
|
| + ScopedDrawingBufferBinder(DrawingBuffer* drawingBuffer, WebGLFramebuffer* framebufferBinding)
|
| + : m_drawingBuffer(drawingBuffer)
|
| + , m_readFramebufferBinding(framebufferBinding)
|
| + {
|
| + // Commit DrawingBuffer if needed (e.g., for multisampling)
|
| + if (!m_readFramebufferBinding && m_drawingBuffer)
|
| + m_drawingBuffer->commit();
|
| + }
|
| +
|
| + ~ScopedDrawingBufferBinder()
|
| + {
|
| + // Restore DrawingBuffer if needed
|
| + if (!m_readFramebufferBinding && m_drawingBuffer)
|
| + m_drawingBuffer->restoreFramebufferBindings();
|
| + }
|
|
|
| private:
|
| DrawingBuffer* m_drawingBuffer;
|
| @@ -745,8 +758,21 @@ protected:
|
| class ScopedDrawingBufferBinder {
|
| STACK_ALLOCATED();
|
| public:
|
| - ScopedDrawingBufferBinder(DrawingBuffer*, WebGLFramebuffer*);
|
| - ~ScopedDrawingBufferBinder();
|
| + ScopedDrawingBufferBinder(DrawingBuffer* drawingBuffer, WebGLFramebuffer* framebufferBinding)
|
| + : m_drawingBuffer(drawingBuffer)
|
| + , m_readFramebufferBinding(framebufferBinding)
|
| + {
|
| + // Commit DrawingBuffer if needed (e.g., for multisampling)
|
| + if (!m_readFramebufferBinding && m_drawingBuffer)
|
| + m_drawingBuffer->commit();
|
| + }
|
| +
|
| + ~ScopedDrawingBufferBinder()
|
| + {
|
| + // Restore DrawingBuffer if needed
|
| + if (!m_readFramebufferBinding && m_drawingBuffer)
|
| + m_drawingBuffer->restoreFramebufferBindings();
|
| + }
|
|
|
| private:
|
| DrawingBuffer* m_drawingBuffer;
|
|
|