aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLUniformHandler.h
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2017-05-05 10:28:42 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-05 15:04:13 +0000
commitbc5d4d769098a4fb46685c0e59034dc8e12318a2 (patch)
tree1a3ff07875fb27d058f3d2369b30b9b62f7d6324 /src/gpu/gl/GrGLUniformHandler.h
parent288d041c64322fafc77cfaf23907180ebad933a1 (diff)
Split tracking of TexelBuffers from normal samplers
This is precursor CL to add support for texel buffers in Vulkan. This change as includes fixes to the ordering of assigning locations and texture units so that they match in GrGLProgramDataManager and GrGLProgram. Bug: skia: Change-Id: I30c9578fb7dcb187256f744e07651e8564f93a6b Reviewed-on: https://skia-review.googlesource.com/15225 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src/gpu/gl/GrGLUniformHandler.h')
-rw-r--r--src/gpu/gl/GrGLUniformHandler.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/gpu/gl/GrGLUniformHandler.h b/src/gpu/gl/GrGLUniformHandler.h
index da7b13c4f5..d029691b84 100644
--- a/src/gpu/gl/GrGLUniformHandler.h
+++ b/src/gpu/gl/GrGLUniformHandler.h
@@ -30,6 +30,7 @@ private:
: INHERITED(program)
, fUniforms(kUniformsPerBlock)
, fSamplers(kUniformsPerBlock)
+ , fTexelBuffers(kUniformsPerBlock)
, fImageStorages(kUniformsPerBlock) {}
UniformHandle internalAddUniformArray(uint32_t visibility,
@@ -47,14 +48,21 @@ private:
return fSamplers[handle.toIndex()].fVariable;
}
- ImageStorageHandle addImageStorage(uint32_t visibility, GrSLType, GrImageStorageFormat,
- GrSLMemoryModel, GrSLRestrict, GrIOType,
- const char* name) override;
-
GrSwizzle samplerSwizzle(SamplerHandle handle) const override {
return fSamplerSwizzles[handle.toIndex()];
}
+ TexelBufferHandle addTexelBuffer(uint32_t visibility, GrSLPrecision,
+ const char* name) override;
+
+ const GrShaderVar& texelBufferVariable(TexelBufferHandle handle) const override {
+ return fTexelBuffers[handle.toIndex()].fVariable;
+ }
+
+ ImageStorageHandle addImageStorage(uint32_t visibility, GrSLType, GrImageStorageFormat,
+ GrSLMemoryModel, GrSLRestrict, GrIOType,
+ const char* name) override;
+
const GrShaderVar& imageStorageVariable(ImageStorageHandle handle) const override {
return fImageStorages[handle.toIndex()].fVariable;
}
@@ -75,6 +83,7 @@ private:
UniformInfoArray fUniforms;
UniformInfoArray fSamplers;
SkTArray<GrSwizzle> fSamplerSwizzles;
+ UniformInfoArray fTexelBuffers;
UniformInfoArray fImageStorages;
friend class GrGLProgramBuilder;