| 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 73bbe090b2905cdcdd281d491ed3868cd1b65a02..ce173d6047db2043831716021f2c0bc1048be620 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| @@ -132,7 +132,8 @@ class ScopedRGBEmulationColorMask {
|
| const bool m_requiresEmulation;
|
| };
|
|
|
| -class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| +class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
|
| + public DrawingBuffer::Client {
|
| WTF_MAKE_NONCOPYABLE(WebGLRenderingContextBase);
|
|
|
| public:
|
| @@ -545,11 +546,7 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| void restoreScissorEnabled();
|
| void restoreScissorBox();
|
| void restoreClearColor();
|
| - void restoreClearDepthf();
|
| - void restoreClearStencil();
|
| - void restoreStencilMaskSeparate();
|
| void restoreColorMask();
|
| - void restoreDepthMask();
|
|
|
| gpu::gles2::GLES2Interface* contextGL() const {
|
| DrawingBuffer* d = drawingBuffer();
|
| @@ -619,6 +616,7 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| friend class WebGLCompressedTextureS3TCsRGB;
|
| friend class WebGLRenderingContextErrorMessageCallback;
|
| friend class WebGLVertexArrayObjectBase;
|
| + friend class ScopedDrawingBufferBinder;
|
| friend class ScopedTexture2DRestorer;
|
| friend class ScopedFramebufferRestorer;
|
| // To allow V8WebGL[2]RenderingContext to call visitChildDOMWrappers.
|
| @@ -645,6 +643,16 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| WebLayer* platformLayer() const override;
|
| void stop() override;
|
|
|
| + // DrawingBuffer::Client implementation.
|
| + bool DrawingBufferClientIsBoundForDraw() override;
|
| + void DrawingBufferClientRestoreScissorTest() override;
|
| + void DrawingBufferClientRestoreMaskAndClearValues() override;
|
| + void DrawingBufferClientRestorePixelPackAlignment() override;
|
| + void DrawingBufferClientRestoreTexture2DBinding() override;
|
| + void DrawingBufferClientRestoreRenderbufferBinding() override;
|
| + void DrawingBufferClientRestoreFramebufferBinding() override;
|
| + void DrawingBufferClientRestorePixelUnpackBufferBinding() override;
|
| +
|
| void addSharedObject(WebGLSharedObject*);
|
| void addContextObject(WebGLContextObject*);
|
| void detachAndRemoveAllObjects();
|
| @@ -915,7 +923,7 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| m_readFramebufferBinding(framebufferBinding) {
|
| // Commit DrawingBuffer if needed (e.g., for multisampling)
|
| if (!m_readFramebufferBinding && m_drawingBuffer)
|
| - m_drawingBuffer->commit();
|
| + m_drawingBuffer->resolveAndBindForReadAndDraw();
|
| }
|
|
|
| ~ScopedDrawingBufferBinder() {
|
| @@ -975,9 +983,6 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| };
|
| HowToClear clearIfComposited(GLbitfield clearMask = 0);
|
|
|
| - // Helper to restore state that clearing the framebuffer may destroy.
|
| - void restoreStateAfterClear();
|
| -
|
| // Convert texture internal format.
|
| GLenum convertTexInternalFormat(GLenum internalformat, GLenum type);
|
|
|
|
|