1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot* Copyright 2016 Google Inc. 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot* 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot* Use of this source code is governed by a BSD-style license that can be 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot* found in the LICENSE file. 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot*/ 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "GrVkDescriptorSet.h" 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "GrVkDescriptorPool.h" 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "GrVkGpu.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "GrVkResourceProvider.h" 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team RobotGrVkDescriptorSet::GrVkDescriptorSet(VkDescriptorSet descSet, 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot GrVkDescriptorPool* pool, 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot GrVkDescriptorSetManager::Handle handle) 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot : fDescSet(descSet) 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot , fPool(pool) 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot , fHandle(handle) { 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot fPool->ref(); 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot} 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotvoid GrVkDescriptorSet::freeGPUData(const GrVkGpu* gpu) const { 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot fPool->unref(gpu); 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot} 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotvoid GrVkDescriptorSet::onRecycle(GrVkGpu* gpu) const { 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot gpu->resourceProvider().recycleDescriptorSet(this, fHandle); 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot} 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotvoid GrVkDescriptorSet::abandonGPUData() const { 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot fPool->unrefAndAbandon(); 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot} 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 35