| 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 GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ |    5 #ifndef GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ | 
|    6 #define GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ |    6 #define GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ | 
|    7  |    7  | 
|    8 #include <stdint.h> |    8 #include <stdint.h> | 
|    9  |    9  | 
|   10 #include <string> |   10 #include <string> | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
|   30 class WebGraphicsContext3DErrorMessageCallback; |   30 class WebGraphicsContext3DErrorMessageCallback; | 
|   31  |   31  | 
|   32 class GPU_BLINK_EXPORT WebGraphicsContext3DImpl |   32 class GPU_BLINK_EXPORT WebGraphicsContext3DImpl | 
|   33     : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) { |   33     : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) { | 
|   34  public: |   34  public: | 
|   35   ~WebGraphicsContext3DImpl() override; |   35   ~WebGraphicsContext3DImpl() override; | 
|   36  |   36  | 
|   37   //---------------------------------------------------------------------- |   37   //---------------------------------------------------------------------- | 
|   38   // WebGraphicsContext3D methods |   38   // WebGraphicsContext3D methods | 
|   39  |   39  | 
|   40   uint32_t lastFlushID() override; |  | 
|   41  |  | 
|   42   blink::WGC3Duint64 insertFenceSyncCHROMIUM() override; |  | 
|   43   bool genSyncTokenCHROMIUM(blink::WGC3Duint64 fenceSync, |   40   bool genSyncTokenCHROMIUM(blink::WGC3Duint64 fenceSync, | 
|   44                             blink::WGC3Dbyte* syncToken) override; |   41                             blink::WGC3Dbyte* syncToken) override; | 
|   45   void waitSyncTokenCHROMIUM(const blink::WGC3Dbyte* syncToken) override; |  | 
|   46  |   42  | 
|   47   void activeTexture(blink::WGC3Denum texture) override; |  | 
|   48   void applyScreenSpaceAntialiasingCHROMIUM() override; |  | 
|   49   void attachShader(blink::WebGLId program, blink::WebGLId shader) override; |  | 
|   50   void bindAttribLocation(blink::WebGLId program, |  | 
|   51                           blink::WGC3Duint index, |  | 
|   52                           const blink::WGC3Dchar* name) override; |  | 
|   53   void bindBuffer(blink::WGC3Denum target, blink::WebGLId buffer) override; |  | 
|   54   void bindFramebuffer(blink::WGC3Denum target, |  | 
|   55                        blink::WebGLId framebuffer) override; |  | 
|   56   void bindRenderbuffer(blink::WGC3Denum target, |  | 
|   57                         blink::WebGLId renderbuffer) override; |  | 
|   58   void bindTexture(blink::WGC3Denum target, blink::WebGLId texture) override; |  | 
|   59   void blendColor(blink::WGC3Dclampf red, |  | 
|   60                   blink::WGC3Dclampf green, |  | 
|   61                   blink::WGC3Dclampf blue, |  | 
|   62                   blink::WGC3Dclampf alpha) override; |  | 
|   63   void blendEquation(blink::WGC3Denum mode) override; |  | 
|   64   void blendEquationSeparate(blink::WGC3Denum modeRGB, |  | 
|   65                              blink::WGC3Denum modeAlpha) override; |  | 
|   66   void blendFunc(blink::WGC3Denum sfactor, blink::WGC3Denum dfactor) override; |  | 
|   67   void blendFuncSeparate(blink::WGC3Denum srcRGB, |  | 
|   68                          blink::WGC3Denum dstRGB, |  | 
|   69                          blink::WGC3Denum srcAlpha, |  | 
|   70                          blink::WGC3Denum dstAlpha) override; |  | 
|   71  |  | 
|   72   void bufferData(blink::WGC3Denum target, |  | 
|   73                   blink::WGC3Dsizeiptr size, |  | 
|   74                   const void* data, |  | 
|   75                   blink::WGC3Denum usage) override; |  | 
|   76   void bufferSubData(blink::WGC3Denum target, |  | 
|   77                      blink::WGC3Dintptr offset, |  | 
|   78                      blink::WGC3Dsizeiptr size, |  | 
|   79                      const void* data) override; |  | 
|   80  |  | 
|   81   blink::WGC3Denum checkFramebufferStatus(blink::WGC3Denum target) override; |  | 
|   82   void clear(blink::WGC3Dbitfield mask) override; |  | 
|   83   void clearColor(blink::WGC3Dclampf red, |  | 
|   84                   blink::WGC3Dclampf green, |  | 
|   85                   blink::WGC3Dclampf blue, |  | 
|   86                   blink::WGC3Dclampf alpha) override; |  | 
|   87   void clearDepth(blink::WGC3Dclampf depth) override; |  | 
|   88   void clearStencil(blink::WGC3Dint s) override; |  | 
|   89   void colorMask(blink::WGC3Dboolean red, |  | 
|   90                  blink::WGC3Dboolean green, |  | 
|   91                  blink::WGC3Dboolean blue, |  | 
|   92                  blink::WGC3Dboolean alpha) override; |  | 
|   93   void compileShader(blink::WebGLId shader) override; |  | 
|   94  |  | 
|   95   void compressedTexImage2D(blink::WGC3Denum target, |  | 
|   96                             blink::WGC3Dint level, |  | 
|   97                             blink::WGC3Denum internalformat, |  | 
|   98                             blink::WGC3Dsizei width, |  | 
|   99                             blink::WGC3Dsizei height, |  | 
|  100                             blink::WGC3Dint border, |  | 
|  101                             blink::WGC3Dsizei imageSize, |  | 
|  102                             const void* data) override; |  | 
|  103   void compressedTexSubImage2D(blink::WGC3Denum target, |  | 
|  104                                blink::WGC3Dint level, |  | 
|  105                                blink::WGC3Dint xoffset, |  | 
|  106                                blink::WGC3Dint yoffset, |  | 
|  107                                blink::WGC3Dsizei width, |  | 
|  108                                blink::WGC3Dsizei height, |  | 
|  109                                blink::WGC3Denum format, |  | 
|  110                                blink::WGC3Dsizei imageSize, |  | 
|  111                                const void* data) override; |  | 
|  112   void copyTexImage2D(blink::WGC3Denum target, |  | 
|  113                       blink::WGC3Dint level, |  | 
|  114                       blink::WGC3Denum internalformat, |  | 
|  115                       blink::WGC3Dint x, |  | 
|  116                       blink::WGC3Dint y, |  | 
|  117                       blink::WGC3Dsizei width, |  | 
|  118                       blink::WGC3Dsizei height, |  | 
|  119                       blink::WGC3Dint border) override; |  | 
|  120   void copyTexSubImage2D(blink::WGC3Denum target, |  | 
|  121                          blink::WGC3Dint level, |  | 
|  122                          blink::WGC3Dint xoffset, |  | 
|  123                          blink::WGC3Dint yoffset, |  | 
|  124                          blink::WGC3Dint x, |  | 
|  125                          blink::WGC3Dint y, |  | 
|  126                          blink::WGC3Dsizei width, |  | 
|  127                          blink::WGC3Dsizei height) override; |  | 
|  128   void cullFace(blink::WGC3Denum mode) override; |  | 
|  129   void depthFunc(blink::WGC3Denum func) override; |  | 
|  130   void depthMask(blink::WGC3Dboolean flag) override; |  | 
|  131   void depthRange(blink::WGC3Dclampf zNear, blink::WGC3Dclampf zFar) override; |  | 
|  132   void detachShader(blink::WebGLId program, blink::WebGLId shader) override; |  | 
|  133   void disable(blink::WGC3Denum cap) override; |  | 
|  134   void disableVertexAttribArray(blink::WGC3Duint index) override; |  | 
|  135   void drawArrays(blink::WGC3Denum mode, |  | 
|  136                   blink::WGC3Dint first, |  | 
|  137                   blink::WGC3Dsizei count) override; |  | 
|  138   void drawElements(blink::WGC3Denum mode, |   43   void drawElements(blink::WGC3Denum mode, | 
|  139                     blink::WGC3Dsizei count, |   44                     blink::WGC3Dsizei count, | 
|  140                     blink::WGC3Denum type, |   45                     blink::WGC3Denum type, | 
|  141                     blink::WGC3Dintptr offset) override; |   46                     blink::WGC3Dintptr offset) override; | 
|  142  |   47  | 
|  143   void enable(blink::WGC3Denum cap) override; |  | 
|  144   void enableVertexAttribArray(blink::WGC3Duint index) override; |  | 
|  145   void finish() override; |   48   void finish() override; | 
|  146   void flush() override; |   49   void flush() override; | 
|  147   void frontFace(blink::WGC3Denum mode) override; |   50   void frontFace(blink::WGC3Denum mode) override; | 
|  148   void generateMipmap(blink::WGC3Denum target) override; |   51   void generateMipmap(blink::WGC3Denum target) override; | 
|  149  |   52  | 
|  150   bool getActiveAttrib(blink::WebGLId program, |   53   bool getActiveAttrib(blink::WebGLId program, | 
|  151                        blink::WGC3Duint index, |   54                        blink::WGC3Duint index, | 
|  152                        ActiveInfo&) override; |   55                        ActiveInfo&) override; | 
|  153   bool getActiveUniform(blink::WebGLId program, |   56   bool getActiveUniform(blink::WebGLId program, | 
|  154                         blink::WGC3Duint index, |   57                         blink::WGC3Duint index, | 
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  435   void deleteTexture(blink::WebGLId) override; |  338   void deleteTexture(blink::WebGLId) override; | 
|  436  |  339  | 
|  437   blink::WebGLId createProgram() override; |  340   blink::WebGLId createProgram() override; | 
|  438   blink::WebGLId createShader(blink::WGC3Denum) override; |  341   blink::WebGLId createShader(blink::WGC3Denum) override; | 
|  439  |  342  | 
|  440   void deleteProgram(blink::WebGLId) override; |  343   void deleteProgram(blink::WebGLId) override; | 
|  441   void deleteShader(blink::WebGLId) override; |  344   void deleteShader(blink::WebGLId) override; | 
|  442  |  345  | 
|  443   void synthesizeGLError(blink::WGC3Denum) override; |  346   void synthesizeGLError(blink::WGC3Denum) override; | 
|  444  |  347  | 
|  445   void discardFramebufferEXT(blink::WGC3Denum target, |  | 
|  446                              blink::WGC3Dsizei numAttachments, |  | 
|  447                              const blink::WGC3Denum* attachments) override; |  | 
|  448  |  | 
|  449   blink::WebString getRequestableExtensionsCHROMIUM() override; |  348   blink::WebString getRequestableExtensionsCHROMIUM() override; | 
|  450   void requestExtensionCHROMIUM(const char*) override; |  | 
|  451  |  349  | 
|  452   void blitFramebufferCHROMIUM(blink::WGC3Dint srcX0, |  350   void blitFramebufferCHROMIUM(blink::WGC3Dint srcX0, | 
|  453                                blink::WGC3Dint srcY0, |  351                                blink::WGC3Dint srcY0, | 
|  454                                blink::WGC3Dint srcX1, |  352                                blink::WGC3Dint srcX1, | 
|  455                                blink::WGC3Dint srcY1, |  353                                blink::WGC3Dint srcY1, | 
|  456                                blink::WGC3Dint dstX0, |  354                                blink::WGC3Dint dstX0, | 
|  457                                blink::WGC3Dint dstY0, |  355                                blink::WGC3Dint dstY0, | 
|  458                                blink::WGC3Dint dstX1, |  356                                blink::WGC3Dint dstX1, | 
|  459                                blink::WGC3Dint dstY1, |  357                                blink::WGC3Dint dstY1, | 
|  460                                blink::WGC3Dbitfield mask, |  358                                blink::WGC3Dbitfield mask, | 
|  461                                blink::WGC3Denum filter) override; |  359                                blink::WGC3Denum filter) override; | 
|  462   void renderbufferStorageMultisampleCHROMIUM( |  | 
|  463       blink::WGC3Denum target, |  | 
|  464       blink::WGC3Dsizei samples, |  | 
|  465       blink::WGC3Denum internalformat, |  | 
|  466       blink::WGC3Dsizei width, |  | 
|  467       blink::WGC3Dsizei height) override; |  | 
|  468  |  | 
|  469   blink::WebString getTranslatedShaderSourceANGLE( |  360   blink::WebString getTranslatedShaderSourceANGLE( | 
|  470       blink::WebGLId shader) override; |  361       blink::WebGLId shader) override; | 
|  471  |  362  | 
|  472   void setContextLostCallback( |  363   void setContextLostCallback( | 
|  473       WebGraphicsContext3D::WebGraphicsContextLostCallback* callback) override; |  364       WebGraphicsContext3D::WebGraphicsContextLostCallback* callback) override; | 
|  474  |  365  | 
|  475   void setErrorMessageCallback( |  366   void setErrorMessageCallback( | 
|  476       WebGraphicsContext3D::WebGraphicsErrorMessageCallback* callback) override; |  367       WebGraphicsContext3D::WebGraphicsErrorMessageCallback* callback) override; | 
|  477  |  368  | 
|  478   void texStorage2DEXT(blink::WGC3Denum target, |  369   void texStorage2DEXT(blink::WGC3Denum target, | 
| (...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  906   // Errors raised by synthesizeGLError(). |  797   // Errors raised by synthesizeGLError(). | 
|  907   std::vector<blink::WGC3Denum> synthetic_errors_; |  798   std::vector<blink::WGC3Denum> synthetic_errors_; | 
|  908  |  799  | 
|  909   ::gpu::gles2::GLES2Interface* gl_; |  800   ::gpu::gles2::GLES2Interface* gl_; | 
|  910   bool lose_context_when_out_of_memory_; |  801   bool lose_context_when_out_of_memory_; | 
|  911 }; |  802 }; | 
|  912  |  803  | 
|  913 }  // namespace gpu_blink |  804 }  // namespace gpu_blink | 
|  914  |  805  | 
|  915 #endif  // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ |  806 #endif  // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ | 
| OLD | NEW |