commit | 497e9e2b3668fd8bc7fab16326e93c5cc6f0c287 | [log] [tgz] |
---|---|---|
author | fmenozzi <fmenozzi@google.com> | Tue Jun 21 09:42:12 2016 -0700 |
committer | Commit bot <commit-bot@chromium.org> | Tue Jun 21 09:42:12 2016 -0700 |
tree | d061e909be0d3d0a287857ae05b7c420ef7302a0 | |
parent | 67cb66648103b4773d1f679cb23f1ebaa6f65e76 [diff] [blame] |
Integers can now be passed as uniforms; needed for passing color count to fragment shader BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2076143003 Committed: https://skia.googlesource.com/skia/+/cc3a22b369e1a60fa2acf2987f2934baf7c4b198 Review-Url: https://codereview.chromium.org/2076143003
diff --git a/src/gpu/vk/GrVkPipelineStateDataManager.cpp b/src/gpu/vk/GrVkPipelineStateDataManager.cpp index 638fdba..13b363f 100644 --- a/src/gpu/vk/GrVkPipelineStateDataManager.cpp +++ b/src/gpu/vk/GrVkPipelineStateDataManager.cpp
@@ -54,6 +54,14 @@ return buffer; } +void GrVkPipelineStateDataManager::set1i(UniformHandle u, int32_t i) const { + const Uniform& uni = fUniforms[u.toIndex()]; + SkASSERT(uni.fType == kInt_GrSLType); + SkASSERT(GrGLSLShaderVar::kNonArray == uni.fArrayCount); + void* buffer = this->getBufferPtrAndMarkDirty(uni); + memcpy(buffer, &i, sizeof(int32_t)); +} + void GrVkPipelineStateDataManager::set1f(UniformHandle u, float v0) const { const Uniform& uni = fUniforms[u.toIndex()]; SkASSERT(uni.fType == kFloat_GrSLType);