skia2/include/gpu/GrBackendSurface.h
Robert Phillips fad9e3f541 Revert "Update skia to use ifdefs for Vulkan code instead of dummy header"
This reverts commit c0f8e426c5.

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>
2017-06-13 22:16:19 +00:00

112 lines
3.4 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"
#include "vk/GrVkTypes.h"
class GrBackendTexture {
public:
GrBackendTexture(int width,
int height,
const GrVkImageInfo& vkInfo);
GrBackendTexture(int width,
int height,
GrPixelConfig config,
const GrGLTextureInfo& glInfo);
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 Vulkan, this returns a pointer to the GrVkImageInfo struct. Otherwise
// it returns nullptr.
const GrVkImageInfo* getVkImageInfo() const;
// If the backend API is GL, this returns a pointer to the GrGLTextureInfo struct. Otherwise
// it returns nullptr.
const GrGLTextureInfo* getGLTextureInfo() const;
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 {
GrVkImageInfo fVkInfo;
GrGLTextureInfo fGLInfo;
};
};
class GrBackendRenderTarget {
public:
GrBackendRenderTarget(int width,
int height,
int sampleCnt,
int stencilBits,
const GrVkImageInfo& vkInfo);
GrBackendRenderTarget(int width,
int height,
int sampleCnt,
int stencilBits,
GrPixelConfig config,
const GrGLFramebufferInfo& glInfo);
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 Vulkan, this returns a pointer to the GrVkImageInfo struct. Otherwise
// it returns nullptr
const GrVkImageInfo* getVkImageInfo() const;
// If the backend API is GL, this returns a pointer to the GrGLFramebufferInfo struct. Otherwise
// it returns nullptr.
const GrGLFramebufferInfo* getGLFramebufferInfo() const;
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 {
GrVkImageInfo fVkInfo;
GrGLFramebufferInfo fGLInfo;
};
};
#endif