Title: [106400] trunk
Revision
106400
Author
[email protected]
Date
2012-01-31 14:58:23 -0800 (Tue, 31 Jan 2012)

Log Message

Unreviewed, rolling out r106376.
http://trac.webkit.org/changeset/106376
https://bugs.webkit.org/show_bug.cgi?id=77481

Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
by kbr_google on #webkit).

Patch by Sheriff Bot <[email protected]> on 2012-01-31

Source/WebCore:

* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore):
(WebCore::DrawingBuffer::reset):

LayoutTests:

* platform/chromium/test_expectations.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (106399 => 106400)


--- trunk/LayoutTests/ChangeLog	2012-01-31 22:57:20 UTC (rev 106399)
+++ trunk/LayoutTests/ChangeLog	2012-01-31 22:58:23 UTC (rev 106400)
@@ -1,3 +1,14 @@
+2012-01-31  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r106376.
+        http://trac.webkit.org/changeset/106376
+        https://bugs.webkit.org/show_bug.cgi?id=77481
+
+        Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
+        by kbr_google on #webkit).
+
+        * platform/chromium/test_expectations.txt:
+
 2012-01-31  David Grogan  <[email protected]>
 
         IndexedDB: refactor basics layout test so that it can be run on workers.

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (106399 => 106400)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-01-31 22:57:20 UTC (rev 106399)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-01-31 22:58:23 UTC (rev 106400)
@@ -3831,6 +3831,8 @@
 
 BUGWK76580 : media/media-document-audio-repaint.html = IMAGE PASS
 
+BUGWK76562 : fast/canvas/webgl/drawingbuffer-test.html = TEXT
+
 // This test is passing, but it doesn't seem possible to add GPU+Leopard specific baselines.
 BUGJAMESR LEOPARD GPU : fast/canvas/quadraticCurveTo.xml = IMAGE
 

Modified: trunk/Source/WebCore/ChangeLog (106399 => 106400)


--- trunk/Source/WebCore/ChangeLog	2012-01-31 22:57:20 UTC (rev 106399)
+++ trunk/Source/WebCore/ChangeLog	2012-01-31 22:58:23 UTC (rev 106400)
@@ -1,3 +1,16 @@
+2012-01-31  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r106376.
+        http://trac.webkit.org/changeset/106376
+        https://bugs.webkit.org/show_bug.cgi?id=77481
+
+        Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
+        by kbr_google on #webkit).
+
+        * platform/graphics/gpu/DrawingBuffer.cpp:
+        (WebCore):
+        (WebCore::DrawingBuffer::reset):
+
 2012-01-31  Mihnea Ovidenie  <[email protected]>
 
         [CSSRegions]Reduce the cases when the box style in region is computed

Modified: trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp (106399 => 106400)


--- trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp	2012-01-31 22:57:20 UTC (rev 106399)
+++ trunk/Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp	2012-01-31 22:58:23 UTC (rev 106400)
@@ -49,7 +49,6 @@
 static int s_maximumResourceUsePixels = 0;
 #endif
 static int s_currentResourceUsePixels = 0;
-static const float s_resourceAdjustedRatio = 0.5;
 
 PassRefPtr<DrawingBuffer> DrawingBuffer::create(GraphicsContext3D* context, const IntSize& size, bool separateBackingTexture)
 {
@@ -237,28 +236,19 @@
     }
 
     int pixelDelta = newSize.width() * newSize.height();
-    int oldSize = 0;
-    if (!m_size.isEmpty()) {
-        oldSize = m_size.width() * m_size.height();
-        pixelDelta -= oldSize;
-    }
+    if (!m_size.isEmpty())
+        pixelDelta -= m_size.width() * m_size.height();
 
