diff options
author | Brian Salomon <bsalomon@google.com> | 2016-11-22 15:56:30 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-11-22 21:35:11 +0000 |
commit | be34882042048db096baca32ddf4a8b472529804 (patch) | |
tree | 2676dc4a9e6506f19728eddfe011ba4465f1c3ab /src/gpu/vk/GrVkUniformHandler.cpp | |
parent | 030cbd5f3cc60255b887fb88920fb655c8a2a9be (diff) |
Initial OpenGL Image support.
This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4182
Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce
Reviewed-on: https://skia-review.googlesource.com/4182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/vk/GrVkUniformHandler.cpp')
-rw-r--r-- | src/gpu/vk/GrVkUniformHandler.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gpu/vk/GrVkUniformHandler.cpp b/src/gpu/vk/GrVkUniformHandler.cpp index 3998c0fd23..8c4f8514b8 100644 --- a/src/gpu/vk/GrVkUniformHandler.cpp +++ b/src/gpu/vk/GrVkUniformHandler.cpp @@ -45,6 +45,8 @@ uint32_t grsltype_to_alignment_mask(GrSLType type) { case kBufferSampler_GrSLType: case kTexture2D_GrSLType: case kSampler_GrSLType: + case kImageStorage2D_GrSLType: + case kIImageStorage2D_GrSLType: break; } SkFAIL("Unexpected type"); @@ -86,6 +88,8 @@ static inline uint32_t grsltype_to_vk_size(GrSLType type) { case kBufferSampler_GrSLType: case kTexture2D_GrSLType: case kSampler_GrSLType: + case kImageStorage2D_GrSLType: + case kIImageStorage2D_GrSLType: break; } SkFAIL("Unexpected type"); @@ -158,7 +162,7 @@ GrGLSLUniformHandler::UniformHandle GrVkUniformHandler::internalAddUniformArray( uni.fVariable.setTypeModifier(GrShaderVar::kNone_TypeModifier); uint32_t* currentOffset = kVertex_GrShaderFlag == visibility ? &fCurrentVertexUBOOffset - : &fCurrentFragmentUBOOffset; + : &fCurrentFragmentUBOOffset; get_ubo_aligned_offset(&uni.fUBOffset, currentOffset, type, arrayCount); if (outName) { |