diff options
author | Greg Daniel <egdaniel@google.com> | 2017-05-04 15:09:03 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-04 19:38:24 +0000 |
commit | 18f9602094ace030cf73fa389bab555bc1e21b1f (patch) | |
tree | bb561a72a4f6191994aa7c01a277e615a60bac8b /src/gpu/vk/GrVkUniformHandler.h | |
parent | b7a330ff0048875e178b2d9a68cd5605d83baf8d (diff) |
Add support for Geom shaders in Vulkan backend.
Still requires SkSL support before it will work.
The main changes here involve support for uniforms in the geometry shader.
We use the same buffer for vertex and geometry shader stages. These
uniforms are not expected to be updated as often as frag data so we keep them
separate to avoid larger buffer uploads to the gpu.
BUG=skia:
Change-Id: I10b631c24071b6ffa258907a02a009ec6c8accd0
Reviewed-on: https://skia-review.googlesource.com/8413
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'src/gpu/vk/GrVkUniformHandler.h')
-rw-r--r-- | src/gpu/vk/GrVkUniformHandler.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gpu/vk/GrVkUniformHandler.h b/src/gpu/vk/GrVkUniformHandler.h index 8cfd1a9da1..cc7aaa3689 100644 --- a/src/gpu/vk/GrVkUniformHandler.h +++ b/src/gpu/vk/GrVkUniformHandler.h @@ -22,7 +22,7 @@ public: kTexelBufferDescSet = 2, }; enum { - kVertexBinding = 0, + kGeometryBinding = 0, kFragBinding = 1, }; @@ -48,7 +48,7 @@ private: , fUniforms(kUniformsPerBlock) , fSamplers(kUniformsPerBlock) , fTexelBuffers(kUniformsPerBlock) - , fCurrentVertexUBOOffset(0) + , fCurrentGeometryUBOOffset(0) , fCurrentFragmentUBOOffset(0) , fCurrentSamplerBinding(0) { } @@ -98,7 +98,7 @@ private: void appendUniformDecls(GrShaderFlags, SkString*) const override; - bool hasVertexUniforms() const { return fCurrentVertexUBOOffset > 0; } + bool hasGeometryUniforms() const { return fCurrentGeometryUBOOffset > 0; } bool hasFragmentUniforms() const { return fCurrentFragmentUBOOffset > 0; } @@ -112,7 +112,7 @@ private: SkTArray<GrSwizzle> fSamplerSwizzles; UniformInfoArray fTexelBuffers; - uint32_t fCurrentVertexUBOOffset; + uint32_t fCurrentGeometryUBOOffset; uint32_t fCurrentFragmentUBOOffset; uint32_t fCurrentSamplerBinding; |