blob: ce029fc37bad67765363f1843416b15d95fb6bb5 [file] [log] [blame]
egdaniela95220d2016-07-21 11:50:37 -07001/*
2* Copyright 2016 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
Mike Kleinc0bd9f92019-04-23 12:05:21 -05008#include "src/gpu/vk/GrVkDescriptorSet.h"
egdaniela95220d2016-07-21 11:50:37 -07009
Mike Kleinc0bd9f92019-04-23 12:05:21 -050010#include "src/gpu/vk/GrVkDescriptorPool.h"
11#include "src/gpu/vk/GrVkGpu.h"
12#include "src/gpu/vk/GrVkResourceProvider.h"
egdaniela95220d2016-07-21 11:50:37 -070013
14GrVkDescriptorSet::GrVkDescriptorSet(VkDescriptorSet descSet,
15 GrVkDescriptorPool* pool,
16 GrVkDescriptorSetManager::Handle handle)
17 : fDescSet(descSet)
18 , fPool(pool)
19 , fHandle(handle) {
20 fPool->ref();
21}
22
Jim Van Verth3e192162020-03-10 16:23:16 -040023void GrVkDescriptorSet::freeGPUData(GrGpu* gpu) const {
egdaniela95220d2016-07-21 11:50:37 -070024 fPool->unref(gpu);
25}
26
Jim Van Verth3e192162020-03-10 16:23:16 -040027void GrVkDescriptorSet::onRecycle(GrGpu* gpu) const {
28 GrVkGpu* vkGpu = (GrVkGpu*)gpu;
29 vkGpu->resourceProvider().recycleDescriptorSet(this, fHandle);
egdaniela95220d2016-07-21 11:50:37 -070030}
31