| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 #ifndef GrCaps_DEFINED | 8 #ifndef GrCaps_DEFINED |
| 9 #define GrCaps_DEFINED | 9 #define GrCaps_DEFINED |
| 10 | 10 |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 #if GR_FORCE_GPU_TRACE_DEBUGGING | 126 #if GR_FORCE_GPU_TRACE_DEBUGGING |
| 127 bool gpuTracingSupport() const { return true; } | 127 bool gpuTracingSupport() const { return true; } |
| 128 #else | 128 #else |
| 129 bool gpuTracingSupport() const { return fGpuTracingSupport; } | 129 bool gpuTracingSupport() const { return fGpuTracingSupport; } |
| 130 #endif | 130 #endif |
| 131 bool compressedTexSubImageSupport() const { return fCompressedTexSubImageSup
port; } | 131 bool compressedTexSubImageSupport() const { return fCompressedTexSubImageSup
port; } |
| 132 bool oversizedStencilSupport() const { return fOversizedStencilSupport; } | 132 bool oversizedStencilSupport() const { return fOversizedStencilSupport; } |
| 133 bool textureBarrierSupport() const { return fTextureBarrierSupport; } | 133 bool textureBarrierSupport() const { return fTextureBarrierSupport; } |
| 134 | 134 |
| 135 bool useDrawInsteadOfClear() const { return fUseDrawInsteadOfClear; } | 135 bool useDrawInsteadOfClear() const { return fUseDrawInsteadOfClear; } |
| 136 bool useDrawInsteadOfPartialTextureWrite() const { | |
| 137 return fUseDrawInsteadOfPartialTextureWrite; | |
| 138 } | |
| 139 | 136 |
| 140 /** | 137 /** |
| 141 * Indicates the capabilities of the fixed function blend unit. | 138 * Indicates the capabilities of the fixed function blend unit. |
| 142 */ | 139 */ |
| 143 enum BlendEquationSupport { | 140 enum BlendEquationSupport { |
| 144 kBasic_BlendEquationSupport, //<! Support to select the oper
ator that | 141 kBasic_BlendEquationSupport, //<! Support to select the oper
ator that |
| 145 // combines src and dst terms
. | 142 // combines src and dst terms
. |
| 146 kAdvanced_BlendEquationSupport, //<! Additional fixed function
support for specific | 143 kAdvanced_BlendEquationSupport, //<! Additional fixed function
support for specific |
| 147 // SVG/PDF blend modes. Requi
res blend barriers. | 144 // SVG/PDF blend modes. Requi
res blend barriers. |
| 148 kAdvancedCoherent_BlendEquationSupport, //<! Advanced blend equation su
pport that does not | 145 kAdvancedCoherent_BlendEquationSupport, //<! Advanced blend equation su
pport that does not |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 } | 213 } |
| 217 | 214 |
| 218 protected: | 215 protected: |
| 219 /** Subclasses must call this at the end of their constructors in order to a
pply caps | 216 /** Subclasses must call this at the end of their constructors in order to a
pply caps |
| 220 overrides requested by the client. Note that overrides will only reduce
the caps never | 217 overrides requested by the client. Note that overrides will only reduce
the caps never |
| 221 expand them. */ | 218 expand them. */ |
| 222 void applyOptionsOverrides(const GrContextOptions& options); | 219 void applyOptionsOverrides(const GrContextOptions& options); |
| 223 | 220 |
| 224 SkAutoTUnref<GrShaderCaps> fShaderCaps; | 221 SkAutoTUnref<GrShaderCaps> fShaderCaps; |
| 225 | 222 |
| 226 bool fNPOTTextureTileSupport : 1; | 223 bool fNPOTTextureTileSupport : 1; |
| 227 bool fMipMapSupport : 1; | 224 bool fMipMapSupport : 1; |
| 228 bool fTwoSidedStencilSupport : 1; | 225 bool fTwoSidedStencilSupport : 1; |
| 229 bool fStencilWrapOpsSupport : 1; | 226 bool fStencilWrapOpsSupport : 1; |
| 230 bool fDiscardRenderTargetSupport : 1; | 227 bool fDiscardRenderTargetSupport : 1; |
| 231 bool fReuseScratchTextures : 1; | 228 bool fReuseScratchTextures : 1; |
| 232 bool fGpuTracingSupport : 1; | 229 bool fGpuTracingSupport : 1; |
| 233 bool fCompressedTexSubImageSupport : 1; | 230 bool fCompressedTexSubImageSupport : 1; |
| 234 bool fOversizedStencilSupport : 1; | 231 bool fOversizedStencilSupport : 1; |
| 235 bool fTextureBarrierSupport : 1; | 232 bool fTextureBarrierSupport : 1; |
| 236 // Driver workaround | 233 // Driver workaround |
| 237 bool fUseDrawInsteadOfClear : 1; | 234 bool fUseDrawInsteadOfClear : 1; |
| 238 bool fUseDrawInsteadOfPartialTextureWrite : 1; | |
| 239 | 235 |
| 240 BlendEquationSupport fBlendEquationSupport; | 236 BlendEquationSupport fBlendEquationSupport; |
| 241 uint32_t fAdvBlendEqBlacklist; | 237 uint32_t fAdvBlendEqBlacklist; |
| 242 GR_STATIC_ASSERT(kLast_GrBlendEquation < 32); | 238 GR_STATIC_ASSERT(kLast_GrBlendEquation < 32); |
| 243 | 239 |
| 244 uint32_t fMapBufferFlags; | 240 uint32_t fMapBufferFlags; |
| 245 int fGeometryBufferMapThreshold; | 241 int fGeometryBufferMapThreshold; |
| 246 | 242 |
| 247 int fMaxRenderTargetSize; | 243 int fMaxRenderTargetSize; |
| 248 int fMaxTextureSize; | 244 int fMaxTextureSize; |
| 249 int fMinTextureSize; | 245 int fMinTextureSize; |
| 250 int fMaxSampleCount; | 246 int fMaxSampleCount; |
| 251 | 247 |
| 252 // The first entry for each config is without msaa and the second is with. | 248 // The first entry for each config is without msaa and the second is with. |
| 253 bool fConfigRenderSupport[kGrPixelConfigCnt][2]; | 249 bool fConfigRenderSupport[kGrPixelConfigCnt][2]; |
| 254 bool fConfigTextureSupport[kGrPixelConfigCnt]; | 250 bool fConfigTextureSupport[kGrPixelConfigCnt]; |
| 255 | 251 |
| 256 private: | 252 private: |
| 257 bool fSupressPrints : 1; | 253 bool fSupressPrints : 1; |
| 258 bool fDrawPathMasksToCompressedTextureSupport : 1; | 254 bool fDrawPathMasksToCompressedTextureSupport : 1; |
| 259 | 255 |
| 260 typedef SkRefCnt INHERITED; | 256 typedef SkRefCnt INHERITED; |
| 261 }; | 257 }; |
| 262 | 258 |
| 263 #endif | 259 #endif |
| OLD | NEW |