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

Side by Side Diff: webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc

Issue 25455002: Remove WGC3D::width(), height(), reshape() implementations (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl. h" 5 #include "webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl. h"
6 6
7 #include <GLES2/gl2.h> 7 #include <GLES2/gl2.h>
8 #ifndef GL_GLEXT_PROTOTYPES 8 #ifndef GL_GLEXT_PROTOTYPES
9 #define GL_GLEXT_PROTOTYPES 1 9 #define GL_GLEXT_PROTOTYPES 1
10 #endif 10 #endif
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 gfx::AcceleratedWidget window) 120 gfx::AcceleratedWidget window)
121 : is_offscreen_(is_offscreen), 121 : is_offscreen_(is_offscreen),
122 window_(window), 122 window_(window),
123 initialized_(false), 123 initialized_(false),
124 initialize_failed_(false), 124 initialize_failed_(false),
125 context_(context.Pass()), 125 context_(context.Pass()),
126 gl_(NULL), 126 gl_(NULL),
127 context_lost_callback_(NULL), 127 context_lost_callback_(NULL),
128 context_lost_reason_(GL_NO_ERROR), 128 context_lost_reason_(GL_NO_ERROR),
129 attributes_(attributes), 129 attributes_(attributes),
130 cached_width_(0),
131 cached_height_(0),
132 flush_id_(0) { 130 flush_id_(0) {
133 } 131 }
134 132
135 WebGraphicsContext3DInProcessCommandBufferImpl:: 133 WebGraphicsContext3DInProcessCommandBufferImpl::
136 ~WebGraphicsContext3DInProcessCommandBufferImpl() { 134 ~WebGraphicsContext3DInProcessCommandBufferImpl() {
137 } 135 }
138 136
139 // static 137 // static
140 void WebGraphicsContext3DInProcessCommandBufferImpl::ConvertAttributes( 138 void WebGraphicsContext3DInProcessCommandBufferImpl::ConvertAttributes(
141 const WebKit::WebGraphicsContext3D::Attributes& attributes, 139 const WebKit::WebGraphicsContext3D::Attributes& attributes,
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 // direct OpenGL bindings needs to call the appropriate form of 228 // direct OpenGL bindings needs to call the appropriate form of
231 // eglMakeCurrent. If it doesn't it will be issuing commands on the wrong 229 // eglMakeCurrent. If it doesn't it will be issuing commands on the wrong
232 // context. Uncommenting the line below clears the current context so that 230 // context. Uncommenting the line below clears the current context so that
233 // any code not calling eglMakeCurrent in the appropriate place should crash. 231 // any code not calling eglMakeCurrent in the appropriate place should crash.
234 // This is not a perfect test but generally code that used the direct OpenGL 232 // This is not a perfect test but generally code that used the direct OpenGL
235 // bindings should not be mixed with code that uses WebGraphicsContext3D. 233 // bindings should not be mixed with code that uses WebGraphicsContext3D.
236 // 234 //
237 // GLInProcessContext::MakeCurrent(NULL); 235 // GLInProcessContext::MakeCurrent(NULL);
238 } 236 }
239 237
240 int WebGraphicsContext3DInProcessCommandBufferImpl::width() { 238 // Helper macros to reduce the amount of code.
241 return cached_width_; 239
240 #define DELEGATE_TO_GL(name, glname) \
241 void WebGraphicsContext3DInProcessCommandBufferImpl::name() { \
242 ClearContext(); \
243 gl_->glname(); \
242 } 244 }
243 245
244 int WebGraphicsContext3DInProcessCommandBufferImpl::height() { 246 #define DELEGATE_TO_GL_1(name, glname, t1) \
245 return cached_height_; 247 void WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1) { \
248 ClearContext(); \
249 gl_->glname(a1); \
250 }
251
252 #define DELEGATE_TO_GL_1R(name, glname, t1, rt) \
253 rt WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1) { \
254 ClearContext(); \
255 return gl_->glname(a1); \
256 }
257
258 #define DELEGATE_TO_GL_1RB(name, glname, t1, rt) \
259 rt WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1) { \
260 ClearContext(); \
261 return gl_->glname(a1) ? true : false; \
262 }
263
264 #define DELEGATE_TO_GL_2(name, glname, t1, t2) \
265 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
266 t1 a1, t2 a2) { \
267 ClearContext(); \
268 gl_->glname(a1, a2); \
269 }
270
271 #define DELEGATE_TO_GL_2R(name, glname, t1, t2, rt) \
272 rt WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1, t2 a2) { \
273 ClearContext(); \
274 return gl_->glname(a1, a2); \
275 }
276
277 #define DELEGATE_TO_GL_3(name, glname, t1, t2, t3) \
278 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
279 t1 a1, t2 a2, t3 a3) { \
280 ClearContext(); \
281 gl_->glname(a1, a2, a3); \
282 }
283
284 #define DELEGATE_TO_GL_3R(name, glname, t1, t2, t3, rt) \
285 rt WebGraphicsContext3DInProcessCommandBufferImpl::name( \
286 t1 a1, t2 a2, t3 a3) { \
287 ClearContext(); \
288 return gl_->glname(a1, a2, a3); \
289 }
290
291 #define DELEGATE_TO_GL_4(name, glname, t1, t2, t3, t4) \
292 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
293 t1 a1, t2 a2, t3 a3, t4 a4) { \
294 ClearContext(); \
295 gl_->glname(a1, a2, a3, a4); \
296 }
297
298 #define DELEGATE_TO_GL_5(name, glname, t1, t2, t3, t4, t5) \
299 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
300 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5) { \
301 ClearContext(); \
302 gl_->glname(a1, a2, a3, a4, a5); \
303 }
304
305 #define DELEGATE_TO_GL_6(name, glname, t1, t2, t3, t4, t5, t6) \
306 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
307 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6) { \
308 ClearContext(); \
309 gl_->glname(a1, a2, a3, a4, a5, a6); \
310 }
311
312 #define DELEGATE_TO_GL_7(name, glname, t1, t2, t3, t4, t5, t6, t7) \
313 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
314 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7) { \
315 ClearContext(); \
316 gl_->glname(a1, a2, a3, a4, a5, a6, a7); \
317 }
318
319 #define DELEGATE_TO_GL_8(name, glname, t1, t2, t3, t4, t5, t6, t7, t8) \
320 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
321 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8 a8) { \
322 ClearContext(); \
323 gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8); \
324 }
325
326 #define DELEGATE_TO_GL_9(name, glname, t1, t2, t3, t4, t5, t6, t7, t8, t9) \
327 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
328 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8 a8, t9 a9) { \
329 ClearContext(); \
330 gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8, a9); \
246 } 331 }
247 332
248 void WebGraphicsContext3DInProcessCommandBufferImpl::prepareTexture() { 333 void WebGraphicsContext3DInProcessCommandBufferImpl::prepareTexture() {
249 if (!isContextLost()) { 334 if (!isContextLost()) {
250 gl_->SwapBuffers(); 335 gl_->SwapBuffers();
251 gl_->ShallowFlushCHROMIUM(); 336 gl_->ShallowFlushCHROMIUM();
252 } 337 }
253 } 338 }
254 339
255 void WebGraphicsContext3DInProcessCommandBufferImpl::postSubBufferCHROMIUM( 340 void WebGraphicsContext3DInProcessCommandBufferImpl::postSubBufferCHROMIUM(
256 int x, int y, int width, int height) { 341 int x, int y, int width, int height) {
257 gl_->PostSubBufferCHROMIUM(x, y, width, height); 342 gl_->PostSubBufferCHROMIUM(x, y, width, height);
258 } 343 }
259 344
260 void WebGraphicsContext3DInProcessCommandBufferImpl::reshape( 345 DELEGATE_TO_GL_3(reshapeWithScaleFactor, ResizeCHROMIUM, int, int, float)
261 int width, int height) {
262 reshapeWithScaleFactor(width, height, 1.0f);
263 }
264
265 void WebGraphicsContext3DInProcessCommandBufferImpl::reshapeWithScaleFactor(
266 int width, int height, float scale_factor) {
267 cached_width_ = width;
268 cached_height_ = height;
269
270 // TODO(gmam): See if we can comment this in.
271 // ClearContext();
272
273 gl_->ResizeCHROMIUM(width, height, scale_factor);
274 }
275 346
276 void WebGraphicsContext3DInProcessCommandBufferImpl::synthesizeGLError( 347 void WebGraphicsContext3DInProcessCommandBufferImpl::synthesizeGLError(
277 WGC3Denum error) { 348 WGC3Denum error) {
278 if (std::find(synthetic_errors_.begin(), synthetic_errors_.end(), error) == 349 if (std::find(synthetic_errors_.begin(), synthetic_errors_.end(), error) ==
279 synthetic_errors_.end()) { 350 synthetic_errors_.end()) {
280 synthetic_errors_.push_back(error); 351 synthetic_errors_.push_back(error);
281 } 352 }
282 } 353 }
283 354
284 void* WebGraphicsContext3DInProcessCommandBufferImpl::mapBufferSubDataCHROMIUM( 355 void* WebGraphicsContext3DInProcessCommandBufferImpl::mapBufferSubDataCHROMIUM(
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 450
380 void WebGraphicsContext3DInProcessCommandBufferImpl:: 451 void WebGraphicsContext3DInProcessCommandBufferImpl::
381 renderbufferStorageMultisampleCHROMIUM( 452 renderbufferStorageMultisampleCHROMIUM(
382 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat, 453 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat,
383 WGC3Dsizei width, WGC3Dsizei height) { 454 WGC3Dsizei width, WGC3Dsizei height) {
384 ClearContext(); 455 ClearContext();
385 gl_->RenderbufferStorageMultisampleEXT( 456 gl_->RenderbufferStorageMultisampleEXT(
386 target, samples, internalformat, width, height); 457 target, samples, internalformat, width, height);
387 } 458 }
388 459
389 // Helper macros to reduce the amount of code.
390
391 #define DELEGATE_TO_GL(name, glname) \
392 void WebGraphicsContext3DInProcessCommandBufferImpl::name() { \
393 ClearContext(); \
394 gl_->glname(); \
395 }
396
397 #define DELEGATE_TO_GL_1(name, glname, t1) \
398 void WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1) { \
399 ClearContext(); \
400 gl_->glname(a1); \
401 }
402
403 #define DELEGATE_TO_GL_1R(name, glname, t1, rt) \
404 rt WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1) { \
405 ClearContext(); \
406 return gl_->glname(a1); \
407 }
408
409 #define DELEGATE_TO_GL_1RB(name, glname, t1, rt) \
410 rt WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1) { \
411 ClearContext(); \
412 return gl_->glname(a1) ? true : false; \
413 }
414
415 #define DELEGATE_TO_GL_2(name, glname, t1, t2) \
416 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
417 t1 a1, t2 a2) { \
418 ClearContext(); \
419 gl_->glname(a1, a2); \
420 }
421
422 #define DELEGATE_TO_GL_2R(name, glname, t1, t2, rt) \
423 rt WebGraphicsContext3DInProcessCommandBufferImpl::name(t1 a1, t2 a2) { \
424 ClearContext(); \
425 return gl_->glname(a1, a2); \
426 }
427
428 #define DELEGATE_TO_GL_3(name, glname, t1, t2, t3) \
429 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
430 t1 a1, t2 a2, t3 a3) { \
431 ClearContext(); \
432 gl_->glname(a1, a2, a3); \
433 }
434
435 #define DELEGATE_TO_GL_3R(name, glname, t1, t2, t3, rt) \
436 rt WebGraphicsContext3DInProcessCommandBufferImpl::name( \
437 t1 a1, t2 a2, t3 a3) { \
438 ClearContext(); \
439 return gl_->glname(a1, a2, a3); \
440 }
441
442 #define DELEGATE_TO_GL_4(name, glname, t1, t2, t3, t4) \
443 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
444 t1 a1, t2 a2, t3 a3, t4 a4) { \
445 ClearContext(); \
446 gl_->glname(a1, a2, a3, a4); \
447 }
448
449 #define DELEGATE_TO_GL_5(name, glname, t1, t2, t3, t4, t5) \
450 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
451 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5) { \
452 ClearContext(); \
453 gl_->glname(a1, a2, a3, a4, a5); \
454 }
455
456 #define DELEGATE_TO_GL_6(name, glname, t1, t2, t3, t4, t5, t6) \
457 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
458 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6) { \
459 ClearContext(); \
460 gl_->glname(a1, a2, a3, a4, a5, a6); \
461 }
462
463 #define DELEGATE_TO_GL_7(name, glname, t1, t2, t3, t4, t5, t6, t7) \
464 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
465 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7) { \
466 ClearContext(); \
467 gl_->glname(a1, a2, a3, a4, a5, a6, a7); \
468 }
469
470 #define DELEGATE_TO_GL_8(name, glname, t1, t2, t3, t4, t5, t6, t7, t8) \
471 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
472 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8 a8) { \
473 ClearContext(); \
474 gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8); \
475 }
476
477 #define DELEGATE_TO_GL_9(name, glname, t1, t2, t3, t4, t5, t6, t7, t8, t9) \
478 void WebGraphicsContext3DInProcessCommandBufferImpl::name( \
479 t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8 a8, t9 a9) { \
480 ClearContext(); \
481 gl_->glname(a1, a2, a3, a4, a5, a6, a7, a8, a9); \
482 }
483
484 DELEGATE_TO_GL_1(activeTexture, ActiveTexture, WGC3Denum) 460 DELEGATE_TO_GL_1(activeTexture, ActiveTexture, WGC3Denum)
485 461
486 DELEGATE_TO_GL_2(attachShader, AttachShader, WebGLId, WebGLId) 462 DELEGATE_TO_GL_2(attachShader, AttachShader, WebGLId, WebGLId)
487 463
488 DELEGATE_TO_GL_3(bindAttribLocation, BindAttribLocation, WebGLId, 464 DELEGATE_TO_GL_3(bindAttribLocation, BindAttribLocation, WebGLId,
489 WGC3Duint, const WGC3Dchar*) 465 WGC3Duint, const WGC3Dchar*)
490 466
491 DELEGATE_TO_GL_2(bindBuffer, BindBuffer, WGC3Denum, WebGLId) 467 DELEGATE_TO_GL_2(bindBuffer, BindBuffer, WGC3Denum, WebGLId)
492 468
493 void WebGraphicsContext3DInProcessCommandBufferImpl::bindFramebuffer( 469 void WebGraphicsContext3DInProcessCommandBufferImpl::bindFramebuffer(
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
1232 1208
1233 DELEGATE_TO_GL_9(asyncTexSubImage2DCHROMIUM, AsyncTexSubImage2DCHROMIUM, 1209 DELEGATE_TO_GL_9(asyncTexSubImage2DCHROMIUM, AsyncTexSubImage2DCHROMIUM,
1234 WGC3Denum, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei, WGC3Dsizei, 1210 WGC3Denum, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei, WGC3Dsizei,
1235 WGC3Denum, WGC3Denum, const void*) 1211 WGC3Denum, WGC3Denum, const void*)
1236 1212
1237 DELEGATE_TO_GL_1(waitAsyncTexImage2DCHROMIUM, WaitAsyncTexImage2DCHROMIUM, 1213 DELEGATE_TO_GL_1(waitAsyncTexImage2DCHROMIUM, WaitAsyncTexImage2DCHROMIUM,
1238 WGC3Denum) 1214 WGC3Denum)
1239 1215
1240 } // namespace gpu 1216 } // namespace gpu
1241 } // namespace webkit 1217 } // namespace webkit
OLDNEW
« no previous file with comments | « webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698