diff options
author | Greg Daniel <egdaniel@google.com> | 2017-04-26 13:29:21 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-02 14:08:28 +0000 |
commit | 207282eb5ac6f009e6f736fb8e5cfcee000ee92a (patch) | |
tree | 353d63f8bb5bcbd0fd8c8ce3e3bebcf7ee1ab220 /src/gpu/GrBackendSurface.cpp | |
parent | f6782442ba2aff9a0b18078e154c7bcc0a434abd (diff) |
Make GrBackendTexture take Gr*Info refs in ctor, and copy them.
Bug: skia:
Change-Id: Ic05d3384fa07560fc18c52bb8ae03541a72515f7
Reviewed-on: https://skia-review.googlesource.com/14374
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrBackendSurface.cpp')
-rw-r--r-- | src/gpu/GrBackendSurface.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/src/gpu/GrBackendSurface.cpp b/src/gpu/GrBackendSurface.cpp index 0c205a91fc..63044759d4 100644 --- a/src/gpu/GrBackendSurface.cpp +++ b/src/gpu/GrBackendSurface.cpp @@ -14,12 +14,12 @@ GrBackendTexture::GrBackendTexture(int width, int height, - const GrVkImageInfo* vkInfo) + const GrVkImageInfo& vkInfo) : fWidth(width) , fHeight(height) , fConfig( #ifdef SK_VULKAN - GrVkFormatToPixelConfig(vkInfo->fFormat) + GrVkFormatToPixelConfig(vkInfo.fFormat) #else kUnknown_GrPixelConfig #endif @@ -30,7 +30,7 @@ GrBackendTexture::GrBackendTexture(int width, GrBackendTexture::GrBackendTexture(int width, int height, GrPixelConfig config, - const GrGLTextureInfo* glInfo) + const GrGLTextureInfo& glInfo) : fWidth(width) , fHeight(height) , fConfig(config) @@ -40,26 +40,33 @@ GrBackendTexture::GrBackendTexture(int width, GrBackendTexture::GrBackendTexture(const GrBackendTextureDesc& desc, GrBackend backend) : fWidth(desc.fWidth) , fHeight(desc.fHeight) - , fConfig(kVulkan_GrBackend == backend + , fConfig(desc.fConfig) + , fBackend(backend) { + if (kOpenGL_GrBackend == backend) { + fGLInfo = *reinterpret_cast<const GrGLTextureInfo*>(desc.fTextureHandle); + } else { + SkASSERT(kVulkan_GrBackend == backend); #ifdef SK_VULKAN - ? GrVkFormatToPixelConfig(((GrVkImageInfo*)desc.fTextureHandle)->fFormat) + const GrVkImageInfo* vkInfo = + reinterpret_cast<const GrVkImageInfo*>(desc.fTextureHandle); + fConfig = GrVkFormatToPixelConfig(vkInfo->fFormat); + fVkInfo = *vkInfo; #else - ? kUnknown_GrPixelConfig + fConfig = kUnknown_GrPixelConfig; #endif - : desc.fConfig) - , fBackend(backend) - , fHandle(desc.fTextureHandle) {} + } +} const GrVkImageInfo* GrBackendTexture::getVkImageInfo() const { if (kVulkan_GrBackend == fBackend) { - return fVkInfo; + return &fVkInfo; } return nullptr; } const GrGLTextureInfo* GrBackendTexture::getGLTextureInfo() const { if (kOpenGL_GrBackend == fBackend) { - return fGLInfo; + return &fGLInfo; } return nullptr; } |