Title: [105462] trunk/Source/WebKit/chromium
Revision
105462
Author
[email protected]
Date
2012-01-19 16:29:30 -0800 (Thu, 19 Jan 2012)

Log Message

[chromium] Replace WGC3D visibility extension with resource_usage extension. [Part 1 of 3]
https://bugs.webkit.org/show_bug.cgi?id=76634

Patch by Michal Mocny <[email protected]> on 2012-01-19
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):

Modified Paths

Diff

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*) { }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to