Index: src/gpu/glsl/GrGLSLCaps.cpp |
diff --git a/src/gpu/glsl/GrGLSLCaps.cpp b/src/gpu/glsl/GrGLSLCaps.cpp |
new file mode 100755 |
index 0000000000000000000000000000000000000000..cb72864347cf1e7e9612807553b1776d02cdc15b |
--- /dev/null |
+++ b/src/gpu/glsl/GrGLSLCaps.cpp |
@@ -0,0 +1,47 @@ |
+/* |
+ * Copyright 2012 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+ |
+#include "GrGLSLCaps.h" |
+ |
+//////////////////////////////////////////////////////////////////////////////////////////// |
+ |
+GrGLSLCaps::GrGLSLCaps(const GrContextOptions& options) { |
+ fDropsTileOnZeroDivide = false; |
+ fFBFetchSupport = false; |
+ fFBFetchNeedsCustomOutput = false; |
+ fBindlessTextureSupport = false; |
+ fAdvBlendEqInteraction = kNotSupported_AdvBlendEqInteraction; |
+ fFBFetchColorName = NULL; |
+ fFBFetchExtensionString = NULL; |
+} |
+ |
+SkString GrGLSLCaps::dump() const { |
+ SkString r = INHERITED::dump(); |
+ |
+ static const char* kAdvBlendEqInteractionStr[] = { |
+ "Not Supported", |
+ "Automatic", |
+ "General Enable", |
+ "Specific Enables", |
+ }; |
+ GR_STATIC_ASSERT(0 == kNotSupported_AdvBlendEqInteraction); |
+ GR_STATIC_ASSERT(1 == kAutomatic_AdvBlendEqInteraction); |
+ GR_STATIC_ASSERT(2 == kGeneralEnable_AdvBlendEqInteraction); |
+ GR_STATIC_ASSERT(3 == kSpecificEnables_AdvBlendEqInteraction); |
+ GR_STATIC_ASSERT(SK_ARRAY_COUNT(kAdvBlendEqInteractionStr) == kLast_AdvBlendEqInteraction + 1); |
+ |
+ r.appendf("--- GLSL-Specific ---\n"); |
+ |
+ r.appendf("FB Fetch Support: %s\n", (fFBFetchSupport ? "YES" : "NO")); |
+ r.appendf("Drops tile on zero divide: %s\n", (fDropsTileOnZeroDivide ? "YES" : "NO")); |
+ r.appendf("Bindless texture support: %s\n", (fBindlessTextureSupport ? "YES" : "NO")); |
+ r.appendf("Advanced blend equation interaction: %s\n", |
+ kAdvBlendEqInteractionStr[fAdvBlendEqInteraction]); |
+ return r; |
+} |
+ |