Modified: trunk/Source/WebKit/chromium/ChangeLog (105461 => 105462)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-01-20 00:13:05 UTC (rev 105461)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-01-20 00:29:30 UTC (rev 105462)
@@ -1,3 +1,18 @@
+2012-01-19 Michal Mocny <[email protected]>
+
+ [chromium] Replace WGC3D visibility extension with resource_usage extension. [Part 1 of 3]
+ https://bugs.webkit.org/show_bug.cgi?id=76634
+
+ Reviewed by Kenneth Russell.
+
+ * public/platform/WebGraphicsContext3D.h:
+ (WebKit::WebGraphicsContext3D::setVisibilityCHROMIUM):
+ (WebKit::WebGraphicsContext3D::setResourceUsageCHROMIUM):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DPrivate::setVisibilityCHROMIUM):
+ * tests/FakeWebGraphicsContext3D.h:
+ (WebKit::FakeWebGraphicsContext3D::setResourceUsageCHROMIUM):
+
2012-01-19 James Robinson <[email protected]>
[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
Modified: trunk/Source/WebKit/chromium/public/platform/WebGraphicsContext3D.h (105461 => 105462)
--- trunk/Source/WebKit/chromium/public/platform/WebGraphicsContext3D.h 2012-01-20 00:13:05 UTC (rev 105461)
+++ trunk/Source/WebKit/chromium/public/platform/WebGraphicsContext3D.h 2012-01-20 00:29:30 UTC (rev 105462)
@@ -124,6 +124,13 @@
virtual ~WebGraphicsSwapBuffersCompleteCallbackCHROMIUM() { }
};
+ // Graphics Resource Usage
+ enum ResourceUsage {
+ RESOURCE_USAGE_FULL,
+ RESOURCE_USAGE_LESS,
+ RESOURCE_USAGE_NONE,
+ };
+
// This destructor needs to be public so that using classes can destroy instances if initialization fails.
virtual ~WebGraphicsContext3D() {}
@@ -143,8 +150,10 @@
// Resizes the region into which this WebGraphicsContext3D is drawing.
virtual void reshape(int width, int height) = 0;
- // GL_CHROMIUM_setVisibility - Changes the visibility of the backbuffer
- virtual void setVisibilityCHROMIUM(bool visible) = 0;
+ // GL_CHROMIUM_resource_usage - use/drop various resources, such as front/back buffers
+ // TODO(mmocny): remove visibility once chromium patch lands
+ virtual void setVisibilityCHROMIUM(bool visible) { }
+ virtual void setResourceUsageCHROMIUM(ResourceUsage) { }
// Query whether it is built on top of compliant GLES2 implementation.
virtual bool isGLES2Compliant() = 0;
Modified: trunk/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp (105461 => 105462)
--- trunk/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp 2012-01-20 00:13:05 UTC (rev 105461)
+++ trunk/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp 2012-01-20 00:29:30 UTC (rev 105462)
@@ -891,6 +891,13 @@
return m_enabledExtensions.contains(mappedName);
}
+void GraphicsContext3DPrivate::setVisibilityCHROMIUM(bool visibility)
+{
+ // TODO(mmocny): remove visibility once chromium patch lands
+ m_impl->setVisibilityCHROMIUM(visibility);
+ m_impl->setResourceUsageCHROMIUM(visibility ? WebKit::WebGraphicsContext3D::RESOURCE_USAGE_FULL : WebKit::WebGraphicsContext3D::RESOURCE_USAGE_LESS);
+}
+
DELEGATE_TO_IMPL_4(postSubBufferCHROMIUM, int, int, int, int)
DELEGATE_TO_IMPL_4R(mapBufferSubDataCHROMIUM, GC3Denum, GC3Dsizeiptr, GC3Dsizei, GC3Denum, void*)
@@ -898,8 +905,6 @@
DELEGATE_TO_IMPL_9R(mapTexSubImage2DCHROMIUM, GC3Denum, GC3Dint, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Denum, GC3Denum, GC3Denum, void*)
DELEGATE_TO_IMPL_1(unmapTexSubImage2DCHROMIUM, const void*)
-DELEGATE_TO_IMPL_1(setVisibilityCHROMIUM, bool);
-
DELEGATE_TO_IMPL_10(blitFramebufferCHROMIUM, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dint, GC3Dbitfield, GC3Denum)
DELEGATE_TO_IMPL_5(renderbufferStorageMultisampleCHROMIUM, GC3Denum, GC3Dsizei, GC3Denum, GC3Dsizei, GC3Dsizei)
Modified: trunk/Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h (105461 => 105462)
--- trunk/Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h 2012-01-20 00:13:05 UTC (rev 105461)
+++ trunk/Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h 2012-01-20 00:29:30 UTC (rev 105462)
@@ -63,7 +63,7 @@
virtual void* mapTexSubImage2DCHROMIUM(WGC3Denum target, WGC3Dint level, WGC3Dint xoffset, WGC3Dint yoffset, WGC3Dsizei width, WGC3Dsizei height, WGC3Denum format, WGC3Denum type, WGC3Denum access) { return 0; }
virtual void unmapTexSubImage2DCHROMIUM(const void*) { }
- virtual void setVisibilityCHROMIUM(bool visible) { }
+ virtual void setResourceUsageCHROMIUM(ResourceUsage) { }
virtual WebString getRequestableExtensionsCHROMIUM() { return WebString(); }
virtual void requestExtensionCHROMIUM(const char*) { }