1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- * Copyright 2016 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef GrVkImageView_DEFINED
- #define GrVkImageView_DEFINED
- #include "include/gpu/GrTypes.h"
- #include "include/gpu/vk/GrVkTypes.h"
- #include "src/gpu/vk/GrVkResource.h"
- class GrVkSamplerYcbcrConversion;
- struct GrVkYcbcrConversionInfo;
- class GrVkImageView : public GrVkResource {
- public:
- enum Type {
- kColor_Type,
- kStencil_Type
- };
- static const GrVkImageView* Create(GrVkGpu* gpu, VkImage image, VkFormat format,
- Type viewType, uint32_t miplevels,
- const GrVkYcbcrConversionInfo& ycbcrInfo);
- VkImageView imageView() const { return fImageView; }
- #ifdef SK_TRACE_VK_RESOURCES
- void dumpInfo() const override {
- SkDebugf("GrVkImageView: %d (%d refs)\n", fImageView, this->getRefCnt());
- }
- #endif
- private:
- GrVkImageView(VkImageView imageView, GrVkSamplerYcbcrConversion* ycbcrConversion)
- : INHERITED(), fImageView(imageView), fYcbcrConversion(ycbcrConversion) {}
- GrVkImageView(const GrVkImageView&);
- GrVkImageView& operator=(const GrVkImageView&);
- void freeGPUData(GrVkGpu* gpu) const override;
- void abandonGPUData() const override;
- VkImageView fImageView;
- GrVkSamplerYcbcrConversion* fYcbcrConversion;
- typedef GrVkResource INHERITED;
- };
- #endif
|