Title: [123617] trunk/Source/WebKit/blackberry
Revision
123617
Author
[email protected]
Date
2012-07-25 07:59:36 -0700 (Wed, 25 Jul 2012)

Log Message

[BlackBerry] Don't touch a tile buffer while it's still on its way to the GPU
https://bugs.webkit.org/show_bug.cgi?id=91992

Patch by Arvid Nilsson <[email protected]> on 2012-07-25
Reviewed by Adam Treat.

PR: 141439
The copyPreviousContentsToBackSurfaceOfTile() call will also modify
buffer contents, move it after the blit generation condvar to make sure
we've waited for the buffer to become available first.

This is done as part of some general BackingStorePrivate::render()
cleanup in PR 141439.

Internally reviewed by Jakob Petsovits.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::render):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/BackingStore.cpp (123616 => 123617)


--- trunk/Source/WebKit/blackberry/Api/BackingStore.cpp	2012-07-25 14:55:03 UTC (rev 123616)
+++ trunk/Source/WebKit/blackberry/Api/BackingStore.cpp	2012-07-25 14:59:36 UTC (rev 123617)
@@ -1113,8 +1113,6 @@
                 continue;
         }
 
-        copyPreviousContentsToBackSurfaceOfTile(dirtyTileRect, tile);
-
         BlackBerry::Platform::Graphics::Buffer* nativeBuffer
             = tile->backBuffer()->nativeBuffer();
 
@@ -1139,6 +1137,10 @@
             pthread_mutex_unlock(&m_blitGenerationLock);
         }
 
+        // Modify the buffer only after we've waited for the buffer to become available above.
+
+        copyPreviousContentsToBackSurfaceOfTile(dirtyTileRect, tile);
+
         // FIXME: modify render to take a Vector<IntRect> parameter so we're not recreating
         // GraphicsContext on the stack each time.
         renderContents(nativeBuffer, originOfTile(index), dirtyRect);

Modified: trunk/Source/WebKit/blackberry/ChangeLog (123616 => 123617)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-07-25 14:55:03 UTC (rev 123616)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-07-25 14:59:36 UTC (rev 123617)
@@ -1,3 +1,23 @@
+2012-07-25  Arvid Nilsson  <[email protected]>
+
+        [BlackBerry] Don't touch a tile buffer while it's still on its way to the GPU
+        https://bugs.webkit.org/show_bug.cgi?id=91992
+
+        Reviewed by Adam Treat.
+
+        PR: 141439
+        The copyPreviousContentsToBackSurfaceOfTile() call will also modify
+        buffer contents, move it after the blit generation condvar to make sure
+        we've waited for the buffer to become available first.
+
+        This is done as part of some general BackingStorePrivate::render()
+        cleanup in PR 141439.
+
+        Internally reviewed by Jakob Petsovits.
+
+        * Api/BackingStore.cpp:
+        (BlackBerry::WebKit::BackingStorePrivate::render):
+
 2012-07-25  Jakob Petsovits  <[email protected]>
 
         [BlackBerry] notifyContentRendered() call missing in two spots
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to