fcd5fddb02
This reverts commitfad9e3f541
. Reason for revert: Can't find the error message anymore (?!?) Let's try again shall we Original change's description: > Revert "Update skia to use ifdefs for Vulkan code instead of dummy header" > > This reverts commitc0f8e426c5
. > > Reason for revert: Experiment to see if this will unblock the Android roll > > Original change's description: > > Update skia to use ifdefs for Vulkan code instead of dummy header > > > > Bug: skia:6721 > > Change-Id: I80a4c9f2acc09c174497f625c50ed12a8bb76505 > > Reviewed-on: https://skia-review.googlesource.com/19547 > > Reviewed-by: Mike Klein <mtklein@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com > > Change-Id: Ib51c1672570f2071a17b6fbde692a5174b0358ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:6721 > Reviewed-on: https://skia-review.googlesource.com/19724 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Iecef7ddcfe31d82938336120a4193525ac6693be No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:6721 Reviewed-on: https://skia-review.googlesource.com/19782 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
127 lines
3.5 KiB
C++
127 lines
3.5 KiB
C++
/*
|
|
* Copyright 2017 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef GrBackendSurface_DEFINED
|
|
#define GrBackendSurface_DEFINED
|
|
|
|
#include "GrTypes.h"
|
|
#include "gl/GrGLTypes.h"
|
|
|
|
#ifdef SK_VULKAN
|
|
#include "vk/GrVkTypes.h"
|
|
#endif
|
|
|
|
class GrBackendTexture {
|
|
public:
|
|
GrBackendTexture(int width,
|
|
int height,
|
|
GrPixelConfig config,
|
|
const GrGLTextureInfo& glInfo);
|
|
|
|
#ifdef SK_VULKAN
|
|
GrBackendTexture(int width,
|
|
int height,
|
|
const GrVkImageInfo& vkInfo);
|
|
#endif
|
|
|
|
int width() const { return fWidth; }
|
|
int height() const { return fHeight; }
|
|
GrPixelConfig config() const { return fConfig; }
|
|
GrBackend backend() const {return fBackend; }
|
|
|
|
// If the backend API is GL, this returns a pointer to the GrGLTextureInfo struct. Otherwise
|
|
// it returns nullptr.
|
|
const GrGLTextureInfo* getGLTextureInfo() const;
|
|
|
|
#ifdef SK_VULKAN
|
|
// If the backend API is Vulkan, this returns a pointer to the GrVkImageInfo struct. Otherwise
|
|
// it returns nullptr.
|
|
const GrVkImageInfo* getVkImageInfo() const;
|
|
#endif
|
|
|
|
private:
|
|
// Temporary constructor which can be used to convert from a GrBackendTextureDesc.
|
|
GrBackendTexture(const GrBackendTextureDesc& desc, GrBackend backend);
|
|
|
|
// Friending for access to above constructor taking a GrBackendTextureDesc
|
|
friend class SkImage;
|
|
friend class SkSurface;
|
|
|
|
int fWidth; //<! width in pixels
|
|
int fHeight; //<! height in pixels
|
|
GrPixelConfig fConfig;
|
|
GrBackend fBackend;
|
|
|
|
union {
|
|
GrGLTextureInfo fGLInfo;
|
|
#ifdef SK_VULKAN
|
|
GrVkImageInfo fVkInfo;
|
|
#endif
|
|
};
|
|
};
|
|
|
|
class GrBackendRenderTarget {
|
|
public:
|
|
GrBackendRenderTarget(int width,
|
|
int height,
|
|
int sampleCnt,
|
|
int stencilBits,
|
|
GrPixelConfig config,
|
|
const GrGLFramebufferInfo& glInfo);
|
|
|
|
#ifdef SK_VULKAN
|
|
GrBackendRenderTarget(int width,
|
|
int height,
|
|
int sampleCnt,
|
|
int stencilBits,
|
|
const GrVkImageInfo& vkInfo);
|
|
#endif
|
|
|
|
int width() const { return fWidth; }
|
|
int height() const { return fHeight; }
|
|
int sampleCnt() const { return fSampleCnt; }
|
|
int stencilBits() const { return fStencilBits; }
|
|
GrPixelConfig config() const { return fConfig; }
|
|
GrBackend backend() const {return fBackend; }
|
|
|
|
// If the backend API is GL, this returns a pointer to the GrGLFramebufferInfo struct. Otherwise
|
|
// it returns nullptr.
|
|
const GrGLFramebufferInfo* getGLFramebufferInfo() const;
|
|
|
|
#ifdef SK_VULKAN
|
|
// If the backend API is Vulkan, this returns a pointer to the GrVkImageInfo struct. Otherwise
|
|
// it returns nullptr
|
|
const GrVkImageInfo* getVkImageInfo() const;
|
|
#endif
|
|
|
|
private:
|
|
// Temporary constructor which can be used to convert from a GrBackendRenderTargetDesc.
|
|
GrBackendRenderTarget(const GrBackendRenderTargetDesc& desc, GrBackend backend);
|
|
|
|
// Friending for access to above constructor taking a GrBackendTextureDesc
|
|
friend class SkSurface;
|
|
|
|
int fWidth; //<! width in pixels
|
|
int fHeight; //<! height in pixels
|
|
|
|
int fSampleCnt;
|
|
int fStencilBits;
|
|
GrPixelConfig fConfig;
|
|
|
|
GrBackend fBackend;
|
|
|
|
union {
|
|
GrGLFramebufferInfo fGLInfo;
|
|
#ifdef SK_VULKAN
|
|
GrVkImageInfo fVkInfo;
|
|
#endif
|
|
};
|
|
};
|
|
|
|
#endif
|
|
|