Title: [96467] trunk/Source/WebCore
Revision
96467
Author
[email protected]
Date
2011-10-01 19:21:48 -0700 (Sat, 01 Oct 2011)

Log Message

[chromium] Fixing draw matrix for composited layers. This
was a regression introduced by:
http://trac.webkit.org/changeset/96454

https://bugs.webkit.org/show_bug.cgi?id=69217

Reviewed by James Robinson.

Tests: compositor test now pass

* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::draw):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (96466 => 96467)


--- trunk/Source/WebCore/ChangeLog	2011-10-02 01:13:04 UTC (rev 96466)
+++ trunk/Source/WebCore/ChangeLog	2011-10-02 02:21:48 UTC (rev 96467)
@@ -1,3 +1,19 @@
+2011-10-01  Vangelis Kokkevis  <[email protected]>
+
+        [chromium] Fixing draw matrix for composited layers. This
+        was a regression introduced by:
+        http://trac.webkit.org/changeset/96454
+
+        https://bugs.webkit.org/show_bug.cgi?id=69217
+
+        Reviewed by James Robinson.
+
+        Tests: compositor test now pass
+
+        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+        (WebCore::CCTiledLayerImpl::draw):
+        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+
 2011-10-01  Geoffrey Garen  <[email protected]>
 
         Removed redundant helper functions for allocating Strong handles

Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp (96466 => 96467)


--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp	2011-10-02 01:13:04 UTC (rev 96466)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp	2011-10-02 02:21:48 UTC (rev 96467)
@@ -117,7 +117,8 @@
     if (m_skipsDraw || !m_tiler || m_tiler->isEmpty() || layerRect.isEmpty() || !layerRenderer)
         return;
 
-    TransformationMatrix deviceMatrix = TransformationMatrix(layerRenderer->windowMatrix() * layerRenderer->projectionMatrix() * m_tilingTransform).to2dTransform();
+    TransformationMatrix layerTransform = tilingTransform();
+    TransformationMatrix deviceMatrix = TransformationMatrix(layerRenderer->windowMatrix() * layerRenderer->projectionMatrix() * layerTransform).to2dTransform();
 
     // Don't draw any tiles when device matrix is not invertible.
     if (!deviceMatrix.isInvertible())
@@ -150,19 +151,19 @@
     case LayerTextureUpdater::SampledTexelFormatRGBA:
         if (useAA) {
             const ProgramAA* program = layerRenderer->tilerProgramAA();
-            drawTiles(layerRenderer, layerRect, m_tilingTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, program->fragmentShader().fragmentTexTransformLocation(), program->fragmentShader().edgeLocation());
+            drawTiles(layerRenderer, layerRect, layerTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, program->fragmentShader().fragmentTexTransformLocation(), program->fragmentShader().edgeLocation());
         } else {
             const Program* program = layerRenderer->tilerProgram();
-            drawTiles(layerRenderer, layerRect, m_tilingTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, -1, -1);
+            drawTiles(layerRenderer, layerRect, layerTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, -1, -1);
         }
         break;
     case LayerTextureUpdater::SampledTexelFormatBGRA:
         if (useAA) {
             const ProgramSwizzleAA* program = layerRenderer->tilerProgramSwizzleAA();
-            drawTiles(layerRenderer, layerRect, m_tilingTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, program->fragmentShader().fragmentTexTransformLocation(), program->fragmentShader().edgeLocation());
+            drawTiles(layerRenderer, layerRect, layerTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, program->fragmentShader().fragmentTexTransformLocation(), program->fragmentShader().edgeLocation());
         } else {
             const ProgramSwizzle* program = layerRenderer->tilerProgramSwizzle();
-            drawTiles(layerRenderer, layerRect, m_tilingTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, -1, -1);
+            drawTiles(layerRenderer, layerRect, layerTransform, deviceMatrix, deviceRect, layerQuad, drawOpacity(), program, -1, -1);
         }
         break;
     default:

Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h (96466 => 96467)


--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h	2011-10-02 01:13:04 UTC (rev 96466)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h	2011-10-02 02:21:48 UTC (rev 96467)
@@ -48,7 +48,6 @@
 
     virtual void dumpLayerProperties(TextStream&, int indent) const;
 
-    void setTilingTransform(const TransformationMatrix& tilingTransform) { m_tilingTransform = tilingTransform; }
     void setSkipsDraw(bool skipsDraw) { m_skipsDraw = skipsDraw; }
     void setTextureOrientation(LayerTextureUpdater::Orientation textureOrientation) { m_textureOrientation = textureOrientation; }
     void setSampledTexelFormat(LayerTextureUpdater::SampledTexelFormat sampledTexelFormat) { m_sampledTexelFormat = sampledTexelFormat; }
@@ -81,7 +80,6 @@
     template <class T>
     void drawTiles(LayerRendererChromium*, const IntRect& contentRect, const TransformationMatrix& globalTransform, const TransformationMatrix& deviceTransform, const CCLayerQuad& deviceRect, const CCLayerQuad& contentQuad, float opacity, const T* program, int fragmentTexTransformLocation, int edgeLocation);
 
-    TransformationMatrix m_tilingTransform;
     bool m_skipsDraw;
     LayerTextureUpdater::Orientation m_textureOrientation;
     LayerTextureUpdater::SampledTexelFormat m_sampledTexelFormat;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to