1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- * 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 GrVkDescriptorSet_DEFINED
- #define GrVkDescriptorSet_DEFINED
- #include "include/gpu/vk/GrVkTypes.h"
- #include "src/gpu/vk/GrVkDescriptorSetManager.h"
- #include "src/gpu/vk/GrVkResource.h"
- class GrVkDescriptorPool;
- class GrVkGpu;
- class GrVkDescriptorSet : public GrVkRecycledResource {
- public:
- GrVkDescriptorSet(VkDescriptorSet descSet,
- GrVkDescriptorPool* pool,
- GrVkDescriptorSetManager::Handle handle);
- ~GrVkDescriptorSet() override {}
- VkDescriptorSet descriptorSet() const { return fDescSet; }
- #ifdef SK_TRACE_VK_RESOURCES
- void dumpInfo() const override {
- SkDebugf("GrVkDescriptorSet: %d (%d refs)\n", fDescSet, this->getRefCnt());
- }
- #endif
- private:
- void freeGPUData(GrVkGpu* gpu) const override;
- void abandonGPUData() const override;
- void onRecycle(GrVkGpu* gpu) const override;
- VkDescriptorSet fDescSet;
- SkDEBUGCODE(mutable) GrVkDescriptorPool* fPool;
- GrVkDescriptorSetManager::Handle fHandle;
- };
- #endif
|