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

Side by Side Diff: webkit/common/gpu/webgraphicscontext3d_impl.h

Issue 305643004: Reducing code duplication between WGC3D(InProcess)CommandBufferImpl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added WEBKIT_GPU_EXPORT Created 6 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 unified diff | Download patch | Annotate | Revision Log
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 #ifndef WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL_H_ 5 #ifndef WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IMPL_H_
6 #define WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL_H_ 6 #define WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IMPL_H_
7 7
8 #include <string>
8 #include <vector> 9 #include <vector>
9 10
10 #include "base/compiler_specific.h" 11 #include "base/callback.h"
11 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
12 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" 13 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
13 #include "third_party/WebKit/public/platform/WebString.h" 14 #include "third_party/WebKit/public/platform/WebString.h"
14 #include "ui/gfx/native_widget_types.h"
15 #include "webkit/common/gpu/webkit_gpu_export.h" 15 #include "webkit/common/gpu/webkit_gpu_export.h"
16 16
17 namespace gpu { 17 namespace gpu {
18 class ContextSupport;
19 18
20 namespace gles2 { 19 namespace gles2 {
21 class GLES2Interface; 20 class GLES2Interface;
22 class GLES2Implementation; 21 class GLES2ImplementationErrorMessageCallback;
23 } 22 }
24 } 23 }
25 24
26 using blink::WebGLId; 25 using blink::WebGLId;
27 26
28 using blink::WGC3Dbyte; 27 using blink::WGC3Dbyte;
29 using blink::WGC3Dchar; 28 using blink::WGC3Dchar;
30 using blink::WGC3Denum; 29 using blink::WGC3Denum;
31 using blink::WGC3Dboolean; 30 using blink::WGC3Dboolean;
32 using blink::WGC3Dbitfield; 31 using blink::WGC3Dbitfield;
33 using blink::WGC3Dint; 32 using blink::WGC3Dint;
34 using blink::WGC3Dsizei; 33 using blink::WGC3Dsizei;
35 using blink::WGC3Duint; 34 using blink::WGC3Duint;
36 using blink::WGC3Dfloat; 35 using blink::WGC3Dfloat;
37 using blink::WGC3Dclampf; 36 using blink::WGC3Dclampf;
38 using blink::WGC3Dintptr; 37 using blink::WGC3Dintptr;
39 using blink::WGC3Dsizeiptr; 38 using blink::WGC3Dsizeiptr;
40 39
41 namespace gpu { 40 namespace content {
jamesr 2014/06/03 21:22:56 what on earth? why are we defining symbols in name
bajones 2014/06/03 21:25:13 Ack! That's a mistake. (File was originally a copy
42 class GLInProcessContext;
43 struct GLInProcessContextAttribs;
44 }
45 41
46 namespace webkit { 42 class WebGraphicsContext3DErrorMessageCallback;
47 namespace gpu {
48 43
49 class WEBKIT_GPU_EXPORT WebGraphicsContext3DInProcessCommandBufferImpl 44 class WEBKIT_GPU_EXPORT WebGraphicsContext3DImpl
50 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) { 45 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) {
51 public: 46 public:
52 static scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl>
53 CreateViewContext(
54 const blink::WebGraphicsContext3D::Attributes& attributes,
55 bool lose_context_when_out_of_memory,
56 gfx::AcceleratedWidget window);
57
58 static scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl>
59 CreateOffscreenContext(
60 const blink::WebGraphicsContext3D::Attributes& attributes,
61 bool lose_context_when_out_of_memory);
62
63 static scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl>
64 WrapContext(
65 scoped_ptr< ::gpu::GLInProcessContext> context,
66 const blink::WebGraphicsContext3D::Attributes& attributes);
67
68 virtual ~WebGraphicsContext3DInProcessCommandBufferImpl();
69
70 // Convert WebGL context creation attributes into GLInProcessContext / EGL
71 // size requests.
72 static void ConvertAttributes(
73 const blink::WebGraphicsContext3D::Attributes& attributes,
74 ::gpu::GLInProcessContextAttribs* output_attribs);
75
76 //---------------------------------------------------------------------- 47 //----------------------------------------------------------------------
77 // WebGraphicsContext3D methods 48 // WebGraphicsContext3D methods
78 virtual bool makeContextCurrent();
79 49
80 virtual uint32_t lastFlushID(); 50 virtual uint32_t lastFlushID();
81 51
82 virtual void reshapeWithScaleFactor(int width, int height, float scaleFactor); 52 virtual unsigned int insertSyncPoint();
53 virtual void waitSyncPoint(unsigned int sync_point);
54
55 virtual void loseContextCHROMIUM(WGC3Denum current, WGC3Denum other);
56
57 virtual void reshapeWithScaleFactor(
58 int width, int height, float scale_factor);
83 59
84 virtual void prepareTexture(); 60 virtual void prepareTexture();
85 virtual void postSubBufferCHROMIUM(int x, int y, int width, int height); 61 virtual void postSubBufferCHROMIUM(int x, int y, int width, int height);
86 62
87 virtual void activeTexture(WGC3Denum texture); 63 virtual void activeTexture(WGC3Denum texture);
88 virtual void attachShader(WebGLId program, WebGLId shader); 64 virtual void attachShader(WebGLId program, WebGLId shader);
89 virtual void bindAttribLocation(WebGLId program, WGC3Duint index, 65 virtual void bindAttribLocation(WebGLId program, WGC3Duint index,
90 const WGC3Dchar* name); 66 const WGC3Dchar* name);
91 virtual void bindBuffer(WGC3Denum target, WebGLId buffer); 67 virtual void bindBuffer(WGC3Denum target, WebGLId buffer);
92 virtual void bindFramebuffer(WGC3Denum target, WebGLId framebuffer); 68 virtual void bindFramebuffer(WGC3Denum target, WebGLId framebuffer);
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 virtual void getBooleanv(WGC3Denum pname, WGC3Dboolean* value); 173 virtual void getBooleanv(WGC3Denum pname, WGC3Dboolean* value);
198 174
199 virtual void getBufferParameteriv(WGC3Denum target, 175 virtual void getBufferParameteriv(WGC3Denum target,
200 WGC3Denum pname, 176 WGC3Denum pname,
201 WGC3Dint* value); 177 WGC3Dint* value);
202 178
203 virtual Attributes getContextAttributes(); 179 virtual Attributes getContextAttributes();
204 180
205 virtual WGC3Denum getError(); 181 virtual WGC3Denum getError();
206 182
207 virtual bool isContextLost();
208
209 virtual void getFloatv(WGC3Denum pname, WGC3Dfloat* value); 183 virtual void getFloatv(WGC3Denum pname, WGC3Dfloat* value);
210 184
211 virtual void getFramebufferAttachmentParameteriv(WGC3Denum target, 185 virtual void getFramebufferAttachmentParameteriv(WGC3Denum target,
212 WGC3Denum attachment, 186 WGC3Denum attachment,
213 WGC3Denum pname, 187 WGC3Denum pname,
214 WGC3Dint* value); 188 WGC3Dint* value);
215 189
216 virtual void getIntegerv(WGC3Denum pname, WGC3Dint* value); 190 virtual void getIntegerv(WGC3Denum pname, WGC3Dint* value);
217 191
218 virtual void getProgramiv(WebGLId program, WGC3Denum pname, WGC3Dint* value); 192 virtual void getProgramiv(WebGLId program, WGC3Denum pname, WGC3Dint* value);
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 WGC3Denum format, 413 WGC3Denum format,
440 WGC3Denum type, 414 WGC3Denum type,
441 WGC3Denum access); 415 WGC3Denum access);
442 virtual void unmapTexSubImage2DCHROMIUM(const void*); 416 virtual void unmapTexSubImage2DCHROMIUM(const void*);
443 417
444 virtual void setVisibilityCHROMIUM(bool visible); 418 virtual void setVisibilityCHROMIUM(bool visible);
445 419
446 virtual void discardFramebufferEXT(WGC3Denum target, 420 virtual void discardFramebufferEXT(WGC3Denum target,
447 WGC3Dsizei numAttachments, 421 WGC3Dsizei numAttachments,
448 const WGC3Denum* attachments); 422 const WGC3Denum* attachments);
449
450 virtual void copyTextureToParentTextureCHROMIUM( 423 virtual void copyTextureToParentTextureCHROMIUM(
451 WebGLId texture, WebGLId parentTexture); 424 WebGLId texture, WebGLId parentTexture);
452 425
453 virtual blink::WebString getRequestableExtensionsCHROMIUM(); 426 virtual blink::WebString getRequestableExtensionsCHROMIUM();
454 virtual void requestExtensionCHROMIUM(const char*); 427 virtual void requestExtensionCHROMIUM(const char*);
455 428
456 virtual void blitFramebufferCHROMIUM( 429 virtual void blitFramebufferCHROMIUM(
457 WGC3Dint srcX0, WGC3Dint srcY0, WGC3Dint srcX1, WGC3Dint srcY1, 430 WGC3Dint srcX0, WGC3Dint srcY0, WGC3Dint srcX1, WGC3Dint srcY1,
458 WGC3Dint dstX0, WGC3Dint dstY0, WGC3Dint dstX1, WGC3Dint dstY1, 431 WGC3Dint dstX0, WGC3Dint dstY0, WGC3Dint dstX1, WGC3Dint dstY1,
459 WGC3Dbitfield mask, WGC3Denum filter); 432 WGC3Dbitfield mask, WGC3Denum filter);
460 virtual void renderbufferStorageMultisampleCHROMIUM( 433 virtual void renderbufferStorageMultisampleCHROMIUM(
461 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat, 434 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat,
462 WGC3Dsizei width, WGC3Dsizei height); 435 WGC3Dsizei width, WGC3Dsizei height);
463 436
464 virtual blink::WebString getTranslatedShaderSourceANGLE(WebGLId shader); 437 virtual blink::WebString getTranslatedShaderSourceANGLE(WebGLId shader);
465 438
466 virtual void setContextLostCallback( 439 virtual void setContextLostCallback(
467 WebGraphicsContext3D::WebGraphicsContextLostCallback* callback); 440 WebGraphicsContext3D::WebGraphicsContextLostCallback* callback);
468 virtual WGC3Denum getGraphicsResetStatusARB(); 441
442 virtual void setErrorMessageCallback(
443 WebGraphicsContext3D::WebGraphicsErrorMessageCallback* callback);
469 444
470 virtual void texImageIOSurface2DCHROMIUM( 445 virtual void texImageIOSurface2DCHROMIUM(
471 WGC3Denum target, WGC3Dint width, WGC3Dint height, 446 WGC3Denum target, WGC3Dint width, WGC3Dint height,
472 WGC3Duint ioSurfaceId, WGC3Duint plane); 447 WGC3Duint ioSurfaceId, WGC3Duint plane);
473 448
474 virtual void bindTexImage2DCHROMIUM(WGC3Denum target, WGC3Dint imageId);
475 virtual void releaseTexImage2DCHROMIUM(WGC3Denum target, WGC3Dint imageId);
476
477 virtual void texStorage2DEXT( 449 virtual void texStorage2DEXT(
478 WGC3Denum target, WGC3Dint levels, WGC3Duint internalformat, 450 WGC3Denum target, WGC3Dint levels, WGC3Duint internalformat,
479 WGC3Dint width, WGC3Dint height); 451 WGC3Dint width, WGC3Dint height);
480 virtual WGC3Duint createImageCHROMIUM(WGC3Dsizei width, 452
481 WGC3Dsizei height,
482 WGC3Denum internalformat,
483 WGC3Denum usage);
484 virtual void destroyImageCHROMIUM(WGC3Duint image_id);
485 virtual void getImageParameterivCHROMIUM(
486 WGC3Duint image_id, WGC3Denum pname, WGC3Dint* params);
487 virtual void* mapImageCHROMIUM(WGC3Duint image_id);
488 virtual void unmapImageCHROMIUM(WGC3Duint image_id);
489 virtual WebGLId createQueryEXT(); 453 virtual WebGLId createQueryEXT();
490 virtual void deleteQueryEXT(WebGLId query); 454 virtual void deleteQueryEXT(WebGLId query);
491 virtual WGC3Dboolean isQueryEXT(WebGLId query); 455 virtual WGC3Dboolean isQueryEXT(WGC3Duint query);
492 virtual void beginQueryEXT(WGC3Denum target, WebGLId query); 456 virtual void beginQueryEXT(WGC3Denum target, WebGLId query);
493 virtual void endQueryEXT(WGC3Denum target); 457 virtual void endQueryEXT(WGC3Denum target);
494 virtual void getQueryivEXT( 458 virtual void getQueryivEXT(
495 WGC3Denum target, WGC3Denum pname, WGC3Dint* params); 459 WGC3Denum target, WGC3Denum pname, WGC3Dint* params);
496 virtual void getQueryObjectuivEXT( 460 virtual void getQueryObjectuivEXT(
497 WebGLId query, WGC3Denum pname, WGC3Duint* params); 461 WebGLId query, WGC3Denum pname, WGC3Duint* params);
498 462
499 virtual void copyTextureCHROMIUM(WGC3Denum target, WGC3Duint source_id, 463 virtual void copyTextureCHROMIUM(WGC3Denum target, WebGLId source_id,
500 WGC3Duint dest_id, WGC3Dint level, 464 WebGLId dest_id, WGC3Dint level,
501 WGC3Denum internal_format, 465 WGC3Denum internal_format,
502 WGC3Denum dest_type); 466 WGC3Denum dest_type);
503 467
504 virtual void bindUniformLocationCHROMIUM(WebGLId program, WGC3Dint location, 468 virtual void bindUniformLocationCHROMIUM(WebGLId program, WGC3Dint location,
505 const WGC3Dchar* uniform); 469 const WGC3Dchar* uniform);
506 470
507 virtual void shallowFlushCHROMIUM(); 471 virtual void shallowFlushCHROMIUM();
508 virtual void shallowFinishCHROMIUM(); 472 virtual void shallowFinishCHROMIUM();
509 473
510 virtual void genMailboxCHROMIUM(WGC3Dbyte* mailbox); 474 virtual void genMailboxCHROMIUM(WGC3Dbyte* mailbox);
511 virtual void produceTextureCHROMIUM(WGC3Denum target, 475 virtual void produceTextureCHROMIUM(WGC3Denum target,
512 const WGC3Dbyte* mailbox); 476 const WGC3Dbyte* mailbox);
513 virtual void consumeTextureCHROMIUM(WGC3Denum target, 477 virtual void consumeTextureCHROMIUM(WGC3Denum target,
514 const WGC3Dbyte* mailbox); 478 const WGC3Dbyte* mailbox);
515 479
516 virtual void insertEventMarkerEXT(const WGC3Dchar* marker); 480 virtual void insertEventMarkerEXT(const WGC3Dchar* marker);
517 virtual void pushGroupMarkerEXT(const WGC3Dchar* marker); 481 virtual void pushGroupMarkerEXT(const WGC3Dchar* marker);
518 virtual void popGroupMarkerEXT(); 482 virtual void popGroupMarkerEXT();
519 483
484 // GL_OES_vertex_array_object
485 virtual WebGLId createVertexArrayOES();
486 virtual void deleteVertexArrayOES(WebGLId array);
487 virtual WGC3Dboolean isVertexArrayOES(WebGLId array);
488 virtual void bindVertexArrayOES(WebGLId array);
489
490 virtual void bindTexImage2DCHROMIUM(WGC3Denum target, WGC3Dint image_id);
491 virtual void releaseTexImage2DCHROMIUM(WGC3Denum target, WGC3Dint image_id);
492
520 virtual void* mapBufferCHROMIUM(WGC3Denum target, WGC3Denum access); 493 virtual void* mapBufferCHROMIUM(WGC3Denum target, WGC3Denum access);
521 virtual WGC3Dboolean unmapBufferCHROMIUM(WGC3Denum target); 494 virtual WGC3Dboolean unmapBufferCHROMIUM(WGC3Denum target);
522 495
523 virtual void framebufferTexture2DMultisampleEXT(WGC3Denum target,
524 WGC3Denum attachment,
525 WGC3Denum textarget,
526 WebGLId texture,
527 WGC3Dint level,
528 WGC3Dsizei samples);
529 virtual void renderbufferStorageMultisampleEXT(WGC3Denum target,
530 WGC3Dsizei samples,
531 WGC3Denum internalformat,
532 WGC3Dsizei width,
533 WGC3Dsizei height);
534
535
536 // Async pixel transfer functions. 496 // Async pixel transfer functions.
537 virtual void asyncTexImage2DCHROMIUM( 497 virtual void asyncTexImage2DCHROMIUM(
538 WGC3Denum target, 498 WGC3Denum target,
539 WGC3Dint level, 499 WGC3Dint level,
540 WGC3Denum internalformat, 500 WGC3Denum internalformat,
541 WGC3Dsizei width, 501 WGC3Dsizei width,
542 WGC3Dsizei height, 502 WGC3Dsizei height,
543 WGC3Dint border, 503 WGC3Dint border,
544 WGC3Denum format, 504 WGC3Denum format,
545 WGC3Denum type, 505 WGC3Denum type,
546 const void* pixels); 506 const void* pixels);
547 virtual void asyncTexSubImage2DCHROMIUM( 507 virtual void asyncTexSubImage2DCHROMIUM(
548 WGC3Denum target, 508 WGC3Denum target,
549 WGC3Dint level, 509 WGC3Dint level,
550 WGC3Dint xoffset, 510 WGC3Dint xoffset,
551 WGC3Dint yoffset, 511 WGC3Dint yoffset,
552 WGC3Dsizei width, 512 WGC3Dsizei width,
553 WGC3Dsizei height, 513 WGC3Dsizei height,
554 WGC3Denum format, 514 WGC3Denum format,
555 WGC3Denum type, 515 WGC3Denum type,
556 const void* pixels); 516 const void* pixels);
557 virtual void waitAsyncTexImage2DCHROMIUM(WGC3Denum target); 517 virtual void waitAsyncTexImage2DCHROMIUM(WGC3Denum target);
558 518
559 virtual void drawBuffersEXT(WGC3Dsizei n, const WGC3Denum* bufs); 519 // GL_EXT_draw_buffers
520 virtual void drawBuffersEXT(
521 WGC3Dsizei n,
522 const WGC3Denum* bufs);
560 523
561 virtual unsigned insertSyncPoint(); 524 // GL_ANGLE_instanced_arrays
525 virtual void drawArraysInstancedANGLE(WGC3Denum mode, WGC3Dint first,
526 WGC3Dsizei count, WGC3Dsizei primcount);
527 virtual void drawElementsInstancedANGLE(WGC3Denum mode, WGC3Dsizei count,
528 WGC3Denum type, WGC3Dintptr offset, WGC3Dsizei primcount);
529 virtual void vertexAttribDivisorANGLE(WGC3Duint index, WGC3Duint divisor);
562 530
563 virtual void loseContextCHROMIUM(WGC3Denum current, WGC3Denum other); 531 // GL_CHROMIUM_map_image
532 virtual WGC3Duint createImageCHROMIUM(WGC3Dsizei width,
533 WGC3Dsizei height,
534 WGC3Denum internalformat,
535 WGC3Denum usage);
536 virtual void destroyImageCHROMIUM(WGC3Duint image_id);
537 virtual void getImageParameterivCHROMIUM(
538 WGC3Duint image_id, WGC3Denum pname, WGC3Dint* params);
539 virtual void* mapImageCHROMIUM(WGC3Duint image_id);
540 virtual void unmapImageCHROMIUM(WGC3Duint image_id);
541
542 // GL_EXT_multisampled_render_to_texture
543 virtual void framebufferTexture2DMultisampleEXT(WGC3Denum target,
544 WGC3Denum attachment,
545 WGC3Denum textarget,
546 WebGLId texture,
547 WGC3Dint level,
548 WGC3Dsizei samples);
549 virtual void renderbufferStorageMultisampleEXT(
550 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat,
551 WGC3Dsizei width, WGC3Dsizei height);
564 552
565 virtual GrGLInterface* createGrGLInterface(); 553 virtual GrGLInterface* createGrGLInterface();
566 554
567 ::gpu::gles2::GLES2Interface* GetGLInterface(); 555 gpu::gles2::GLES2Interface* GetGLInterface() {
568 ::gpu::ContextSupport* GetContextSupport();
569
570 ::gpu::gles2::GLES2Implementation* GetImplementation() {
571 return gl_; 556 return gl_;
572 } 557 }
573 558
574 private: 559 protected:
575 WebGraphicsContext3DInProcessCommandBufferImpl( 560 friend class WebGraphicsContext3DErrorMessageCallback;
576 scoped_ptr< ::gpu::GLInProcessContext> context,
577 const blink::WebGraphicsContext3D::Attributes& attributes,
578 bool lose_context_when_out_of_memory,
579 bool is_offscreen,
580 gfx::AcceleratedWidget window);
581 561
582 void OnContextLost(); 562 WebGraphicsContext3DImpl(
563 const Attributes& attributes,
564 bool lose_context_when_out_of_memory);
565 virtual ~WebGraphicsContext3DImpl();
583 566
584 bool MaybeInitializeGL(); 567 gpu::gles2::GLES2ImplementationErrorMessageCallback*
568 getErrorMessageCallback();
569 virtual void OnErrorMessage(const std::string& message, int id);
585 570
586 // Used to try to find bugs in code that calls gl directly through the gl api 571 void setGLInterface(gpu::gles2::GLES2Interface* gl) {
587 // instead of going through WebGraphicsContext3D. 572 gl_ = gl;
588 void ClearContext(); 573 }
589
590 bool is_offscreen_;
591 // Only used when not offscreen.
592 gfx::AcceleratedWidget window_;
593 574
594 bool initialized_; 575 bool initialized_;
595 bool initialize_failed_; 576 bool initialize_failed_;
596 577
597 // The context we use for OpenGL rendering.
598 scoped_ptr< ::gpu::GLInProcessContext> context_;
599 // The GLES2Implementation we use for OpenGL rendering.
600 ::gpu::gles2::GLES2Implementation* gl_;
601
602 WebGraphicsContext3D::WebGraphicsContextLostCallback* context_lost_callback_; 578 WebGraphicsContext3D::WebGraphicsContextLostCallback* context_lost_callback_;
603 WGC3Denum context_lost_reason_; 579 WGC3Denum context_lost_reason_;
604 580
581 WebGraphicsContext3D::WebGraphicsErrorMessageCallback*
582 error_message_callback_;
583 scoped_ptr<WebGraphicsContext3DErrorMessageCallback>
584 client_error_message_callback_;
585
605 blink::WebGraphicsContext3D::Attributes attributes_; 586 blink::WebGraphicsContext3D::Attributes attributes_;
606 bool lose_context_when_out_of_memory_;
607 587
608 // Errors raised by synthesizeGLError(). 588 // Errors raised by synthesizeGLError().
609 std::vector<WGC3Denum> synthetic_errors_; 589 std::vector<WGC3Denum> synthetic_errors_;
610 590
591 gpu::gles2::GLES2Interface* gl_;
592 bool lose_context_when_out_of_memory_;
611 uint32_t flush_id_; 593 uint32_t flush_id_;
612 }; 594 };
613 595
614 } // namespace gpu 596 } // namespace content
615 } // namespace webkit
616 597
617 #endif // WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL _H_ 598 #endif // WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IMPL_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/client/gles2_implementation.h ('k') | webkit/common/gpu/webgraphicscontext3d_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698