2011-04-07 John Bauman <jbauman@chromium.org>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Apr 2011 03:09:15 +0000 (03:09 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Apr 2011 03:09:15 +0000 (03:09 +0000)
        Reviewed by Kenneth Russell.

        clearIfComposited call is really slow
        https://bugs.webkit.org/show_bug.cgi?id=57999

        Move getContextAttributes call after the if, so it isn't called nearly as often.

        No new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::clearIfComposited):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@83242 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/html/canvas/WebGLRenderingContext.cpp

index 5ac5f83..389984a 100644 (file)
@@ -1,3 +1,17 @@
+2011-04-07  John Bauman  <jbauman@chromium.org>
+
+        Reviewed by Kenneth Russell.
+
+        clearIfComposited call is really slow
+        https://bugs.webkit.org/show_bug.cgi?id=57999
+
+        Move getContextAttributes call after the if, so it isn't called nearly as often.
+
+        No new tests.
+
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore::WebGLRenderingContext::clearIfComposited):
+
 2011-04-07  Luke Macpherson   <macpherson@chromium.org>
 
         Reviewed by Dimitri Glazkov.
index aa40a64..508fc41 100644 (file)
@@ -502,12 +502,12 @@ bool WebGLRenderingContext::clearIfComposited(GC3Dbitfield mask)
     if (isContextLost()) 
         return false;
 
-    RefPtr<WebGLContextAttributes> contextAttributes = getContextAttributes();
-
     if (!m_context->layerComposited() || m_layerCleared
         || m_attributes.preserveDrawingBuffer || m_framebufferBinding)
         return false;
 
+    RefPtr<WebGLContextAttributes> contextAttributes = getContextAttributes();
+
     // Determine if it's possible to combine the clear the user asked for and this clear.
     bool combinedClear = mask && !m_scissorEnabled;