GrVkBufferView.h 999 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright 2017 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 GrVkBufferView_DEFINED
  8. #define GrVkBufferView_DEFINED
  9. #include "include/gpu/GrTypes.h"
  10. #include "include/gpu/vk/GrVkTypes.h"
  11. #include "src/gpu/vk/GrVkResource.h"
  12. class GrVkBufferView : public GrVkResource {
  13. public:
  14. static const GrVkBufferView* Create(const GrVkGpu* gpu, VkBuffer buffer, VkFormat format,
  15. VkDeviceSize offset, VkDeviceSize range);
  16. VkBufferView bufferView() const { return fBufferView; }
  17. #ifdef SK_TRACE_VK_RESOURCES
  18. void dumpInfo() const override {
  19. SkDebugf("GrVkBufferView: %d (%d refs)\n", fBufferView, this->getRefCnt());
  20. }
  21. #endif
  22. private:
  23. GrVkBufferView(VkBufferView bufferView) : INHERITED(), fBufferView(bufferView) {}
  24. void freeGPUData(GrVkGpu* gpu) const override;
  25. VkBufferView fBufferView;
  26. typedef GrVkResource INHERITED;
  27. };
  28. #endif