Title: [110691] trunk/Source/WebCore
- Revision
- 110691
- Author
- [email protected]
- Date
- 2012-03-14 04:56:47 -0700 (Wed, 14 Mar 2012)
Log Message
3D transformed surfaces with z>0 gets cropped
https://bugs.webkit.org/show_bug.cgi?id=81009
Patch by Lars Knudsen <[email protected]> on 2012-03-14
Reviewed by Noam Rosenthal.
The scissor clipping in TextureMapperGL didn't take 3D transforms
into account when calculating the clipping region.
Now, it will bail out early if the transform is not affine.
No new tests. Tested by current compositing layout tests.
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::beginScissorClip):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (110690 => 110691)
--- trunk/Source/WebCore/ChangeLog 2012-03-14 11:47:36 UTC (rev 110690)
+++ trunk/Source/WebCore/ChangeLog 2012-03-14 11:56:47 UTC (rev 110691)
@@ -1,3 +1,19 @@
+2012-03-14 Lars Knudsen <[email protected]>
+
+ 3D transformed surfaces with z>0 gets cropped
+ https://bugs.webkit.org/show_bug.cgi?id=81009
+
+ Reviewed by Noam Rosenthal.
+
+ The scissor clipping in TextureMapperGL didn't take 3D transforms
+ into account when calculating the clipping region.
+ Now, it will bail out early if the transform is not affine.
+
+ No new tests. Tested by current compositing layout tests.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::beginScissorClip):
+
2012-03-14 Hajime Morrita <[email protected]>
Unreviewed build fix.
Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp (110690 => 110691)
--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp 2012-03-14 11:47:36 UTC (rev 110690)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp 2012-03-14 11:56:47 UTC (rev 110691)
@@ -604,6 +604,11 @@
bool TextureMapperGL::beginScissorClip(const TransformationMatrix& modelViewMatrix, const FloatRect& targetRect)
{
+ // 3D transforms are currently not supported in scissor clipping
+ // resulting in cropped surfaces when z>0.
+ if (!modelViewMatrix.isAffine())
+ return false;
+
FloatQuad quad = modelViewMatrix.projectQuad(targetRect);
IntRect rect = quad.enclosingBoundingBox();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes