Index: src/gpu/GrDrawTargetCaps.h |
=================================================================== |
--- src/gpu/GrDrawTargetCaps.h (revision 0) |
+++ src/gpu/GrDrawTargetCaps.h (revision 0) |
@@ -0,0 +1,58 @@ |
+ |
+/* |
+ * Copyright 2013 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
robertphillips
2013/03/25 18:11:36
double inclusion #ifdefs?
bsalomon
2013/03/25 18:20:14
Done.
bsalomon
2013/03/25 18:20:14
Done.
|
+#include "SkRefCnt.h" |
+ |
+/** |
+ * Represents the draw target capabilities. |
+ */ |
+class GrDrawTargetCaps : public SkRefCnt { |
+public: |
+ SK_DECLARE_INST_COUNT(Caps) |
+ |
+ GrDrawTargetCaps() { this->reset(); } |
+ GrDrawTargetCaps(const GrDrawTargetCaps& other) { *this = other; } |
+ GrDrawTargetCaps& operator= (const GrDrawTargetCaps&); |
+ |
+ virtual void reset(); |
+ virtual void print() const; |
+ |
+ bool eightBitPaletteSupport() const { return f8BitPaletteSupport; } |
+ bool npotTextureTileSupport() const { return fNPOTTextureTileSupport; } |
+ bool twoSidedStencilSupport() const { return fTwoSidedStencilSupport; } |
+ bool stencilWrapOpsSupport() const { return fStencilWrapOpsSupport; } |
+ bool hwAALineSupport() const { return fHWAALineSupport; } |
+ bool shaderDerivativeSupport() const { return fShaderDerivativeSupport; } |
+ bool geometryShaderSupport() const { return fGeometryShaderSupport; } |
+ bool dualSourceBlendingSupport() const { return fDualSourceBlendingSupport; } |
+ bool bufferLockSupport() const { return fBufferLockSupport; } |
+ bool pathStencilingSupport() const { return fPathStencilingSupport; } |
+ |
+ int maxRenderTargetSize() const { return fMaxRenderTargetSize; } |
+ int maxTextureSize() const { return fMaxTextureSize; } |
+ // Will be 0 if MSAA is not supported |
+ int maxSampleCount() const { return fMaxSampleCount; } |
+ |
+protected: |
+ bool f8BitPaletteSupport : 1; |
+ bool fNPOTTextureTileSupport : 1; |
+ bool fTwoSidedStencilSupport : 1; |
+ bool fStencilWrapOpsSupport : 1; |
+ bool fHWAALineSupport : 1; |
+ bool fShaderDerivativeSupport : 1; |
+ bool fGeometryShaderSupport : 1; |
+ bool fDualSourceBlendingSupport : 1; |
+ bool fBufferLockSupport : 1; |
+ bool fPathStencilingSupport : 1; |
+ |
+ int fMaxRenderTargetSize; |
+ int fMaxTextureSize; |
+ int fMaxSampleCount; |
+ |
+ typedef SkRefCnt INHERITED; |
+}; |