Diff
Modified: trunk/Source/Platform/ChangeLog (111206 => 111207)
--- trunk/Source/Platform/ChangeLog 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/Platform/ChangeLog 2012-03-19 18:27:42 UTC (rev 111207)
@@ -1,3 +1,15 @@
+2012-03-19 David Reveman <[email protected]>
+
+ [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
+ https://bugs.webkit.org/show_bug.cgi?id=80988
+
+ Reviewed by Adrienne Walker.
+
+ Add EXT_occlusion_query API to WebGraphicsContext3D.
+
+ * chromium/public/WebGraphicsContext3D.h:
+ (WebGraphicsContext3D):
+
2012-03-08 James Robinson <[email protected]>
Use an explicit attribute to signal that a context prefers to use a discrete GPU
Modified: trunk/Source/Platform/chromium/public/WebGraphicsContext3D.h (111206 => 111207)
--- trunk/Source/Platform/chromium/public/WebGraphicsContext3D.h 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/Platform/chromium/public/WebGraphicsContext3D.h 2012-03-19 18:27:42 UTC (rev 111207)
@@ -398,6 +398,14 @@
virtual void texStorage2DEXT(WGC3Denum target, WGC3Dint levels, WGC3Duint internalformat,
WGC3Dint width, WGC3Dint height) { }
+ // GL_EXT_occlusion_query
+ virtual WebGLId createQueryEXT() = 0;
+ virtual void deleteQueryEXT(WebGLId query) = 0;
+ virtual WGC3Dboolean isQueryEXT(WebGLId query) = 0;
+ virtual void beginQueryEXT(WGC3Denum target, WebGLId query) = 0;
+ virtual void endQueryEXT(WGC3Denum target) = 0;
+ virtual void getQueryivEXT(WGC3Denum target, WGC3Denum pname, WGC3Dint* params) = 0;
+ virtual void getQueryObjectuivEXT(WebGLId query, WGC3Denum pname, WGC3Duint* params) = 0;
#if WEBKIT_USING_SKIA
GrGLInterface* createGrGLInterface();
Modified: trunk/Source/WebCore/ChangeLog (111206 => 111207)
--- trunk/Source/WebCore/ChangeLog 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/WebCore/ChangeLog 2012-03-19 18:27:42 UTC (rev 111207)
@@ -1,3 +1,17 @@
+2012-03-19 David Reveman <[email protected]>
+
+ [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
+ https://bugs.webkit.org/show_bug.cgi?id=80988
+
+ Reviewed by Adrienne Walker.
+
+ Expose EXT_occlusion_query API to WebKit compositor. Add
+ GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
+ enums.
+
+ * platform/graphics/chromium/Extensions3DChromium.h:
+ (Extensions3DChromium):
+
2012-03-19 Mike Lawther <[email protected]>
CSS3 calc: make mask images work with mixed percent/absolute
Modified: trunk/Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h (111206 => 111207)
--- trunk/Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h 2012-03-19 18:27:42 UTC (rev 111207)
@@ -46,8 +46,10 @@
// GL_CHROMIUM_rate_limit_offscreen_context
// GL_CHROMIUM_paint_framebuffer_canvas
// GL_CHROMIUM_iosurface (Mac OS X specific)
+ // GL_CHROMIUM_command_buffer_query
// GL_ANGLE_texture_usage
// GL_EXT_texture_storage
+ // GL_EXT_occlusion_query_boolean
// Extensions3D methods.
virtual bool supports(const String&);
@@ -75,7 +77,17 @@
GL_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3,
// GL_EXT_texture_storage
- BGRA8_EXT = 0x93A1
+ BGRA8_EXT = 0x93A1,
+
+ // GL_EXT_occlusion_query_boolean
+ ANY_SAMPLES_PASSED_EXT = 0x8C2F,
+ ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A,
+ CURRENT_QUERY_EXT = 0x8865,
+ QUERY_RESULT_EXT = 0x8866,
+ QUERY_RESULT_AVAILABLE_EXT = 0x8867,
+
+ // GL_CHROMIUM_command_buffer_query
+ COMMANDS_ISSUED_CHROMIUM = 0x84F2
};
// GL_CHROMIUM_post_sub_buffer
@@ -120,6 +132,15 @@
// GL_EXT_texture_storage
void texStorage2DEXT(unsigned target, int levels, unsigned internalformat, int width, int height);
+ // GL_EXT_occlusion_query
+ Platform3DObject createQueryEXT();
+ void deleteQueryEXT(Platform3DObject);
+ GC3Dboolean isQueryEXT(Platform3DObject);
+ void beginQueryEXT(GC3Denum, Platform3DObject);
+ void endQueryEXT(GC3Denum);
+ void getQueryivEXT(GC3Denum, GC3Denum, GC3Dint*);
+ void getQueryObjectuivEXT(Platform3DObject, GC3Denum, GC3Duint*);
+
private:
// Instances of this class are strictly owned by the GraphicsContext3D implementation and do not
// need to be instantiated by any other code.
Modified: trunk/Source/WebKit/chromium/ChangeLog (111206 => 111207)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-03-19 18:27:42 UTC (rev 111207)
@@ -1,3 +1,35 @@
+2012-03-19 David Reveman <[email protected]>
+
+ [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
+ https://bugs.webkit.org/show_bug.cgi?id=80988
+
+ Reviewed by Adrienne Walker.
+
+ Expose EXT_occlusion_query API to WebKit compositor.
+
+ * src/Extensions3DChromium.cpp:
+ (WebCore::Extensions3DChromium::createQueryEXT):
+ (WebCore):
+ (WebCore::Extensions3DChromium::deleteQueryEXT):
+ (WebCore::Extensions3DChromium::isQueryEXT):
+ (WebCore::Extensions3DChromium::beginQueryEXT):
+ (WebCore::Extensions3DChromium::endQueryEXT):
+ (WebCore::Extensions3DChromium::getQueryivEXT):
+ (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore):
+ * src/GraphicsContext3DPrivate.h:
+ (GraphicsContext3DPrivate):
+ * tests/FakeWebGraphicsContext3D.h:
+ (WebKit::FakeWebGraphicsContext3D::createQueryEXT):
+ (WebKit::FakeWebGraphicsContext3D::deleteQueryEXT):
+ (WebKit::FakeWebGraphicsContext3D::isQueryEXT):
+ (WebKit::FakeWebGraphicsContext3D::beginQueryEXT):
+ (WebKit::FakeWebGraphicsContext3D::endQueryEXT):
+ (WebKit::FakeWebGraphicsContext3D::getQueryivEXT):
+ (WebKit::FakeWebGraphicsContext3D::getQueryObjectuivEXT):
+ (FakeWebGraphicsContext3D):
+
2012-03-19 Dana Jansens <[email protected]>
[chromium] Unit test fix, save the sharedQuadState while the quads hold a pointer to it
Modified: trunk/Source/WebKit/chromium/src/Extensions3DChromium.cpp (111206 => 111207)
--- trunk/Source/WebKit/chromium/src/Extensions3DChromium.cpp 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/WebKit/chromium/src/Extensions3DChromium.cpp 2012-03-19 18:27:42 UTC (rev 111207)
@@ -160,6 +160,41 @@
m_private->texStorage2DEXT(target, levels, internalFormat, width, height);
}
+Platform3DObject Extensions3DChromium::createQueryEXT()
+{
+ return m_private->createQueryEXT();
+}
+
+void Extensions3DChromium::deleteQueryEXT(Platform3DObject query)
+{
+ m_private->deleteQueryEXT(query);
+}
+
+GC3Dboolean Extensions3DChromium::isQueryEXT(Platform3DObject query)
+{
+ return m_private->isQueryEXT(query);
+}
+
+void Extensions3DChromium::beginQueryEXT(GC3Denum target, Platform3DObject query)
+{
+ m_private->beginQueryEXT(target, query);
+}
+
+void Extensions3DChromium::endQueryEXT(GC3Denum target)
+{
+ m_private->endQueryEXT(target);
+}
+
+void Extensions3DChromium::getQueryivEXT(GC3Denum target, GC3Denum pname, GC3Dint* params)
+{
+ m_private->getQueryivEXT(target, pname, params);
+}
+
+void Extensions3DChromium::getQueryObjectuivEXT(Platform3DObject query, GC3Denum pname, GC3Duint* params)
+{
+ m_private->getQueryObjectuivEXT(query, pname, params);
+}
+
} // namespace WebCore
#endif // ENABLE(WEBGL)
Modified: trunk/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp (111206 => 111207)
--- trunk/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp 2012-03-19 18:27:42 UTC (rev 111207)
@@ -889,6 +889,14 @@
DELEGATE_TO_IMPL_5(texImageIOSurface2DCHROMIUM, GC3Denum, GC3Dint, GC3Dint, GC3Duint, GC3Duint)
DELEGATE_TO_IMPL_5(texStorage2DEXT, GC3Denum, GC3Dint, GC3Duint, GC3Dint, GC3Dint)
+DELEGATE_TO_IMPL_R(createQueryEXT, Platform3DObject)
+DELEGATE_TO_IMPL_1(deleteQueryEXT, Platform3DObject)
+DELEGATE_TO_IMPL_1R(isQueryEXT, Platform3DObject, GC3Dboolean)
+DELEGATE_TO_IMPL_2(beginQueryEXT, GC3Denum, Platform3DObject)
+DELEGATE_TO_IMPL_1(endQueryEXT, GC3Denum)
+DELEGATE_TO_IMPL_3(getQueryivEXT, GC3Denum, GC3Denum, GC3Dint*)
+DELEGATE_TO_IMPL_3(getQueryObjectuivEXT, Platform3DObject, GC3Denum, GC3Duint*)
+
//----------------------------------------------------------------------
// GraphicsContext3D
//
Modified: trunk/Source/WebKit/chromium/src/GraphicsContext3DPrivate.h (111206 => 111207)
--- trunk/Source/WebKit/chromium/src/GraphicsContext3DPrivate.h 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/WebKit/chromium/src/GraphicsContext3DPrivate.h 2012-03-19 18:27:42 UTC (rev 111207)
@@ -307,6 +307,15 @@
// GL_EXT_texture_storage
void texStorage2DEXT(GC3Denum target, GC3Dint levels, GC3Duint internalformat, GC3Dint width, GC3Dint height);
+ // GL_EXT_occlusion_query
+ Platform3DObject createQueryEXT();
+ void deleteQueryEXT(Platform3DObject);
+ GC3Dboolean isQueryEXT(Platform3DObject);
+ void beginQueryEXT(GC3Denum, Platform3DObject);
+ void endQueryEXT(GC3Denum);
+ void getQueryivEXT(GC3Denum, GC3Denum, GC3Dint*);
+ void getQueryObjectuivEXT(Platform3DObject, GC3Denum, GC3Duint*);
+
private:
GraphicsContext3DPrivate(PassOwnPtr<WebKit::WebGraphicsContext3D>, bool preserveDrawingBuffer);
Modified: trunk/Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h (111206 => 111207)
--- trunk/Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h 2012-03-19 18:16:48 UTC (rev 111206)
+++ trunk/Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h 2012-03-19 18:27:42 UTC (rev 111207)
@@ -255,6 +255,14 @@
virtual void texStorage2DEXT(WGC3Denum target, WGC3Dint levels, WGC3Duint internalformat,
WGC3Dint width, WGC3Dint height) { }
+ virtual WebGLId createQueryEXT() { return 1; }
+ virtual void deleteQueryEXT(WebGLId) { }
+ virtual GC3Dboolean isQueryEXT(WebGLId) { return true; }
+ virtual void beginQueryEXT(GC3Denum, WebGLId) { }
+ virtual void endQueryEXT(GC3Denum) { }
+ virtual void getQueryivEXT(GC3Denum, GC3Denum, GC3Dint*) { }
+ virtual void getQueryObjectuivEXT(WebGLId, GC3Denum, GC3Duint*) { }
+
protected:
Attributes m_attrs;
};