blob: 5b70e56f10b329edc706538b0dd31bfdf5ec6d8a [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
Jim Van Verth5082df12020-03-11 16:14:51 -040014GrVkDescriptorSet::GrVkDescriptorSet(GrVkGpu* gpu,
15 VkDescriptorSet descSet,
egdaniela95220d2016-07-21 11:50:37 -070016 GrVkDescriptorPool* pool,
17 GrVkDescriptorSetManager::Handle handle)
Jim Van Verth5082df12020-03-11 16:14:51 -040018 : INHERITED(gpu)
19 , fDescSet(descSet)
egdaniela95220d2016-07-21 11:50:37 -070020 , fPool(pool)
21 , fHandle(handle) {
22 fPool->ref();
23}
24
Jim Van Verth5082df12020-03-11 16:14:51 -040025void GrVkDescriptorSet::freeGPUData() const {
26 fPool->unref();
egdaniela95220d2016-07-21 11:50:37 -070027}
28
Jim Van Verth5082df12020-03-11 16:14:51 -040029void GrVkDescriptorSet::onRecycle() const {
30 fGpu->resourceProvider().recycleDescriptorSet(this, fHandle);
egdaniela95220d2016-07-21 11:50:37 -070031}
32