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 GrGLGpu_DEFINED | 8 #ifndef GrGLGpu_DEFINED |
9 #define GrGLGpu_DEFINED | 9 #define GrGLGpu_DEFINED |
10 | 10 |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
146 GrTexture* onCreateCompressedTexture(const GrSurfaceDesc& desc, | 146 GrTexture* onCreateCompressedTexture(const GrSurfaceDesc& desc, |
147 GrGpuResource::LifeCycle lifeCycle, | 147 GrGpuResource::LifeCycle lifeCycle, |
148 const void* srcData) override; | 148 const void* srcData) override; |
149 GrVertexBuffer* onCreateVertexBuffer(size_t size, bool dynamic) override; | 149 GrVertexBuffer* onCreateVertexBuffer(size_t size, bool dynamic) override; |
150 GrIndexBuffer* onCreateIndexBuffer(size_t size, bool dynamic) override; | 150 GrIndexBuffer* onCreateIndexBuffer(size_t size, bool dynamic) override; |
151 GrTransferBuffer* onCreateTransferBuffer(size_t size, TransferType type) ove rride; | 151 GrTransferBuffer* onCreateTransferBuffer(size_t size, TransferType type) ove rride; |
152 GrTexture* onWrapBackendTexture(const GrBackendTextureDesc&, GrWrapOwnership ) override; | 152 GrTexture* onWrapBackendTexture(const GrBackendTextureDesc&, GrWrapOwnership ) override; |
153 GrRenderTarget* onWrapBackendRenderTarget(const GrBackendRenderTargetDesc&, | 153 GrRenderTarget* onWrapBackendRenderTarget(const GrBackendRenderTargetDesc&, |
154 GrWrapOwnership) override; | 154 GrWrapOwnership) override; |
155 // Given a GrPixelConfig return the index into the stencil format array on G rGLCaps to a | 155 // Given a GrPixelConfig return the index into the stencil format array on G rGLCaps to a |
156 // compatible stencil format. | 156 // compatible stencil format, or negative if there is no compatible stencil format. |
egdaniel
2015/12/16 21:52:11
Not a big issue, I can go either way, but would it
bsalomon
2015/12/17 16:56:45
My feeling is that kUnsupported and kUnimplemented
| |
157 int getCompatibleStencilIndex(GrPixelConfig config); | 157 int getCompatibleStencilIndex(GrPixelConfig config); |
158 | 158 |
159 void onClear(GrRenderTarget*, const SkIRect& rect, GrColor color) override; | 159 void onClear(GrRenderTarget*, const SkIRect& rect, GrColor color) override; |
160 | 160 |
161 void onClearStencilClip(GrRenderTarget*, const SkIRect& rect, bool insideCli p) override; | 161 void onClearStencilClip(GrRenderTarget*, const SkIRect& rect, bool insideCli p) override; |
162 | 162 |
163 bool onReadPixels(GrSurface*, | 163 bool onReadPixels(GrSurface*, |
164 int left, int top, | 164 int left, int top, |
165 int width, int height, | 165 int width, int height, |
166 GrPixelConfig, | 166 GrPixelConfig, |
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
534 if (target == GR_GL_TEXTURE_2D) { | 534 if (target == GR_GL_TEXTURE_2D) { |
535 return 0; | 535 return 0; |
536 } else { | 536 } else { |
537 SkASSERT(target == GR_GL_TEXTURE_EXTERNAL); | 537 SkASSERT(target == GR_GL_TEXTURE_EXTERNAL); |
538 return 1; | 538 return 1; |
539 } | 539 } |
540 } | 540 } |
541 | 541 |
542 struct ConfigEntry { | 542 struct ConfigEntry { |
543 // Default constructor inits to known bad GL enum values. | 543 // Default constructor inits to known bad GL enum values. |
544 ConfigEntry() { memset(this, 0xAB, sizeof(ConfigEntry)); } | 544 ConfigEntry() { |
545 memset(this, 0xAB, sizeof(ConfigEntry)); | |
546 fStencilFormatIndex = kUnknown_StencilIndex; | |
547 } | |
545 GrGLenum fBaseInternalFormat; | 548 GrGLenum fBaseInternalFormat; |
546 GrGLenum fSizedInternalFormat; | 549 GrGLenum fSizedInternalFormat; |
547 GrGLenum fExternalFormat; | 550 GrGLenum fExternalFormat; |
548 GrGLenum fExternalType; | 551 GrGLenum fExternalType; |
552 | |
553 // Index into GrGLCaps's list of stencil formats. Support is determined experimentally and | |
554 // lazily. | |
555 int fStencilFormatIndex; | |
556 enum { | |
557 // This indicates that a stencil format has not yet been determined for the config. | |
558 kUnknown_StencilIndex = -1, | |
559 // This indicates that there is no supported stencil format for the config. | |
560 kUnsupported_StencilFormatIndex = -2 | |
561 }; | |
549 }; | 562 }; |
550 | 563 |
551 ConfigEntry fConfigTable[kLast_GrPixelConfig + 1]; | 564 ConfigEntry fConfigTable[kGrPixelConfigCnt]; |
552 | |
553 // Mapping of pixel configs to known supported stencil formats to be used | |
554 // when adding a stencil buffer to a framebuffer. | |
555 int fPixelConfigToStencilIndex[kGrPixelConfigCnt]; | |
556 | 565 |
557 typedef GrGpu INHERITED; | 566 typedef GrGpu INHERITED; |
558 friend class GrGLPathRendering; // For accessing setTextureUnit. | 567 friend class GrGLPathRendering; // For accessing setTextureUnit. |
559 }; | 568 }; |
560 | 569 |
561 #endif | 570 #endif |
OLD | NEW |