Home | History | Annotate | Download | only in vk
      1 /*
      2  * Copyright 2015 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 GrVkIndexBuffer_DEFINED
      9 #define GrVkIndexBuffer_DEFINED
     10 
     11 #include "GrIndexBuffer.h"
     12 #include "GrVkBuffer.h"
     13 #include "vk/GrVkInterface.h"
     14 
     15 class GrVkGpu;
     16 
     17 class GrVkIndexBuffer : public GrIndexBuffer, public GrVkBuffer {
     18 
     19 public:
     20     static GrVkIndexBuffer* Create(GrVkGpu* gpu, size_t size, bool dynamic);
     21 
     22 protected:
     23     void onAbandon() override;
     24     void onRelease() override;
     25 
     26 private:
     27     GrVkIndexBuffer(GrVkGpu* gpu, const GrVkBuffer::Desc& desc,
     28                     const GrVkBuffer::Resource* resource);
     29 
     30     void* onMap() override;
     31     void onUnmap() override;
     32     bool onUpdateData(const void* src, size_t srcSizeInBytes) override;
     33 
     34     GrVkGpu* getVkGpu() const;
     35 
     36     typedef GrIndexBuffer INHERITED;
     37 };
     38 
     39 #endif
     40