Title: [238459] trunk/Source
Revision
238459
Author
an...@apple.com
Date
2018-11-23 07:07:40 -0800 (Fri, 23 Nov 2018)

Log Message

UI side compositing doesn't paint on Mac
https://bugs.webkit.org/show_bug.cgi?id=191908

Reviewed by Tim Horton.

Source/WebCore:

For clarity put RGB10 and RGB10A8 formats behind PLATFORM(IOS_FAMILY). They are not supported on Mac.

* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::IOSurface):
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::format const):
(WebCore::operator<<):

Source/WebKit:

* Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::bytesPerPixel const):
(WebKit::RemoteLayerBackingStore::surfaceBufferFormat const):

These deep color formats are not supported on Mac.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (238458 => 238459)


--- trunk/Source/WebCore/ChangeLog	2018-11-23 13:36:54 UTC (rev 238458)
+++ trunk/Source/WebCore/ChangeLog	2018-11-23 15:07:40 UTC (rev 238459)
@@ -1,3 +1,19 @@
+2018-11-23  Antti Koivisto  <an...@apple.com>
+
+        UI side compositing doesn't paint on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=191908
+
+        Reviewed by Tim Horton.
+
+        For clarity put RGB10 and RGB10A8 formats behind PLATFORM(IOS_FAMILY). They are not supported on Mac.
+
+        * platform/graphics/cocoa/IOSurface.h:
+        * platform/graphics/cocoa/IOSurface.mm:
+        (WebCore::IOSurface::IOSurface):
+        (WebCore::IOSurface::ensurePlatformContext):
+        (WebCore::IOSurface::format const):
+        (WebCore::operator<<):
+
 2018-11-23  Javier Fernandez  <jfernan...@igalia.com>
 
         [css-grid] Implement Baseline Alignment for grid items

Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h (238458 => 238459)


--- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h	2018-11-23 13:36:54 UTC (rev 238458)
+++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h	2018-11-23 15:07:40 UTC (rev 238459)
@@ -31,6 +31,10 @@
 #include "GraphicsContext.h"
 #include "IntSize.h"
 
+#if PLATFORM(IOS_FAMILY)
+#define HAVE_IOSURFACE_RGB10 1
+#endif
+
 namespace WTF {
 class MachSendRight;
 class TextStream;
@@ -50,8 +54,10 @@
     enum class Format {
         RGBA,
         YUV422,
+#if HAVE(IOSURFACE_RGB10)
         RGB10,
         RGB10A8,
+#endif
     };
     
     class Locker {

Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm (238458 => 238459)


--- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm	2018-11-23 13:36:54 UTC (rev 238458)
+++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm	2018-11-23 15:07:40 UTC (rev 238459)
@@ -204,6 +204,7 @@
     case Format::RGBA:
         options = optionsFor32BitSurface(size, 'BGRA');
         break;
+#if HAVE(IOSURFACE_RGB10)
     case Format::RGB10:
         options = optionsFor32BitSurface(size, 'w30r');
         break;
@@ -210,6 +211,7 @@
     case Format::RGB10A8:
         options = optionsForBiplanarSurface(size, 'b3a8', 4, 1);
         break;
+#endif
     case Format::YUV422:
         options = optionsForBiplanarSurface(size, '422f', 1, 1);
         break;
@@ -287,6 +289,7 @@
     switch (format()) {
     case Format::RGBA:
         break;
+#if HAVE(IOSURFACE_RGB10)
     case Format::RGB10:
     case Format::RGB10A8:
         // A half-float format will be used if CG needs to read back the IOSurface contents,
@@ -295,6 +298,7 @@
         bitsPerPixel = 64;
         bitmapInfo = kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder16Host | kCGBitmapFloatComponents;
         break;
+#endif
     case Format::YUV422:
         ASSERT_NOT_REACHED();
         break;
@@ -362,11 +366,13 @@
     if (pixelFormat == 'BGRA')
         return Format::RGBA;
 
+#if HAVE(IOSURFACE_RGB10)
     if (pixelFormat == 'w30r')
         return Format::RGB10;
 
     if (pixelFormat == 'b3a8')
         return Format::RGB10A8;
+#endif
 
     if (pixelFormat == '422f')
         return Format::YUV422;
@@ -404,8 +410,10 @@
 
 bool IOSurface::allowConversionFromFormatToFormat(Format sourceFormat, Format destFormat)
 {
+#if HAVE(IOSURFACE_RGB10)
     if ((sourceFormat == Format::RGB10 || sourceFormat == Format::RGB10A8) && destFormat == Format::YUV422)
         return false;
+#endif
 
     return true;
 }
@@ -466,6 +474,7 @@
     case IOSurface::Format::YUV422:
         ts << "YUV422";
         break;
+#if HAVE(IOSURFACE_RGB10)
     case IOSurface::Format::RGB10:
         ts << "RGB10";
         break;
@@ -472,6 +481,7 @@
     case IOSurface::Format::RGB10A8:
         ts << "RGB10A8";
         break;
+#endif
     }
     return ts;
 }

Modified: trunk/Source/WebKit/ChangeLog (238458 => 238459)


--- trunk/Source/WebKit/ChangeLog	2018-11-23 13:36:54 UTC (rev 238458)
+++ trunk/Source/WebKit/ChangeLog	2018-11-23 15:07:40 UTC (rev 238459)
@@ -1,3 +1,16 @@
+2018-11-23  Antti Koivisto  <an...@apple.com>
+
+        UI side compositing doesn't paint on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=191908
+
+        Reviewed by Tim Horton.
+
+        * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
+        (WebKit::RemoteLayerBackingStore::bytesPerPixel const):
+        (WebKit::RemoteLayerBackingStore::surfaceBufferFormat const):
+
+        These deep color formats are not supported on Mac.
+
 2018-11-22  Chris Dumez  <cdu...@apple.com>
 
         Regression(r238353) Load sometimes hangs when navigating back after a cross-site navigation

Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm (238458 => 238459)


--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm	2018-11-23 13:36:54 UTC (rev 238458)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm	2018-11-23 15:07:40 UTC (rev 238459)
@@ -181,8 +181,10 @@
     switch (surfaceBufferFormat()) {
     case WebCore::IOSurface::Format::RGBA: return 4;
     case WebCore::IOSurface::Format::YUV422: return 2;
+#if HAVE(IOSURFACE_RGB10)
     case WebCore::IOSurface::Format::RGB10: return 4;
     case WebCore::IOSurface::Format::RGB10A8: return 5;
+#endif
     }
 #endif
     return 4;
@@ -500,8 +502,10 @@
 #if HAVE(IOSURFACE)
 WebCore::IOSurface::Format RemoteLayerBackingStore::surfaceBufferFormat() const
 {
+#if HAVE(IOSURFACE_RGB10)
     if (m_deepColor)
         return m_isOpaque ? WebCore::IOSurface::Format::RGB10 : WebCore::IOSurface::Format::RGB10A8;
+#endif
 
     return WebCore::IOSurface::Format::RGBA;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to