OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef GrGpuGL_DEFINED | 8 #ifndef GrGpuGL_DEFINED |
9 #define GrGpuGL_DEFINED | 9 #define GrGpuGL_DEFINED |
10 | 10 |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 // GrGLResource onRelease functions. | 98 // GrGLResource onRelease functions. |
99 void notifyVertexArrayDelete(GrGLuint id) { | 99 void notifyVertexArrayDelete(GrGLuint id) { |
100 fHWGeometryState.notifyVertexArrayDelete(id); | 100 fHWGeometryState.notifyVertexArrayDelete(id); |
101 } | 101 } |
102 void notifyVertexBufferDelete(GrGLuint id) { | 102 void notifyVertexBufferDelete(GrGLuint id) { |
103 fHWGeometryState.notifyVertexBufferDelete(id); | 103 fHWGeometryState.notifyVertexBufferDelete(id); |
104 } | 104 } |
105 void notifyIndexBufferDelete(GrGLuint id) { | 105 void notifyIndexBufferDelete(GrGLuint id) { |
106 fHWGeometryState.notifyIndexBufferDelete(id); | 106 fHWGeometryState.notifyIndexBufferDelete(id); |
107 } | 107 } |
| 108 void notifyTextureDelete(GrGLTexture* texture); |
| 109 void notifyRenderTargetDelete(GrRenderTarget* renderTarget); |
108 | 110 |
109 // These functions should be used to generate and delete GL path names. They
have their own | 111 // These functions should be used to generate and delete GL path names. They
have their own |
110 // allocator that runs on the client side, so they are much faster than goin
g through GenPaths. | 112 // allocator that runs on the client side, so they are much faster than goin
g through GenPaths. |
111 GrGLuint createGLPathObject(); | 113 GrGLuint createGLPathObject(); |
112 void deleteGLPathObject(GrGLuint); | 114 void deleteGLPathObject(GrGLuint); |
113 | 115 |
114 protected: | 116 protected: |
115 virtual bool onCopySurface(GrSurface* dst, | 117 virtual bool onCopySurface(GrSurface* dst, |
116 GrSurface* src, | 118 GrSurface* src, |
117 const SkIRect& srcRect, | 119 const SkIRect& srcRect, |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 | 457 |
456 GrGLProgram::MatrixState fHWProjectionMatrixState; | 458 GrGLProgram::MatrixState fHWProjectionMatrixState; |
457 | 459 |
458 GrStencilSettings fHWStencilSettings; | 460 GrStencilSettings fHWStencilSettings; |
459 TriState fHWStencilTestEnabled; | 461 TriState fHWStencilTestEnabled; |
460 GrStencilSettings fHWPathStencilSettings; | 462 GrStencilSettings fHWPathStencilSettings; |
461 | 463 |
462 GrDrawState::DrawFace fHWDrawFace; | 464 GrDrawState::DrawFace fHWDrawFace; |
463 TriState fHWWriteToColor; | 465 TriState fHWWriteToColor; |
464 TriState fHWDitherEnabled; | 466 TriState fHWDitherEnabled; |
465 uint64_t fHWBoundRenderTargetInstanceID; | 467 GrRenderTarget* fHWBoundRenderTarget; |
466 SkTArray<uint64_t, true> fHWBoundTextureInstanceIDs; | 468 SkTArray<GrTexture*, true> fHWBoundTextures; |
467 | 469 |
468 struct PathTexGenData { | 470 struct PathTexGenData { |
469 GrGLenum fMode; | 471 GrGLenum fMode; |
470 GrGLint fNumComponents; | 472 GrGLint fNumComponents; |
471 GrGLfloat fCoefficients[3 * 3]; | 473 GrGLfloat fCoefficients[3 * 3]; |
472 }; | 474 }; |
473 int fHWActivePathTexGenSets; | 475 int fHWActivePathTexGenSets; |
474 SkTArray<PathTexGenData, true> fHWPathTexGenSettings; | 476 SkTArray<PathTexGenData, true> fHWPathTexGenSettings; |
475 ///@} | 477 ///@} |
476 | 478 |
477 // we record what stencil format worked last time to hopefully exit early | 479 // we record what stencil format worked last time to hopefully exit early |
478 // from our loop that tries stencil formats and calls check fb status. | 480 // from our loop that tries stencil formats and calls check fb status. |
479 int fLastSuccessfulStencilFmtIdx; | 481 int fLastSuccessfulStencilFmtIdx; |
480 | 482 |
481 SkAutoTDelete<GrGLNameAllocator> fPathNameAllocator; | 483 SkAutoTDelete<GrGLNameAllocator> fPathNameAllocator; |
482 | 484 |
483 typedef GrGpu INHERITED; | 485 typedef GrGpu INHERITED; |
484 }; | 486 }; |
485 | 487 |
486 #endif | 488 #endif |
OLD | NEW |