Add detection of image load/store to caps
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4861
Change-Id: Ibf70cce9f61553e830b62339551c1541dc054e8b
Reviewed-on: https://skia-review.googlesource.com/4861
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/glsl/GrGLSLCaps.h b/src/gpu/glsl/GrGLSLCaps.h
index 137c9b7..4c53ad0 100644
--- a/src/gpu/glsl/GrGLSLCaps.h
+++ b/src/gpu/glsl/GrGLSLCaps.h
@@ -144,6 +144,11 @@
return fSampleVariablesExtensionString;
}
+ const char* imageLoadStoreExtensionString() const {
+ SkASSERT(this->imageLoadStoreSupport());
+ return fImageLoadStoreExtensionString;
+ }
+
int maxVertexSamplers() const { return fMaxVertexSamplers; }
int maxGeometrySamplers() const { return fMaxGeometrySamplers; }
@@ -152,6 +157,14 @@
int maxCombinedSamplers() const { return fMaxCombinedSamplers; }
+ int maxVertexImages() const { return fMaxVertexImages; }
+
+ int maxGeometryImages() const { return fMaxGeometryImages; }
+
+ int maxFragmentImages() const { return fMaxFragmentImages; }
+
+ int maxCombinedImages() const { return fMaxCombinedImages; }
+
/**
* Given a texture's config, this determines what swizzle must be appended to accesses to the
* texture in generated shader code. Swizzling may be implemented in texture parameters or a
@@ -215,6 +228,7 @@
const char* fNoPerspectiveInterpolationExtensionString;
const char* fMultisampleInterpolationExtensionString;
const char* fSampleVariablesExtensionString;
+ const char* fImageLoadStoreExtensionString;
const char* fFBFetchColorName;
const char* fFBFetchExtensionString;
@@ -224,6 +238,11 @@
int fMaxFragmentSamplers;
int fMaxCombinedSamplers;
+ int fMaxVertexImages;
+ int fMaxGeometryImages;
+ int fMaxFragmentImages;
+ int fMaxCombinedImages;
+
AdvBlendEqInteraction fAdvBlendEqInteraction;
GrSwizzle fConfigTextureSwizzle[kGrPixelConfigCnt];