-    IntSize adjustedSize = newSize;
-    if (s_maximumResourceUsePixels) {
-        while ((s_currentResourceUsePixels + pixelDelta) > s_maximumResourceUsePixels) {
-            adjustedSize.scale(s_resourceAdjustedRatio);
-            if (adjustedSize.isEmpty()) {
-                clear();
-                return false;
-            }
-            pixelDelta = adjustedSize.width() * adjustedSize.height();
-            pixelDelta -= oldSize;
-        }
+    if (s_maximumResourceUsePixels && (s_currentResourceUsePixels + pixelDelta) > s_maximumResourceUsePixels) {
+        clear();
+        return false;
     }
+    s_currentResourceUsePixels += pixelDelta;
 
     const GraphicsContext3D::Attributes& attributes = m_context->getContextAttributes();
 
-    if (adjustedSize != m_size) {
+    if (newSize != m_size) {
+        m_size = newSize;
 
         unsigned internalColorFormat, colorFormat, internalRenderbufferFormat;
         if (attributes.alpha) {
@@ -271,57 +261,47 @@
             internalRenderbufferFormat = Extensions3D::RGB8_OES;
         }
 
-        do {
-            m_size = adjustedSize;
 
-            // resize multisample FBO
-            if (multisample()) {
-                int maxSampleCount = 0;
+        // resize multisample FBO
+        if (multisample()) {
+            int maxSampleCount = 0;
+            
+            m_context->getIntegerv(Extensions3D::MAX_SAMPLES, &maxSampleCount);
+            int sampleCount = std::min(4, maxSampleCount);
 
-                m_context->getIntegerv(Extensions3D::MAX_SAMPLES, &maxSampleCount);
-                int sampleCount = std::min(4, maxSampleCount);
+            m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO);
 
-                m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO);
-
-                m_context->bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_multisampleColorBuffer);
-                m_context->getExtensions()->renderbufferStorageMultisample(GraphicsContext3D::RENDERBUFFER, sampleCount, internalRenderbufferFormat, m_size.width(), m_size.height());
-                m_context->framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::RENDERBUFFER, m_multisampleColorBuffer);
-                resizeDepthStencil(sampleCount);
-                if (m_context->checkFramebufferStatus(GraphicsContext3D::FRAMEBUFFER) != GraphicsContext3D::FRAMEBUFFER_COMPLETE) {
-                    adjustedSize.scale(s_resourceAdjustedRatio);
-                    continue;
-                }
+            m_context->bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_multisampleColorBuffer);
+            m_context->getExtensions()->renderbufferStorageMultisample(GraphicsContext3D::RENDERBUFFER, sampleCount, internalRenderbufferFormat, m_size.width(), m_size.height());
+            m_context->framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::RENDERBUFFER, m_multisampleColorBuffer);
+            resizeDepthStencil(sampleCount);
+            if (m_context->checkFramebufferStatus(GraphicsContext3D::FRAMEBUFFER) != GraphicsContext3D::FRAMEBUFFER_COMPLETE) {
+                // Cleanup
+                clear();
+                return false;
             }
+        }
 
-            // resize regular FBO
-            m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
+        // resize regular FBO
+        m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
 
-            m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, m_colorBuffer);
-            m_context->texImage2D(GraphicsContext3D::TEXTURE_2D, 0, internalColorFormat, m_size.width(), m_size.height(), 0, colorFormat, GraphicsContext3D::UNSIGNED_BYTE, 0);
+        m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, m_colorBuffer);
+        m_context->texImage2D(GraphicsContext3D::TEXTURE_2D, 0, internalColorFormat, m_size.width(), m_size.height(), 0, colorFormat, GraphicsContext3D::UNSIGNED_BYTE, 0);
 
-            m_context->framebufferTexture2D(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::TEXTURE_2D, m_colorBuffer, 0);
+        m_context->framebufferTexture2D(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::TEXTURE_2D, m_colorBuffer, 0);
 
-            // resize the backing color buffer
-            if (m_separateBackingTexture) {
-                m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, m_backingColorBuffer);
-                m_context->texImage2D(GraphicsContext3D::TEXTURE_2D, 0, internalColorFormat, m_size.width(), m_size.height(), 0, colorFormat, GraphicsContext3D::UNSIGNED_BYTE, 0);
-            }
+        // resize the backing color buffer
+        if (m_separateBackingTexture) {
+            m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, m_backingColorBuffer);
+            m_context->texImage2D(GraphicsContext3D::TEXTURE_2D, 0, internalColorFormat, m_size.width(), m_size.height(), 0, colorFormat, GraphicsContext3D::UNSIGNED_BYTE, 0);
+        }
 
-            m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, 0);
+        m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, 0);
 
-            if (!multisample())
-                resizeDepthStencil(0);
-            if (m_context->checkFramebufferStatus(GraphicsContext3D::FRAMEBUFFER) == GraphicsContext3D::FRAMEBUFFER_COMPLETE)
-                break;
-            adjustedSize.scale(s_resourceAdjustedRatio);
-
-        } while (!adjustedSize.isEmpty());
-
-        pixelDelta = m_size.width() * m_size.height();
-        pixelDelta -= oldSize;
-        s_currentResourceUsePixels += pixelDelta;
-
-        if (adjustedSize.isEmpty()) {
+        if (!multisample())
+            resizeDepthStencil(0);
+        if (m_context->checkFramebufferStatus(GraphicsContext3D::FRAMEBUFFER) != GraphicsContext3D::FRAMEBUFFER_COMPLETE) {
+            // Cleanup
             clear();
             return false;
         }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to