| Index: src/gpu/GrGpu.h
|
| diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h
|
| index 3903af6344bd015f37c9227dc8a5d7a787d5c8ce..b2dbec65fb1566b5a74083c8e32865cc0400f1ae 100644
|
| --- a/src/gpu/GrGpu.h
|
| +++ b/src/gpu/GrGpu.h
|
| @@ -117,6 +117,34 @@
|
| * @return The index buffer if successful, otherwise NULL.
|
| */
|
| GrIndexBuffer* createIndexBuffer(size_t size, bool dynamic);
|
| +
|
| + /**
|
| + * Creates an index buffer for instance drawing with a specific pattern.
|
| + *
|
| + * @param pattern the pattern to repeat
|
| + * @param patternSize size in bytes of the pattern
|
| + * @param reps number of times to repeat the pattern
|
| + * @param vertCount number of vertices the pattern references
|
| + * @param dynamic hints whether the data will be frequently changed
|
| + * by either GrIndexBuffer::map() or
|
| + * GrIndexBuffer::updateData().
|
| + *
|
| + * @return The index buffer if successful, otherwise NULL.
|
| + */
|
| + GrIndexBuffer* createInstancedIndexBuffer(const uint16_t* pattern,
|
| + int patternSize,
|
| + int reps,
|
| + int vertCount,
|
| + bool isDynamic = false);
|
| +
|
| + /**
|
| + * Returns an index buffer that can be used to render quads.
|
| + * Six indices per quad: 0, 1, 2, 0, 2, 3, etc.
|
| + * The max number of quads can be queried using GrIndexBuffer::maxQuads().
|
| + * Draw with kTriangles_GrPrimitiveType
|
| + * @ return the quad index buffer
|
| + */
|
| + const GrIndexBuffer* getQuadIndexBuffer() const;
|
|
|
| /**
|
| * Resolves MSAA.
|
| @@ -492,6 +520,8 @@
|
|
|
| ResetTimestamp fResetTimestamp;
|
| uint32_t fResetBits;
|
| + // these are mutable so they can be created on-demand
|
| + mutable GrIndexBuffer* fQuadIndexBuffer;
|
| // To keep track that we always have at least as many debug marker adds as removes
|
| int fGpuTraceMarkerCount;
|
| GrTraceMarkerSet fActiveTraceMarkers;
|
|
|