Chromium Code Reviews| OLD | NEW |
|---|---|
| 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_IN_PROCESS_COMMAND_BUFFER_IMPL_H_ |
| 6 #define WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL_H_ | 6 #define WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL_H_ |
| 7 | 7 |
| 8 #if defined(ENABLE_GPU) | 8 #if defined(ENABLE_GPU) |
| 9 | 9 |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 32 using WebKit::WGC3Dint; | 32 using WebKit::WGC3Dint; |
| 33 using WebKit::WGC3Dsizei; | 33 using WebKit::WGC3Dsizei; |
| 34 using WebKit::WGC3Duint; | 34 using WebKit::WGC3Duint; |
| 35 using WebKit::WGC3Dfloat; | 35 using WebKit::WGC3Dfloat; |
| 36 using WebKit::WGC3Dclampf; | 36 using WebKit::WGC3Dclampf; |
| 37 using WebKit::WGC3Dintptr; | 37 using WebKit::WGC3Dintptr; |
| 38 using WebKit::WGC3Dsizeiptr; | 38 using WebKit::WGC3Dsizeiptr; |
| 39 | 39 |
| 40 namespace gpu { | 40 namespace gpu { |
| 41 class GLInProcessContext; | 41 class GLInProcessContext; |
| 42 class GLInProcessContextAttribs; | |
| 42 } | 43 } |
| 43 | 44 |
| 44 namespace webkit { | 45 namespace webkit { |
| 45 namespace gpu { | 46 namespace gpu { |
| 46 | 47 |
| 47 class WEBKIT_GPU_EXPORT WebGraphicsContext3DInProcessCommandBufferImpl | 48 class WEBKIT_GPU_EXPORT WebGraphicsContext3DInProcessCommandBufferImpl |
| 48 : public NON_EXPORTED_BASE(WebKit::WebGraphicsContext3D) { | 49 : public NON_EXPORTED_BASE(WebKit::WebGraphicsContext3D) { |
| 49 public: | 50 public: |
| 50 static scoped_ptr<WebKit::WebGraphicsContext3D> CreateViewContext( | 51 static scoped_ptr<WebKit::WebGraphicsContext3D> CreateViewContext( |
| 51 const WebKit::WebGraphicsContext3D::Attributes& attributes, | 52 const WebKit::WebGraphicsContext3D::Attributes& attributes, |
| 52 gfx::AcceleratedWidget window); | 53 gfx::AcceleratedWidget window); |
| 53 | 54 |
| 54 static scoped_ptr<WebKit::WebGraphicsContext3D> CreateOffscreenContext( | 55 static scoped_ptr<WebKit::WebGraphicsContext3D> CreateOffscreenContext( |
| 55 const WebKit::WebGraphicsContext3D::Attributes& attributes); | 56 const WebKit::WebGraphicsContext3D::Attributes& attributes); |
| 56 | 57 |
| 58 static scoped_ptr<WebKit::WebGraphicsContext3D> WrapContext( | |
| 59 scoped_ptr< ::gpu::GLInProcessContext> context, | |
| 60 const WebKit::WebGraphicsContext3D::Attributes& attributes); | |
|
no sievers
2013/08/07 01:52:38
Wouldn't it make more sense if WGC3D got the attri
boliu
2013/08/07 02:58:48
I think that's a layering violation that gpu code
| |
| 61 | |
| 57 virtual ~WebGraphicsContext3DInProcessCommandBufferImpl(); | 62 virtual ~WebGraphicsContext3DInProcessCommandBufferImpl(); |
| 58 | 63 |
| 64 // Convert WebGL context creation attributes into GLInProcessContext / EGL | |
| 65 // size requests. | |
| 66 static void ConvertAttributes( | |
| 67 const WebKit::WebGraphicsContext3D::Attributes& attributes, | |
| 68 ::gpu::GLInProcessContextAttribs* output_attribs); | |
| 69 | |
| 59 //---------------------------------------------------------------------- | 70 //---------------------------------------------------------------------- |
| 60 // WebGraphicsContext3D methods | 71 // WebGraphicsContext3D methods |
| 61 virtual bool makeContextCurrent(); | 72 virtual bool makeContextCurrent(); |
| 62 | 73 |
| 63 virtual int width(); | 74 virtual int width(); |
| 64 virtual int height(); | 75 virtual int height(); |
| 65 | 76 |
| 66 virtual void reshape(int width, int height); | 77 virtual void reshape(int width, int height); |
| 67 virtual void reshapeWithScaleFactor(int width, int height, float scaleFactor); | 78 virtual void reshapeWithScaleFactor(int width, int height, float scaleFactor); |
| 68 | 79 |
| (...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 529 virtual void signalQuery(unsigned query, | 540 virtual void signalQuery(unsigned query, |
| 530 WebGraphicsSyncPointCallback* callback); | 541 WebGraphicsSyncPointCallback* callback); |
| 531 | 542 |
| 532 virtual void loseContextCHROMIUM(WGC3Denum current, WGC3Denum other); | 543 virtual void loseContextCHROMIUM(WGC3Denum current, WGC3Denum other); |
| 533 | 544 |
| 534 protected: | 545 protected: |
| 535 virtual GrGLInterface* onCreateGrGLInterface(); | 546 virtual GrGLInterface* onCreateGrGLInterface(); |
| 536 | 547 |
| 537 private: | 548 private: |
| 538 WebGraphicsContext3DInProcessCommandBufferImpl( | 549 WebGraphicsContext3DInProcessCommandBufferImpl( |
| 550 scoped_ptr< ::gpu::GLInProcessContext> context, | |
| 539 const WebKit::WebGraphicsContext3D::Attributes& attributes, | 551 const WebKit::WebGraphicsContext3D::Attributes& attributes, |
| 540 bool is_offscreen, | 552 bool is_offscreen, |
| 541 gfx::AcceleratedWidget window); | 553 gfx::AcceleratedWidget window); |
| 542 | 554 |
| 543 // SwapBuffers callback. | 555 // SwapBuffers callback. |
| 544 void OnSwapBuffersComplete(); | 556 void OnSwapBuffersComplete(); |
| 545 virtual void OnContextLost(); | 557 virtual void OnContextLost(); |
| 546 | 558 |
| 547 bool MaybeInitializeGL(); | 559 bool MaybeInitializeGL(); |
| 548 | 560 |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 571 | 583 |
| 572 // Errors raised by synthesizeGLError(). | 584 // Errors raised by synthesizeGLError(). |
| 573 std::vector<WGC3Denum> synthetic_errors_; | 585 std::vector<WGC3Denum> synthetic_errors_; |
| 574 }; | 586 }; |
| 575 | 587 |
| 576 } // namespace gpu | 588 } // namespace gpu |
| 577 } // namespace webkit | 589 } // namespace webkit |
| 578 | 590 |
| 579 #endif // defined(ENABLE_GPU) | 591 #endif // defined(ENABLE_GPU) |
| 580 #endif // WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL _H_ | 592 #endif // WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_IN_PROCESS_COMMAND_BUFFER_IMPL _H_ |
| OLD | NEW |