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

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

Issue 227603006: hack Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: yet more hackage Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « include/core/SkPicture.h ('k') | include/gpu/GrRect.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2010 Google Inc. 2 * Copyright 2010 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 GrContext_DEFINED 8 #ifndef GrContext_DEFINED
9 #define GrContext_DEFINED 9 #define GrContext_DEFINED
10 10
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 122
123 /** 123 /**
124 * Creates a new entry, based on the specified key and texture and returns i t. The caller owns a 124 * Creates a new entry, based on the specified key and texture and returns i t. The caller owns a
125 * ref on the returned texture which must be balanced by a call to unref. 125 * ref on the returned texture which must be balanced by a call to unref.
126 * 126 *
127 * @param params The texture params used to draw a texture may help deter mine 127 * @param params The texture params used to draw a texture may help deter mine
128 * the cache entry used. (e.g. different versions may exist 128 * the cache entry used. (e.g. different versions may exist
129 * for different wrap modes on GPUs with limited NPOT 129 * for different wrap modes on GPUs with limited NPOT
130 * texture support). NULL implies clamp wrap modes. 130 * texture support). NULL implies clamp wrap modes.
131 * @param desc Description of the texture properties. 131 * @param desc Description of the texture properties.
132 * @param cacheID Cache-specific properties (e.g., texture gen ID) 132 * @param cacheID Cache-specific properties (e.g., texture gen ID)
133 * @param srcData Pointer to the pixel values. 133 * @param srcData Pointer to the pixel values.
134 * @param rowBytes The number of bytes between rows of the texture. Zero 134 * @param rowBytes The number of bytes between rows of the texture. Zero
135 * implies tightly packed rows. 135 * implies tightly packed rows.
136 * @param cacheKey (optional) If non-NULL, we'll write the cache key we use d to cacheKey. 136 * @param cacheKey (optional) If non-NULL, we'll write the cache key we use d to cacheKey.
137 */ 137 */
138 GrTexture* createTexture(const GrTextureParams* params, 138 GrTexture* createTexture(const GrTextureParams* params,
139 const GrTextureDesc& desc, 139 const GrTextureDesc& desc,
140 const GrCacheID& cacheID, 140 const GrCacheID& cacheID,
141 void* srcData, 141 void* srcData,
142 size_t rowBytes, 142 size_t rowBytes,
143 GrResourceKey* cacheKey = NULL); 143 GrResourceKey* cacheKey = NULL);
144 144
145 /** 145 /**
146 * Search for an entry based on key and dimensions. If found, ref it and ret urn it. The return 146 * Search for an entry based on key and dimensions. If found, ref it and ret urn it. The return
147 * value will be NULL if not found. The caller must balance with a call to u nref. 147 * value will be NULL if not found. The caller must balance with a call to u nref.
148 * 148 *
149 * @param desc Description of the texture properties. 149 * @param desc Description of the texture properties.
150 * @param cacheID Cache-specific properties (e.g., texture gen ID) 150 * @param cacheID Cache-specific properties (e.g., texture gen ID)
151 * @param params The texture params used to draw a texture may help deter mine 151 * @param params The texture params used to draw a texture may help deter mine
152 * the cache entry used. (e.g. different versions may exist 152 * the cache entry used. (e.g. different versions may exist
153 * for different wrap modes on GPUs with limited NPOT 153 * for different wrap modes on GPUs with limited NPOT
154 * texture support). NULL implies clamp wrap modes. 154 * texture support). NULL implies clamp wrap modes.
155 */ 155 */
156 GrTexture* findAndRefTexture(const GrTextureDesc& desc, 156 GrTexture* findAndRefTexture(const GrTextureDesc& desc,
157 const GrCacheID& cacheID, 157 const GrCacheID& cacheID,
158 const GrTextureParams* params); 158 const GrTextureParams* params);
159 /** 159 /**
160 * Determines whether a texture is in the cache. If the texture is found it 160 * Determines whether a texture is in the cache. If the texture is found it
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 void setMaxTextureSizeOverride(int maxTextureSizeOverride); 276 void setMaxTextureSizeOverride(int maxTextureSizeOverride);
277 277
278 /////////////////////////////////////////////////////////////////////////// 278 ///////////////////////////////////////////////////////////////////////////
279 // Render targets 279 // Render targets
280 280
281 /** 281 /**
282 * Sets the render target. 282 * Sets the render target.
283 * @param target the render target to set. 283 * @param target the render target to set.
284 */ 284 */
285 void setRenderTarget(GrRenderTarget* target) { 285 void setRenderTarget(GrRenderTarget* target) {
286 fRenderTarget.reset(SkSafeRef(target)); 286 // SkDebugf("GrContext::setRenderTarget\n");
287 fRenderTarget1.reset(SkSafeRef(target));
287 } 288 }
288 289
289 /** 290 /**
290 * Gets the current render target. 291 * Gets the current render target.
291 * @return the currently bound render target. 292 * @return the currently bound render target.
292 */ 293 */
293 const GrRenderTarget* getRenderTarget() const { return fRenderTarget.get(); } 294 const GrRenderTarget* getRenderTarget() const { return fRenderTarget1.get(); }
294 GrRenderTarget* getRenderTarget() { return fRenderTarget.get(); } 295 GrRenderTarget* getRenderTarget() { return fRenderTarget1.get(); }
295 296
296 GrAARectRenderer* getAARectRenderer() { return fAARectRenderer; } 297 GrAARectRenderer* getAARectRenderer() { return fAARectRenderer; }
297 298
298 /** 299 /**
299 * Can the provided configuration act as a color render target? 300 * Can the provided configuration act as a color render target?
300 */ 301 */
301 bool isConfigRenderable(GrPixelConfig config, bool withMSAA) const; 302 bool isConfigRenderable(GrPixelConfig config, bool withMSAA) const;
302 303
303 /** 304 /**
304 * Return the max width or height of a render target supported by the 305 * Return the max width or height of a render target supported by the
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
896 private: 897 private:
897 // Used to indicate whether a draw should be performed immediately or queued in fDrawBuffer. 898 // Used to indicate whether a draw should be performed immediately or queued in fDrawBuffer.
898 enum BufferedDraw { 899 enum BufferedDraw {
899 kYes_BufferedDraw, 900 kYes_BufferedDraw,
900 kNo_BufferedDraw, 901 kNo_BufferedDraw,
901 }; 902 };
902 BufferedDraw fLastDrawWasBuffered; 903 BufferedDraw fLastDrawWasBuffered;
903 904
904 GrGpu* fGpu; 905 GrGpu* fGpu;
905 SkMatrix fViewMatrix; 906 SkMatrix fViewMatrix;
906 SkAutoTUnref<GrRenderTarget> fRenderTarget; 907 SkAutoTUnref<GrRenderTarget> fRenderTarget1;
907 const GrClipData* fClip; // TODO: make this ref counted 908 const GrClipData* fClip; // TODO: make this ref counted
908 GrDrawState* fDrawState; 909 GrDrawState* fDrawState;
909 910
910 GrResourceCache* fTextureCache; 911 GrResourceCache* fTextureCache;
911 GrFontCache* fFontCache; 912 GrFontCache* fFontCache;
912 SkAutoTDelete<GrLayerCache> fLayerCache; 913 SkAutoTDelete<GrLayerCache> fLayerCache;
913 914
914 GrPathRendererChain* fPathRendererChain; 915 GrPathRendererChain* fPathRendererChain;
915 GrSoftwarePathRenderer* fSoftwarePathRenderer; 916 GrSoftwarePathRenderer* fSoftwarePathRenderer;
916 917
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 } 1079 }
1079 1080
1080 GrTexture* texture() { return fTexture; } 1081 GrTexture* texture() { return fTexture; }
1081 1082
1082 private: 1083 private:
1083 GrContext* fContext; 1084 GrContext* fContext;
1084 GrTexture* fTexture; 1085 GrTexture* fTexture;
1085 }; 1086 };
1086 1087
1087 #endif 1088 #endif
OLDNEW
« no previous file with comments | « include/core/SkPicture.h ('k') | include/gpu/GrRect.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698