text: /*
  * 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 "GrTypes.h"
  
  #include "GrVkResource.h"
  
  #include "vk/GrVkDefines.h"
  
  class GrVkImageView : public GrVkResource {
  public:
      enum Type {
          kColor_Type,
          kStencil_Type
      };
  
      static const GrVkImageView* Create(const GrVkGpu* gpu, VkImage image, VkFormat format,
                                         Type viewType, uint32_t miplevels);
  
      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) : INHERITED(), fImageView(imageView) {}
  
      GrVkImageView(const GrVkImageView&);
      GrVkImageView& operator=(const GrVkImageView&);
  
      void freeGPUData(const GrVkGpu* gpu) const override;
  
      VkImageView  fImageView;
  
      typedef GrVkResource INHERITED;
  };
  
  #endif
  