| 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 f1634335890d30b9660e505ba873b80c4cf69d24..63da730d8e72dd4e90224d740237ec87f592b939 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| @@ -132,7 +132,9 @@ class ScopedRGBEmulationColorMask {
|
| const bool m_requiresEmulation;
|
| };
|
|
|
| -class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| +class MODULES_EXPORT WebGLRenderingContextBase
|
| + : public CanvasRenderingContext,
|
| + public DrawingBufferStateTracker {
|
| WTF_MAKE_NONCOPYABLE(WebGLRenderingContextBase);
|
|
|
| public:
|
| @@ -545,11 +547,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();
|
| @@ -617,6 +615,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.
|
| @@ -643,6 +642,9 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext {
|
| WebLayer* platformLayer() const override;
|
| void stop() override;
|
|
|
| + // DrawingBufferRestoreStateSource implementation.
|
| + void GetDrawingBufferRestoreState(DrawingBufferRestoreState*) override;
|
| +
|
| void addSharedObject(WebGLSharedObject*);
|
| void addContextObject(WebGLContextObject*);
|
| void detachAndRemoveAllObjects();
|
| @@ -913,7 +915,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() {
|
| @@ -973,9 +975,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);
|
|
|
|
|