Title: [119882] trunk/Source/WebCore
- Revision
- 119882
- Author
- [email protected]
- Date
- 2012-06-08 17:56:05 -0700 (Fri, 08 Jun 2012)
Log Message
[Cairo] [TextureMapperGL] Nvidia card does not update WebGL texture when interacting with canvas
https://bugs.webkit.org/show_bug.cgi?id=87797
Patch by Martin Robinson <[email protected]> on 2012-06-08
Reviewed by Philippe Normand.
No new tests. WebGL is already covered by WebGL tests and this
bug is only present on certain hardware.
After resolving multisampling before drawing the texture via the
TextureMapper, first rebind the multisampling framebuffer. This ensures
that the texture isn't active in two framebuffers at a time.
* platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Rebind the multisampling
framebuffer.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (119881 => 119882)
--- trunk/Source/WebCore/ChangeLog 2012-06-09 00:46:02 UTC (rev 119881)
+++ trunk/Source/WebCore/ChangeLog 2012-06-09 00:56:05 UTC (rev 119882)
@@ -1,3 +1,21 @@
+2012-06-08 Martin Robinson <[email protected]>
+
+ [Cairo] [TextureMapperGL] Nvidia card does not update WebGL texture when interacting with canvas
+ https://bugs.webkit.org/show_bug.cgi?id=87797
+
+ Reviewed by Philippe Normand.
+
+ No new tests. WebGL is already covered by WebGL tests and this
+ bug is only present on certain hardware.
+
+ After resolving multisampling before drawing the texture via the
+ TextureMapper, first rebind the multisampling framebuffer. This ensures
+ that the texture isn't active in two framebuffers at a time.
+
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Rebind the multisampling
+ framebuffer.
+
2012-06-08 Alexey Proskuryakov <[email protected]>
<rdar://problem/11412294> Add appropriate iOS default font settings
Modified: trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp (119881 => 119882)
--- trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp 2012-06-09 00:46:02 UTC (rev 119881)
+++ trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp 2012-06-09 00:56:05 UTC (rev 119882)
@@ -69,11 +69,11 @@
if (m_context->m_attrs.antialias && m_context->m_boundFBO == m_context->m_multisampleFBO) {
GLContext* previousActiveContext = GLContext::getCurrent();
-
if (previousActiveContext != m_glContext)
m_context->makeContextCurrent();
m_context->resolveMultisamplingIfNecessary();
+ glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_context->m_boundFBO);
if (previousActiveContext && previousActiveContext != m_glContext)
previousActiveContext->makeContextCurrent();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes