diff options
Diffstat (limited to 'src/gpu/glsl')
-rw-r--r-- | src/gpu/glsl/GrGLSLCaps.cpp | 9 | ||||
-rw-r--r-- | src/gpu/glsl/GrGLSLCaps.h | 19 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/gpu/glsl/GrGLSLCaps.cpp b/src/gpu/glsl/GrGLSLCaps.cpp index 8e464b07e4..5bb22b3974 100644 --- a/src/gpu/glsl/GrGLSLCaps.cpp +++ b/src/gpu/glsl/GrGLSLCaps.cpp @@ -42,10 +42,15 @@ GrGLSLCaps::GrGLSLCaps(const GrContextOptions& options) { fSampleVariablesExtensionString = nullptr; fFBFetchColorName = nullptr; fFBFetchExtensionString = nullptr; + fImageLoadStoreExtensionString = nullptr; fMaxVertexSamplers = 0; fMaxGeometrySamplers = 0; fMaxFragmentSamplers = 0; fMaxCombinedSamplers = 0; + fMaxVertexImages = 0; + fMaxGeometryImages = 0; + fMaxFragmentImages = 0; + fMaxCombinedImages = 0; fAdvBlendEqInteraction = kNotSupported_AdvBlendEqInteraction; } @@ -90,6 +95,10 @@ SkString GrGLSLCaps::dump() const { r.appendf("Max GS Samplers: %d\n", fMaxGeometrySamplers); r.appendf("Max FS Samplers: %d\n", fMaxFragmentSamplers); r.appendf("Max Combined Samplers: %d\n", fMaxFragmentSamplers); + r.appendf("Max VS Images: %d\n", fMaxVertexImages); + r.appendf("Max GS Images: %d\n", fMaxGeometryImages); + r.appendf("Max FS Images: %d\n", fMaxFragmentImages); + r.appendf("Max Combined Images: %d\n", fMaxFragmentImages); r.appendf("Advanced blend equation interaction: %s\n", kAdvBlendEqInteractionStr[fAdvBlendEqInteraction]); return r; diff --git a/src/gpu/glsl/GrGLSLCaps.h b/src/gpu/glsl/GrGLSLCaps.h index 137c9b76b7..4c53ad02fd 100644 --- a/src/gpu/glsl/GrGLSLCaps.h +++ b/src/gpu/glsl/GrGLSLCaps.h @@ -144,6 +144,11 @@ public: 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 @@ public: 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 @@ private: const char* fNoPerspectiveInterpolationExtensionString; const char* fMultisampleInterpolationExtensionString; const char* fSampleVariablesExtensionString; + const char* fImageLoadStoreExtensionString; const char* fFBFetchColorName; const char* fFBFetchExtensionString; @@ -224,6 +238,11 @@ private: int fMaxFragmentSamplers; int fMaxCombinedSamplers; + int fMaxVertexImages; + int fMaxGeometryImages; + int fMaxFragmentImages; + int fMaxCombinedImages; + AdvBlendEqInteraction fAdvBlendEqInteraction; GrSwizzle fConfigTextureSwizzle[kGrPixelConfigCnt]; |