diff options
Diffstat (limited to 'src/gpu/vk/GrVkUniformHandler.h')
-rw-r--r-- | src/gpu/vk/GrVkUniformHandler.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/gpu/vk/GrVkUniformHandler.h b/src/gpu/vk/GrVkUniformHandler.h index 46d27cda7c..f6060b0532 100644 --- a/src/gpu/vk/GrVkUniformHandler.h +++ b/src/gpu/vk/GrVkUniformHandler.h @@ -11,6 +11,7 @@ #include "glsl/GrGLSLUniformHandler.h" #include "GrAllocator.h" +#include "GrVkGLSLSampler.h" #include "glsl/GrGLSLShaderVar.h" class GrVkUniformHandler : public GrGLSLUniformHandler { @@ -30,8 +31,6 @@ public: struct UniformInfo { GrGLSLShaderVar fVariable; uint32_t fVisibility; - uint32_t fSetNumber; - uint32_t fBinding; uint32_t fUBOffset; }; typedef GrTAllocator<UniformInfo> UniformInfoArray; @@ -61,6 +60,17 @@ private: int arrayCount, const char** outName) override; + SamplerHandle internalAddSampler(uint32_t visibility, + GrPixelConfig config, + GrSLType type, + GrSLPrecision precision, + const char* name) override; + + int numSamplers() const override { return fSamplers.count(); } + const GrGLSLSampler& getSampler(SamplerHandle handle) const override { + return fSamplers[handle.toIndex()]; + } + void appendUniformDecls(GrShaderFlags, SkString*) const override; bool hasVertexUniforms() const { return fCurrentVertexUBOOffset > 0; } @@ -73,6 +83,8 @@ private: UniformInfoArray fUniforms; + SkTArray<GrVkGLSLSampler> fSamplers; + uint32_t fCurrentVertexUBOOffset; uint32_t fCurrentFragmentUBOOffset; uint32_t fCurrentSamplerBinding; |