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