OLD | NEW |
| (Empty) |
1 | |
2 /* | |
3 * Copyright 2014 Google Inc. | |
4 * | |
5 * Use of this source code is governed by a BSD-style license that can be | |
6 * found in the LICENSE file. | |
7 */ | |
8 | |
9 | |
10 #include "GrResourceCache2.h" | |
11 #include "GrGpuResource.h" | |
12 | |
13 GrResourceCache2::~GrResourceCache2() { | |
14 this->releaseAll(); | |
15 } | |
16 | |
17 void GrResourceCache2::insertResource(GrGpuResource* resource) { | |
18 SkASSERT(NULL != resource); | |
19 SkASSERT(!resource->wasDestroyed()); | |
20 fResources.addToHead(resource); | |
21 ++fCount; | |
22 } | |
23 | |
24 void GrResourceCache2::removeResource(GrGpuResource* resource) { | |
25 fResources.remove(resource); | |
26 --fCount; | |
27 } | |
28 | |
29 void GrResourceCache2::abandonAll() { | |
30 while (GrGpuResource* head = fResources.head()) { | |
31 SkASSERT(!head->wasDestroyed()); | |
32 head->abandon(); | |
33 // abandon should have already removed this from the list. | |
34 SkASSERT(head != fResources.head()); | |
35 } | |
36 SkASSERT(!fCount); | |
37 } | |
38 | |
39 void GrResourceCache2::releaseAll() { | |
40 while (GrGpuResource* head = fResources.head()) { | |
41 SkASSERT(!head->wasDestroyed()); | |
42 head->release(); | |
43 // release should have already removed this from the list. | |
44 SkASSERT(head != fResources.head()); | |
45 } | |
46 SkASSERT(!fCount); | |
47 } | |
OLD | NEW |