Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(296)

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h

Issue 2699713005: Fix missing finalizeFrame barriers in WebGL animations (Closed)
Patch Set: Comments + readability improvements Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 DrawingBuffer::ChromiumImageUsage); 618 DrawingBuffer::ChromiumImageUsage);
619 void setupFlags(); 619 void setupFlags();
620 620
621 // CanvasRenderingContext implementation. 621 // CanvasRenderingContext implementation.
622 bool is3d() const override { return true; } 622 bool is3d() const override { return true; }
623 bool isAccelerated() const override { return true; } 623 bool isAccelerated() const override { return true; }
624 void setIsHidden(bool) override; 624 void setIsHidden(bool) override;
625 bool paintRenderingResultsToCanvas(SourceDrawingBuffer) override; 625 bool paintRenderingResultsToCanvas(SourceDrawingBuffer) override;
626 WebLayer* platformLayer() const override; 626 WebLayer* platformLayer() const override;
627 void stop() override; 627 void stop() override;
628 void finalizeFrame() override;
628 629
629 // DrawingBuffer::Client implementation. 630 // DrawingBuffer::Client implementation.
630 bool DrawingBufferClientIsBoundForDraw() override; 631 bool DrawingBufferClientIsBoundForDraw() override;
631 void DrawingBufferClientRestoreScissorTest() override; 632 void DrawingBufferClientRestoreScissorTest() override;
632 void DrawingBufferClientRestoreMaskAndClearValues() override; 633 void DrawingBufferClientRestoreMaskAndClearValues() override;
633 void DrawingBufferClientRestorePixelPackAlignment() override; 634 void DrawingBufferClientRestorePixelPackAlignment() override;
634 void DrawingBufferClientRestoreTexture2DBinding() override; 635 void DrawingBufferClientRestoreTexture2DBinding() override;
635 void DrawingBufferClientRestoreRenderbufferBinding() override; 636 void DrawingBufferClientRestoreRenderbufferBinding() override;
636 void DrawingBufferClientRestoreFramebufferBinding() override; 637 void DrawingBufferClientRestoreFramebufferBinding() override;
637 void DrawingBufferClientRestorePixelUnpackBufferBinding() override; 638 void DrawingBufferClientRestorePixelUnpackBufferBinding() override;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 // Dispatches a context lost event once it is determined that one is needed. 685 // Dispatches a context lost event once it is determined that one is needed.
685 // This is used for synthetic, WEBGL_lose_context and real context losses. For 686 // This is used for synthetic, WEBGL_lose_context and real context losses. For
686 // real ones, it's likely that there's no JavaScript on the stack, but that 687 // real ones, it's likely that there's no JavaScript on the stack, but that
687 // might be dependent on how exactly the platform discovers that the context 688 // might be dependent on how exactly the platform discovers that the context
688 // was lost. For better portability we always defer the dispatch of the event. 689 // was lost. For better portability we always defer the dispatch of the event.
689 TaskRunnerTimer<WebGLRenderingContextBase> m_dispatchContextLostEventTimer; 690 TaskRunnerTimer<WebGLRenderingContextBase> m_dispatchContextLostEventTimer;
690 bool m_restoreAllowed; 691 bool m_restoreAllowed;
691 TaskRunnerTimer<WebGLRenderingContextBase> m_restoreTimer; 692 TaskRunnerTimer<WebGLRenderingContextBase> m_restoreTimer;
692 693
693 bool m_markedCanvasDirty; 694 bool m_markedCanvasDirty;
695 bool m_animationFrameInProgress;
694 696
695 // List of bound VBO's. Used to maintain info about sizes for ARRAY_BUFFER and 697 // List of bound VBO's. Used to maintain info about sizes for ARRAY_BUFFER and
696 // stored values for ELEMENT_ARRAY_BUFFER 698 // stored values for ELEMENT_ARRAY_BUFFER
697 TraceWrapperMember<WebGLBuffer> m_boundArrayBuffer; 699 TraceWrapperMember<WebGLBuffer> m_boundArrayBuffer;
698 700
699 Member<WebGLVertexArrayObjectBase> m_defaultVertexArrayObject; 701 Member<WebGLVertexArrayObjectBase> m_defaultVertexArrayObject;
700 TraceWrapperMember<WebGLVertexArrayObjectBase> m_boundVertexArrayObject; 702 TraceWrapperMember<WebGLVertexArrayObjectBase> m_boundVertexArrayObject;
701 void setBoundVertexArrayObject(WebGLVertexArrayObjectBase*); 703 void setBoundVertexArrayObject(WebGLVertexArrayObjectBase*);
702 704
703 enum VertexAttribValueType { 705 enum VertexAttribValueType {
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after
1662 context, 1664 context,
1663 context->is3d(), 1665 context->is3d(),
1664 context.is3d()); 1666 context.is3d());
1665 1667
1666 } // namespace blink 1668 } // namespace blink
1667 1669
1668 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS( 1670 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(
1669 blink::WebGLRenderingContextBase::TextureUnitState); 1671 blink::WebGLRenderingContextBase::TextureUnitState);
1670 1672
1671 #endif // WebGLRenderingContextBase_h 1673 #endif // WebGLRenderingContextBase_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698