Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Unified Diff: content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc

Issue 16574003: Converting applicable WebGraphicsContext3D functions to the GL macros (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc
diff --git a/content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc b/content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc
index 8e426f319a7f9e39b8a26ab1f83008b603bde6ee..c506c9a9fde17a7ddc74e815a0fd9f1b4f614635 100644
--- a/content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc
+++ b/content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.cc
@@ -104,6 +104,93 @@ base::LazyInstance<GLES2Initializer> g_gles2_initializer =
} // namespace anonymous
+// Helper macros to reduce the amount of code.
+
+#define DELEGATE_TO_GL(name, glname) \
+void WebGraphicsContext3DCommandBufferImpl::name() { \
+ gl_->glname(); \
+}
+
+#define DELEGATE_TO_GL_R(name, glname, rt) \
+rt WebGraphicsContext3DCommandBufferImpl::name() { \
+ return gl_->glname(); \
+}
+
+#define DELEGATE_TO_GL_1(name, glname, t1) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1) { \
+ gl_->glname(a1); \
+}
+
+#define DELEGATE_TO_GL_1R(name, glname, t1, rt) \
+rt WebGraphicsContext3DCommandBufferImpl::name(t1 a1) { \
+ return gl_->glname(a1); \
+}
+
+#define DELEGATE_TO_GL_1RB(name, glname, t1, rt) \
+rt WebGraphicsContext3DCommandBufferImpl::name(t1 a1) { \
+ return gl_->glname(a1) ? true : false; \
+}
+
+#define DELEGATE_TO_GL_2(name, glname, t1, t2) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2) { \
+ gl_->glname(a1, a2); \
+}
+
+#define DELEGATE_TO_GL_2R(name, glname, t1, t2, rt) \
+rt WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2) { \
+ return gl_->glname(a1, a2); \
+}
+
+#define DELEGATE_TO_GL_3(name, glname, t1, t2, t3) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3) { \
+ gl_->glname(a1, a2, a3); \
+}
+
+#define DELEGATE_TO_GL_4(name, glname, t1, t2, t3, t4) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
+ t4 a4) { \
+ gl_->glname(a1, a2, a3, a4); \
+}
+
+#define DELEGATE_TO_GL_4R(name, glname, t1, t2, t3, t4, rt) \
+rt WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
+ t4 a4) { \
greggman 2013/06/06 18:07:13 do you want to align this?
+ return gl_->glname(a1, a2, a3, a4); \
+}
+
+#define DELEGATE_TO_GL_5(name, glname, t1, t2, t3, t4, t5) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
+ t4 a4, t5 a5) { \
+ gl_->glname(a1, a2, a3, a4, a5); \
+}
+
+#define DELEGATE_TO_GL_6(name, glname, t1, t2, t3, t4, t5, t6) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
+ t4 a4, t5 a5, t6 a6) { \
+ gl_->glname(a1, a2, a3, a4, a5, a6); \
+}
+
+#define DELEGATE_TO_GL_7(name, glname, t1, t2, t3, t4, t5, t6, t7) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
+ t4 a4, t5 a5, t6 a6, \
+ t7 a7) { \
+ gl_->glname(a1, a2, a3, a4, a5, a6, a7); \
+}
+
+#define DELEGATE_TO_GL_8(name, glname, t1, t2, t3, t4, t5, t6, t7, t8) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
+ t4 a4, t5 a5, t6 a6, \
+ t7 a7, t8 a8) { \
+ gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8); \
+}
+
+#define DELEGATE_TO_GL_9(name, glname, t1, t2, t3, t4, t5, t6, t7, t8, t9) \
+void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
+ t4 a4, t5 a5, t6 a6, \
+ t7 a7, t8 a8, t9 a9) { \
+ gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8, a9); \
+}
+
class WebGraphicsContext3DErrorMessageCallback
: public gpu::gles2::GLES2Implementation::ErrorMessageCallback {
public:
@@ -404,9 +491,7 @@ int WebGraphicsContext3DCommandBufferImpl::height() {
return cached_height_;
}
-unsigned int WebGraphicsContext3DCommandBufferImpl::insertSyncPoint() {
- return gl_->InsertSyncPointCHROMIUM();
-}
+DELEGATE_TO_GL_R(insertSyncPoint, InsertSyncPointCHROMIUM, unsigned int)
void WebGraphicsContext3DCommandBufferImpl::Destroy() {
if (gl_) {
@@ -590,18 +675,11 @@ void WebGraphicsContext3DCommandBufferImpl::synthesizeGLError(
}
}
-void* WebGraphicsContext3DCommandBufferImpl::mapBufferSubDataCHROMIUM(
- WGC3Denum target,
- WGC3Dintptr offset,
- WGC3Dsizeiptr size,
- WGC3Denum access) {
- return gl_->MapBufferSubDataCHROMIUM(target, offset, size, access);
-}
+DELEGATE_TO_GL_4R(mapBufferSubDataCHROMIUM, MapBufferSubDataCHROMIUM, WGC3Denum,
+ WGC3Dintptr, WGC3Dsizeiptr, WGC3Denum, void*)
-void WebGraphicsContext3DCommandBufferImpl::unmapBufferSubDataCHROMIUM(
- const void* mem) {
- return gl_->UnmapBufferSubDataCHROMIUM(mem);
-}
+DELEGATE_TO_GL_1(unmapBufferSubDataCHROMIUM, UnmapBufferSubDataCHROMIUM,
+ const void*)
void* WebGraphicsContext3DCommandBufferImpl::mapTexSubImage2DCHROMIUM(
WGC3Denum target,
@@ -617,10 +695,8 @@ void* WebGraphicsContext3DCommandBufferImpl::mapTexSubImage2DCHROMIUM(
target, level, xoffset, yoffset, width, height, format, type, access);
}
-void WebGraphicsContext3DCommandBufferImpl::unmapTexSubImage2DCHROMIUM(
- const void* mem) {
- gl_->UnmapTexSubImage2DCHROMIUM(mem);
-}
+DELEGATE_TO_GL_1(unmapTexSubImage2DCHROMIUM, UnmapTexSubImage2DCHROMIUM,
+ const void*)
void WebGraphicsContext3DCommandBufferImpl::setVisibilityCHROMIUM(
bool visible) {
@@ -631,10 +707,8 @@ void WebGraphicsContext3DCommandBufferImpl::setVisibilityCHROMIUM(
real_gl_->FreeEverything();
}
-void WebGraphicsContext3DCommandBufferImpl::discardFramebufferEXT(
- WGC3Denum target, WGC3Dsizei numAttachments, const WGC3Denum* attachments) {
- gl_->DiscardFramebufferEXT(target, numAttachments, attachments);
-}
+DELEGATE_TO_GL_3(discardFramebufferEXT, DiscardFramebufferEXT, WGC3Denum,
+ WGC3Dsizei, const WGC3Denum*)
void WebGraphicsContext3DCommandBufferImpl::discardBackbufferCHROMIUM() {
gl_->Flush();
@@ -679,10 +753,8 @@ void WebGraphicsContext3DCommandBufferImpl::copyTextureToParentTextureCHROMIUM(
NOTIMPLEMENTED();
}
-void WebGraphicsContext3DCommandBufferImpl::
- rateLimitOffscreenContextCHROMIUM() {
- gl_->RateLimitOffscreenContextCHROMIUM();
-}
+DELEGATE_TO_GL(rateLimitOffscreenContextCHROMIUM,
+ RateLimitOffscreenContextCHROMIUM)
WebKit::WebString WebGraphicsContext3DCommandBufferImpl::
getRequestableExtensionsCHROMIUM() {
@@ -690,10 +762,8 @@ WebKit::WebString WebGraphicsContext3DCommandBufferImpl::
gl_->GetRequestableExtensionsCHROMIUM());
}
-void WebGraphicsContext3DCommandBufferImpl::requestExtensionCHROMIUM(
- const char* extension) {
- gl_->RequestExtensionCHROMIUM(extension);
-}
+DELEGATE_TO_GL_1(requestExtensionCHROMIUM, RequestExtensionCHROMIUM,
+ const char*)
void WebGraphicsContext3DCommandBufferImpl::blitFramebufferCHROMIUM(
WGC3Dint srcX0, WGC3Dint srcY0, WGC3Dint srcX1, WGC3Dint srcY1,
@@ -705,97 +775,15 @@ void WebGraphicsContext3DCommandBufferImpl::blitFramebufferCHROMIUM(
mask, filter);
}
-void WebGraphicsContext3DCommandBufferImpl::
- renderbufferStorageMultisampleCHROMIUM(
- WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat,
- WGC3Dsizei width, WGC3Dsizei height) {
- gl_->RenderbufferStorageMultisampleEXT(
- target, samples, internalformat, width, height);
-}
-
-WebGLId WebGraphicsContext3DCommandBufferImpl::createStreamTextureCHROMIUM(
- WebGLId texture) {
- return gl_->CreateStreamTextureCHROMIUM(texture);
-}
+DELEGATE_TO_GL_5(renderbufferStorageMultisampleCHROMIUM,
+ RenderbufferStorageMultisampleEXT, WGC3Denum, WGC3Dsizei,
+ WGC3Denum, WGC3Dsizei, WGC3Dsizei)
-void WebGraphicsContext3DCommandBufferImpl::destroyStreamTextureCHROMIUM(
- WebGLId texture) {
- gl_->DestroyStreamTextureCHROMIUM(texture);
-}
+DELEGATE_TO_GL_1R(createStreamTextureCHROMIUM, CreateStreamTextureCHROMIUM,
+ WebGLId, WebGLId)
-// Helper macros to reduce the amount of code.
-
-#define DELEGATE_TO_GL(name, glname) \
-void WebGraphicsContext3DCommandBufferImpl::name() { \
- gl_->glname(); \
-}
-
-#define DELEGATE_TO_GL_1(name, glname, t1) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1) { \
- gl_->glname(a1); \
-}
-
-#define DELEGATE_TO_GL_1R(name, glname, t1, rt) \
-rt WebGraphicsContext3DCommandBufferImpl::name(t1 a1) { \
- return gl_->glname(a1); \
-}
-
-#define DELEGATE_TO_GL_1RB(name, glname, t1, rt) \
-rt WebGraphicsContext3DCommandBufferImpl::name(t1 a1) { \
- return gl_->glname(a1) ? true : false; \
-}
-
-#define DELEGATE_TO_GL_2(name, glname, t1, t2) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2) { \
- gl_->glname(a1, a2); \
-}
-
-#define DELEGATE_TO_GL_2R(name, glname, t1, t2, rt) \
-rt WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2) { \
- return gl_->glname(a1, a2); \
-}
-
-#define DELEGATE_TO_GL_3(name, glname, t1, t2, t3) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3) { \
- gl_->glname(a1, a2, a3); \
-}
-
-#define DELEGATE_TO_GL_4(name, glname, t1, t2, t3, t4) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, t4 a4) { \
- gl_->glname(a1, a2, a3, a4); \
-}
-
-#define DELEGATE_TO_GL_5(name, glname, t1, t2, t3, t4, t5) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
- t4 a4, t5 a5) { \
- gl_->glname(a1, a2, a3, a4, a5); \
-}
-
-#define DELEGATE_TO_GL_6(name, glname, t1, t2, t3, t4, t5, t6) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
- t4 a4, t5 a5, t6 a6) { \
- gl_->glname(a1, a2, a3, a4, a5, a6); \
-}
-
-#define DELEGATE_TO_GL_7(name, glname, t1, t2, t3, t4, t5, t6, t7) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
- t4 a4, t5 a5, t6 a6, t7 a7) { \
- gl_->glname(a1, a2, a3, a4, a5, a6, a7); \
-}
-
-#define DELEGATE_TO_GL_8(name, glname, t1, t2, t3, t4, t5, t6, t7, t8) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
- t4 a4, t5 a5, t6 a6, \
- t7 a7, t8 a8) { \
- gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8); \
-}
-
-#define DELEGATE_TO_GL_9(name, glname, t1, t2, t3, t4, t5, t6, t7, t8, t9) \
-void WebGraphicsContext3DCommandBufferImpl::name(t1 a1, t2 a2, t3 a3, \
- t4 a4, t5 a5, t6 a6, \
- t7 a7, t8 a8, t9 a9) { \
- gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8, a9); \
-}
+DELEGATE_TO_GL_1(destroyStreamTextureCHROMIUM, DestroyStreamTextureCHROMIUM,
+ WebGLId)
DELEGATE_TO_GL_1(activeTexture, ActiveTexture, WGC3Denum)
@@ -1323,9 +1311,7 @@ WebGLId WebGraphicsContext3DCommandBufferImpl::createFramebuffer() {
return o;
}
-WebGLId WebGraphicsContext3DCommandBufferImpl::createProgram() {
- return gl_->CreateProgram();
-}
+DELEGATE_TO_GL_R(createProgram, CreateProgram, WebGLId)
WebGLId WebGraphicsContext3DCommandBufferImpl::createRenderbuffer() {
GLuint o;
@@ -1333,7 +1319,7 @@ WebGLId WebGraphicsContext3DCommandBufferImpl::createRenderbuffer() {
return o;
}
-DELEGATE_TO_GL_1R(createShader, CreateShader, WGC3Denum, WebGLId);
+DELEGATE_TO_GL_1R(createShader, CreateShader, WGC3Denum, WebGLId)
WebGLId WebGraphicsContext3DCommandBufferImpl::createTexture() {
GLuint o;
@@ -1350,18 +1336,14 @@ void WebGraphicsContext3DCommandBufferImpl::deleteFramebuffer(
gl_->DeleteFramebuffers(1, &framebuffer);
}
-void WebGraphicsContext3DCommandBufferImpl::deleteProgram(WebGLId program) {
- gl_->DeleteProgram(program);
-}
+DELEGATE_TO_GL_1(deleteProgram, DeleteProgram, WebGLId)
void WebGraphicsContext3DCommandBufferImpl::deleteRenderbuffer(
WebGLId renderbuffer) {
gl_->DeleteRenderbuffers(1, &renderbuffer);
}
-void WebGraphicsContext3DCommandBufferImpl::deleteShader(WebGLId shader) {
- gl_->DeleteShader(shader);
-}
+DELEGATE_TO_GL_1(deleteShader, DeleteShader, WebGLId)
void WebGraphicsContext3DCommandBufferImpl::deleteTexture(WebGLId texture) {
gl_->DeleteTextures(1, &texture);
@@ -1585,56 +1567,22 @@ DELEGATE_TO_GL_2(bindTexImage2DCHROMIUM, BindTexImage2DCHROMIUM,
DELEGATE_TO_GL_2(releaseTexImage2DCHROMIUM, ReleaseTexImage2DCHROMIUM,
WGC3Denum, WGC3Dint)
-void* WebGraphicsContext3DCommandBufferImpl::mapBufferCHROMIUM(
- WGC3Denum target, WGC3Denum access) {
- return gl_->MapBufferCHROMIUM(target, access);
-}
+DELEGATE_TO_GL_2R(mapBufferCHROMIUM, MapBufferCHROMIUM, WGC3Denum, WGC3Denum,
+ void*)
+DELEGATE_TO_GL_1R(unmapBufferCHROMIUM, UnmapBufferCHROMIUM, WGC3Denum,
+ WGC3Dboolean)
-WGC3Dboolean WebGraphicsContext3DCommandBufferImpl::unmapBufferCHROMIUM(
- WGC3Denum target) {
- return gl_->UnmapBufferCHROMIUM(target);
-}
-
-void WebGraphicsContext3DCommandBufferImpl::asyncTexImage2DCHROMIUM(
- WGC3Denum target,
- WGC3Dint level,
- WGC3Denum internalformat,
- WGC3Dsizei width,
- WGC3Dsizei height,
- WGC3Dint border,
- WGC3Denum format,
- WGC3Denum type,
- const void* pixels) {
- return gl_->AsyncTexImage2DCHROMIUM(
- target, level, internalformat,
- width, height, border, format, type, pixels);
-}
-
-void WebGraphicsContext3DCommandBufferImpl::asyncTexSubImage2DCHROMIUM(
- WGC3Denum target,
- WGC3Dint level,
- WGC3Dint xoffset,
- WGC3Dint yoffset,
- WGC3Dsizei width,
- WGC3Dsizei height,
- WGC3Denum format,
- WGC3Denum type,
- const void *pixels) {
- return gl_->AsyncTexSubImage2DCHROMIUM(
- target, level, xoffset, yoffset,
- width, height, format, type, pixels);
-}
+DELEGATE_TO_GL_9(asyncTexImage2DCHROMIUM, AsyncTexImage2DCHROMIUM, WGC3Denum,
+ WGC3Dint, WGC3Denum, WGC3Dsizei, WGC3Dsizei, WGC3Dint,
+ WGC3Denum, WGC3Denum, const void*)
+DELEGATE_TO_GL_9(asyncTexSubImage2DCHROMIUM, AsyncTexSubImage2DCHROMIUM,
+ WGC3Denum, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei,
+ WGC3Dsizei, WGC3Denum, WGC3Denum, const void*)
-void WebGraphicsContext3DCommandBufferImpl::waitAsyncTexImage2DCHROMIUM(
- WGC3Denum target) {
- return gl_->WaitAsyncTexImage2DCHROMIUM(target);
-}
+DELEGATE_TO_GL_1(waitAsyncTexImage2DCHROMIUM, WaitAsyncTexImage2DCHROMIUM,
+ WGC3Denum)
-void WebGraphicsContext3DCommandBufferImpl::drawBuffersEXT(
- WGC3Dsizei n,
- const WGC3Denum* bufs) {
- gl_->DrawBuffersEXT(n, bufs);
-}
+DELEGATE_TO_GL_2(drawBuffersEXT, DrawBuffersEXT, WGC3Dsizei, const WGC3Denum*)
GrGLInterface* WebGraphicsContext3DCommandBufferImpl::onCreateGrGLInterface() {
return webkit::gpu::CreateCommandBufferSkiaGLBinding();
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698