GrVkIndexBuffer.h 863 B

12345678910111213141516171819202122232425262728293031323334353637
  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. #ifndef GrVkIndexBuffer_DEFINED
  8. #define GrVkIndexBuffer_DEFINED
  9. #include "src/gpu/GrGpuBuffer.h"
  10. #include "src/gpu/vk/GrVkBuffer.h"
  11. class GrVkGpu;
  12. class GrVkIndexBuffer : public GrGpuBuffer, public GrVkBuffer {
  13. public:
  14. static sk_sp<GrVkIndexBuffer> Make(GrVkGpu* gpu, size_t size, bool dynamic);
  15. protected:
  16. void onAbandon() override;
  17. void onRelease() override;
  18. private:
  19. GrVkIndexBuffer(GrVkGpu* gpu, const GrVkBuffer::Desc& desc,
  20. const GrVkBuffer::Resource* resource);
  21. void onMap() override;
  22. void onUnmap() override;
  23. bool onUpdateData(const void* src, size_t srcSizeInBytes) override;
  24. GrVkGpu* getVkGpu() const;
  25. typedef GrGpuBuffer INHERITED;
  26. };
  27. #endif