Title: [223640] trunk
- Revision
- 223640
- Author
- [email protected]
- Date
- 2017-10-18 16:41:44 -0700 (Wed, 18 Oct 2017)
Log Message
Some older hardware can't actually use renderbuffers at the size they advertise
https://bugs.webkit.org/show_bug.cgi?id=178417
<rdar://problem/35042291>
Reviewed by Tim Horton.
Source/WebCore:
The change in r223567 caused some older hardware to fail, because even though
they claimed to support a maximum renderbuffer and viewport of 16K, they were
unable to actually handle one. Rather than trying to identify such hardware,
clamp all buffers to a maximum of 8192. This is bigger than the previous value
of 4096, and large enough to have a full-screen buffer on a Retina 5K iMac.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getIntegerv):
LayoutTests:
Unskip webgl/1.0.2/conformance/canvas/drawingbuffer-static-canvas-test.html.
* TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (223639 => 223640)
--- trunk/LayoutTests/ChangeLog 2017-10-18 23:14:34 UTC (rev 223639)
+++ trunk/LayoutTests/ChangeLog 2017-10-18 23:41:44 UTC (rev 223640)
@@ -1,3 +1,15 @@
+2017-10-18 Dean Jackson <[email protected]>
+
+ Some older hardware can't actually use renderbuffers at the size they advertise
+ https://bugs.webkit.org/show_bug.cgi?id=178417
+ <rdar://problem/35042291>
+
+ Reviewed by Tim Horton.
+
+ Unskip webgl/1.0.2/conformance/canvas/drawingbuffer-static-canvas-test.html.
+
+ * TestExpectations:
+
2017-10-18 Daniel Bates <[email protected]>
Add test to ensure that text-overflow: ellipsis text is scrollable
Modified: trunk/LayoutTests/TestExpectations (223639 => 223640)
--- trunk/LayoutTests/TestExpectations 2017-10-18 23:14:34 UTC (rev 223639)
+++ trunk/LayoutTests/TestExpectations 2017-10-18 23:41:44 UTC (rev 223640)
@@ -1509,4 +1509,3 @@
webkit.org/b/177799 accessibility/table-detection.html [ Pass Failure ]
webkit.org/b/177997 webgl/1.0.2/conformance/textures/copy-tex-image-2d-formats.html [ Pass Failure ]
-webkit.org/b/178417 webgl/1.0.2/conformance/canvas/drawingbuffer-static-canvas-test.html [ Pass Failure ]
Modified: trunk/Source/WebCore/ChangeLog (223639 => 223640)
--- trunk/Source/WebCore/ChangeLog 2017-10-18 23:14:34 UTC (rev 223639)
+++ trunk/Source/WebCore/ChangeLog 2017-10-18 23:41:44 UTC (rev 223640)
@@ -1,3 +1,20 @@
+2017-10-18 Dean Jackson <[email protected]>
+
+ Some older hardware can't actually use renderbuffers at the size they advertise
+ https://bugs.webkit.org/show_bug.cgi?id=178417
+ <rdar://problem/35042291>
+
+ Reviewed by Tim Horton.
+
+ The change in r223567 caused some older hardware to fail, because even though
+ they claimed to support a maximum renderbuffer and viewport of 16K, they were
+ unable to actually handle one. Rather than trying to identify such hardware,
+ clamp all buffers to a maximum of 8192. This is bigger than the previous value
+ of 4096, and large enough to have a full-screen buffer on a Retina 5K iMac.
+
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+ (WebCore::GraphicsContext3D::getIntegerv):
+
2017-10-18 Chris Dumez <[email protected]>
[Service Worker] Add stubs for Client / WindowClient / Clients
Modified: trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp (223639 => 223640)
--- trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp 2017-10-18 23:14:34 UTC (rev 223639)
+++ trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp 2017-10-18 23:41:44 UTC (rev 223640)
@@ -333,6 +333,20 @@
if (getExtensions().requiresRestrictedMaximumTextureSize())
*value = std::min(1024, *value);
break;
+#if PLATFORM(MAC)
+ // Some older hardware advertises a larger maximum than they
+ // can actually handle. Rather than detecting such devices, simply
+ // clamp the maximum to 8192, which is big enough for a 5K display.
+ case MAX_RENDERBUFFER_SIZE:
+ ::glGetIntegerv(MAX_RENDERBUFFER_SIZE, value);
+ *value = std::min(8192, *value);
+ break;
+ case MAX_VIEWPORT_DIMS:
+ ::glGetIntegerv(MAX_VIEWPORT_DIMS, value);
+ value[0] = std::min(8192, value[0]);
+ value[1] = std::min(8192, value[1]);
+ break;
+#endif
default:
::glGetIntegerv(pname, value);
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes