aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkUniformHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/vk/GrVkUniformHandler.h')
-rw-r--r--src/gpu/vk/GrVkUniformHandler.h16
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;