1 /* 2 * Copyright 2020 Google LLC 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 8 #ifndef GrVkManagedResource_DEFINED 9 #define GrVkManagedResource_DEFINED 10 11 #include "src/gpu/GrManagedResource.h" 12 13 class GrVkGpu; 14 15 class GrVkManagedResource : public GrManagedResource { 16 public: GrVkManagedResource(const GrVkGpu * gpu)17 GrVkManagedResource(const GrVkGpu* gpu) : fGpu(gpu) {} 18 19 protected: 20 const GrVkGpu* fGpu; // pointer to gpu object that can be used 21 // in subclass's freeGPUData() 22 23 private: 24 using INHERITED = GrManagedResource; 25 }; 26 27 class GrVkRecycledResource : public GrRecycledResource { 28 public: GrVkRecycledResource(GrVkGpu * gpu)29 GrVkRecycledResource(GrVkGpu* gpu) : fGpu(gpu) {} 30 31 protected: 32 GrVkGpu* fGpu; // pointer to gpu object that can be used 33 // in subclass's freeGPUData() and onRecycle(). 34 // mustn't be const 35 }; 36 37 #endif 38