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

Side by Side Diff: src/gpu/GrResourceProvider.h

Issue 1260183006: Move atlas creation to internal to GrResourceProvider (Closed) Base URL: https://skia.googlesource.com/skia.git@debugatlas
Patch Set: tweak Created 5 years, 4 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
« no previous file with comments | « src/gpu/GrBatchFontCache.cpp ('k') | src/gpu/GrResourceProvider.cpp » ('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 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 GrResourceProvider_DEFINED 8 #ifndef GrResourceProvider_DEFINED
9 #define GrResourceProvider_DEFINED 9 #define GrResourceProvider_DEFINED
10 10
11 #include "GrBatchAtlas.h"
11 #include "GrIndexBuffer.h" 12 #include "GrIndexBuffer.h"
12 #include "GrTextureProvider.h" 13 #include "GrTextureProvider.h"
13 #include "GrPathRange.h" 14 #include "GrPathRange.h"
14 15
16 class GrBatchAtlas;
15 class GrIndexBuffer; 17 class GrIndexBuffer;
16 class GrPath; 18 class GrPath;
17 class GrStrokeInfo; 19 class GrStrokeInfo;
18 class GrVertexBuffer; 20 class GrVertexBuffer;
19 class SkDescriptor; 21 class SkDescriptor;
20 class SkPath; 22 class SkPath;
21 class SkTypeface; 23 class SkTypeface;
22 24
23 /** 25 /**
24 * An extension of the texture provider for arbitrary resource types. This class is intended for 26 * An extension of the texture provider for arbitrary resource types. This class is intended for
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 kDynamic_BufferUsage, 108 kDynamic_BufferUsage,
107 }; 109 };
108 GrIndexBuffer* createIndexBuffer(size_t size, BufferUsage, uint32_t flags); 110 GrIndexBuffer* createIndexBuffer(size_t size, BufferUsage, uint32_t flags);
109 GrVertexBuffer* createVertexBuffer(size_t size, BufferUsage, uint32_t flags) ; 111 GrVertexBuffer* createVertexBuffer(size_t size, BufferUsage, uint32_t flags) ;
110 112
111 GrTexture* createApproxTexture(const GrSurfaceDesc& desc, uint32_t flags) { 113 GrTexture* createApproxTexture(const GrSurfaceDesc& desc, uint32_t flags) {
112 SkASSERT(0 == flags || kNoPendingIO_Flag == flags); 114 SkASSERT(0 == flags || kNoPendingIO_Flag == flags);
113 return this->internalCreateApproxTexture(desc, flags); 115 return this->internalCreateApproxTexture(desc, flags);
114 } 116 }
115 117
118 /** Returns a GrBatchAtlas. This function can be called anywhere, but the r eturned atlas should
119 * only be used inside of GrBatch::generateGeometry
120 * @param GrPixelConfig The pixel config which this atlas will store
121 * @param width width in pixels of the atlas
122 * @param height height in pixels of the atlas
123 * @param numPlotsX The number of plots the atlas should be broken up into in the X
124 * direction
125 * @param numPlotsY The number of plots the atlas should be broken up into in the Y
126 * direction
127 * @param func An eviction function which will be called whene ver the atlas has to
128 * evict data
129 * @param data User supplied data which will be passed into fu nc whenver an
130 * eviction occurs
131 *
132 * @return An initialized GrBatchAtlas, or NULL if creatio n fails
133 */
134 GrBatchAtlas* createAtlas(GrPixelConfig, int width, int height, int numPlots X, int numPlotsY,
135 GrBatchAtlas::EvictionFunc func, void* data);
136
116 private: 137 private:
117 const GrIndexBuffer* createInstancedIndexBuffer(const uint16_t* pattern, 138 const GrIndexBuffer* createInstancedIndexBuffer(const uint16_t* pattern,
118 int patternSize, 139 int patternSize,
119 int reps, 140 int reps,
120 int vertCount, 141 int vertCount,
121 const GrUniqueKey& key); 142 const GrUniqueKey& key);
122 143
123 const GrIndexBuffer* createQuadIndexBuffer(); 144 const GrIndexBuffer* createQuadIndexBuffer();
124 145
125 GrUniqueKey fQuadIndexBufferKey; 146 GrUniqueKey fQuadIndexBufferKey;
126 147
127 typedef GrTextureProvider INHERITED; 148 typedef GrTextureProvider INHERITED;
128 }; 149 };
129 150
130 #endif 151 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrBatchFontCache.cpp ('k') | src/gpu/GrResourceProvider.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698