Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: src/gpu/GrTextureProvider.cpp

Issue 1709163003: Add wrapBackendTextureAsRenderTarget API (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Remove assert that is no longer true Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "GrTextureProvider.h" 8 #include "GrTextureProvider.h"
9 #include "GrTexturePriv.h" 9 #include "GrTexturePriv.h"
10 #include "GrResourceCache.h" 10 #include "GrResourceCache.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 } 131 }
132 return fGpu->wrapBackendTexture(desc, ownership); 132 return fGpu->wrapBackendTexture(desc, ownership);
133 } 133 }
134 134
135 GrRenderTarget* GrTextureProvider::wrapBackendRenderTarget(const GrBackendRender TargetDesc& desc) { 135 GrRenderTarget* GrTextureProvider::wrapBackendRenderTarget(const GrBackendRender TargetDesc& desc) {
136 ASSERT_SINGLE_OWNER 136 ASSERT_SINGLE_OWNER
137 return this->isAbandoned() ? nullptr : fGpu->wrapBackendRenderTarget(desc, 137 return this->isAbandoned() ? nullptr : fGpu->wrapBackendRenderTarget(desc,
138 kBorrow _GrWrapOwnership); 138 kBorrow _GrWrapOwnership);
139 } 139 }
140 140
141 GrRenderTarget* GrTextureProvider::wrapBackendTextureAsRenderTarget(const GrBack endTextureDesc& desc,
142 GrWrapOwners hip ownership) {
143 ASSERT_SINGLE_OWNER
144 if (this->isAbandoned()) {
145 return nullptr;
146 }
147 return fGpu->wrapBackendTextureAsRenderTarget(desc, ownership);
148 }
149
141 void GrTextureProvider::assignUniqueKeyToResource(const GrUniqueKey& key, GrGpuR esource* resource) { 150 void GrTextureProvider::assignUniqueKeyToResource(const GrUniqueKey& key, GrGpuR esource* resource) {
142 ASSERT_SINGLE_OWNER 151 ASSERT_SINGLE_OWNER
143 if (this->isAbandoned() || !resource) { 152 if (this->isAbandoned() || !resource) {
144 return; 153 return;
145 } 154 }
146 resource->resourcePriv().setUniqueKey(key); 155 resource->resourcePriv().setUniqueKey(key);
147 } 156 }
148 157
149 bool GrTextureProvider::existsResourceWithUniqueKey(const GrUniqueKey& key) cons t { 158 bool GrTextureProvider::existsResourceWithUniqueKey(const GrUniqueKey& key) cons t {
150 ASSERT_SINGLE_OWNER 159 ASSERT_SINGLE_OWNER
151 return this->isAbandoned() ? false : fCache->hasUniqueKey(key); 160 return this->isAbandoned() ? false : fCache->hasUniqueKey(key);
152 } 161 }
153 162
154 GrGpuResource* GrTextureProvider::findAndRefResourceByUniqueKey(const GrUniqueKe y& key) { 163 GrGpuResource* GrTextureProvider::findAndRefResourceByUniqueKey(const GrUniqueKe y& key) {
155 ASSERT_SINGLE_OWNER 164 ASSERT_SINGLE_OWNER
156 return this->isAbandoned() ? nullptr : fCache->findAndRefUniqueResource(key) ; 165 return this->isAbandoned() ? nullptr : fCache->findAndRefUniqueResource(key) ;
157 } 166 }
158 167
159 GrTexture* GrTextureProvider::findAndRefTextureByUniqueKey(const GrUniqueKey& ke y) { 168 GrTexture* GrTextureProvider::findAndRefTextureByUniqueKey(const GrUniqueKey& ke y) {
160 ASSERT_SINGLE_OWNER 169 ASSERT_SINGLE_OWNER
161 GrGpuResource* resource = this->findAndRefResourceByUniqueKey(key); 170 GrGpuResource* resource = this->findAndRefResourceByUniqueKey(key);
162 if (resource) { 171 if (resource) {
163 GrTexture* texture = static_cast<GrSurface*>(resource)->asTexture(); 172 GrTexture* texture = static_cast<GrSurface*>(resource)->asTexture();
164 SkASSERT(texture); 173 SkASSERT(texture);
165 return texture; 174 return texture;
166 } 175 }
167 return NULL; 176 return NULL;
168 } 177 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698