GrVkImageView.h revision 48cf268defad66f58f1aa03b4835e5583be96b2f
1/* 2* Copyright 2016 Google Inc. 3* 4* Use of this source code is governed by a BSD-style license that can be 5* found in the LICENSE file. 6*/ 7 8#ifndef GrVkImageView_DEFINED 9#define GrVkImageView_DEFINED 10 11#include "GrTypes.h" 12 13#include "GrVkResource.h" 14 15#include "vulkan/vulkan.h" 16 17class GrVkImageView : public GrVkResource { 18public: 19 enum Type { 20 kColor_Type, 21 kStencil_Type 22 }; 23 24 static const GrVkImageView* Create(GrVkGpu* gpu, VkImage image, VkFormat format, Type viewType); 25 26 VkImageView imageView() const { return fImageView; } 27 28private: 29 GrVkImageView(VkImageView imageView) : INHERITED(), fImageView(imageView) {} 30 31 GrVkImageView(const GrVkImageView&); 32 GrVkImageView& operator=(const GrVkImageView&); 33 34 void freeGPUData(const GrVkGpu* gpu) const override; 35 36 VkImageView fImageView; 37 38 typedef GrVkResource INHERITED; 39}; 40 41#endif