aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrBackendSurface.cpp
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2017-04-26 13:29:21 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-02 14:08:28 +0000
commit207282eb5ac6f009e6f736fb8e5cfcee000ee92a (patch)
tree353d63f8bb5bcbd0fd8c8ce3e3bebcf7ee1ab220 /src/gpu/GrBackendSurface.cpp
parentf6782442ba2aff9a0b18078e154c7bcc0a434abd (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.cpp29
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;
}