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

Side by Side Diff: include/gpu/GrTextureProvider.h

Issue 1187523005: Add support for creating texture backed images where Skia will delete the texture. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: tiny Created 5 years, 6 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 #ifndef GrTextureProvider_DEFINED 8 #ifndef GrTextureProvider_DEFINED
9 #define GrTextureProvider_DEFINED 9 #define GrTextureProvider_DEFINED
10 10
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 99
100 /////////////////////////////////////////////////////////////////////////// 100 ///////////////////////////////////////////////////////////////////////////
101 // Wrapped Backend Surfaces 101 // Wrapped Backend Surfaces
102 102
103 /** 103 /**
104 * Wraps an existing texture with a GrTexture object. 104 * Wraps an existing texture with a GrTexture object.
105 * 105 *
106 * OpenGL: if the object is a texture Gr may change its GL texture params 106 * OpenGL: if the object is a texture Gr may change its GL texture params
107 * when it is drawn. 107 * when it is drawn.
108 * 108 *
109 * @param desc description of the object to create.
110 *
111 * @return GrTexture object or NULL on failure. 109 * @return GrTexture object or NULL on failure.
112 */ 110 */
113 GrTexture* wrapBackendTexture(const GrBackendTextureDesc& desc); 111 GrTexture* wrapBackendTexture(const GrBackendTextureDesc& desc, GrWrapOwners hip);
114 112
115 /** 113 /**
116 * Wraps an existing render target with a GrRenderTarget object. It is 114 * Wraps an existing render target with a GrRenderTarget object. It is
117 * similar to wrapBackendTexture but can be used to draw into surfaces 115 * similar to wrapBackendTexture but can be used to draw into surfaces
118 * that are not also textures (e.g. FBO 0 in OpenGL, or an MSAA buffer that 116 * that are not also textures (e.g. FBO 0 in OpenGL, or an MSAA buffer that
119 * the client will resolve to a texture). 117 * the client will resolve to a texture).
120 * 118 *
121 * @param desc description of the object to create.
122 *
123 * @return GrTexture object or NULL on failure. 119 * @return GrTexture object or NULL on failure.
124 */ 120 */
125 GrRenderTarget* wrapBackendRenderTarget(const GrBackendRenderTargetDesc& de sc); 121 GrRenderTarget* wrapBackendRenderTarget(const GrBackendRenderTargetDesc& de sc,
122 GrWrapOwnership);
126 123
127 protected: 124 protected:
128 GrTextureProvider(GrGpu* gpu, GrResourceCache* cache) : fCache(cache), fGpu( gpu) {} 125 GrTextureProvider(GrGpu* gpu, GrResourceCache* cache) : fCache(cache), fGpu( gpu) {}
129 126
130 /** 127 /**
131 * Assigns a unique key to a resource. If the key is associated with another resource that 128 * Assigns a unique key to a resource. If the key is associated with another resource that
132 * association is removed and replaced by this resource. 129 * association is removed and replaced by this resource.
133 */ 130 */
134 void assignUniqueKeyToResource(const GrUniqueKey&, GrGpuResource*); 131 void assignUniqueKeyToResource(const GrUniqueKey&, GrGpuResource*);
135 132
(...skipping 28 matching lines...) Expand all
164 bool isAbandoned() const { 161 bool isAbandoned() const {
165 SkASSERT(SkToBool(fGpu) == SkToBool(fCache)); 162 SkASSERT(SkToBool(fGpu) == SkToBool(fCache));
166 return !SkToBool(fCache); 163 return !SkToBool(fCache);
167 } 164 }
168 165
169 GrResourceCache* fCache; 166 GrResourceCache* fCache;
170 GrGpu* fGpu; 167 GrGpu* fGpu;
171 }; 168 };
172 169
173 #endif 170 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698