| Index: src/gpu/GrPathRange.h | 
| diff --git a/src/gpu/GrPathRange.h b/src/gpu/GrPathRange.h | 
| index 5bfecb0a6859fc793cd5f6979cf1b119888fe895..a1431b93c768b6598d38ecbd162800286c1d62ab 100644 | 
| --- a/src/gpu/GrPathRange.h | 
| +++ b/src/gpu/GrPathRange.h | 
| @@ -36,8 +36,25 @@ public: | 
| return type; | 
| } | 
|  | 
| +    enum PathIndexType { | 
| +        kU8_PathIndexType,   //!< uint8_t | 
| +        kU16_PathIndexType,  //!< uint16_t | 
| +        kU32_PathIndexType,  //!< uint32_t | 
| + | 
| +        kLast_PathIndexType = kU32_PathIndexType | 
| +    }; | 
| + | 
| +    static inline int PathIndexSizeInBytes(PathIndexType type) { | 
| +        GR_STATIC_ASSERT(0 == kU8_PathIndexType); | 
| +        GR_STATIC_ASSERT(1 == kU16_PathIndexType); | 
| +        GR_STATIC_ASSERT(2 == kU32_PathIndexType); | 
| +        GR_STATIC_ASSERT(kU32_PathIndexType == kLast_PathIndexType); | 
| + | 
| +        return 1 << type; | 
| +    } | 
| + | 
| /** | 
| -     *  Class that generates the paths for a specific range. | 
| +     * Class that generates the paths for a specific range. | 
| */ | 
| class PathGenerator : public SkRefCnt { | 
| public: | 
| @@ -76,7 +93,8 @@ protected: | 
| private: | 
| // Notify when paths will be drawn in case this is a lazy-loaded path range. | 
| friend class GrGpu; | 
| -    void willDrawPaths(const uint32_t indices[], int count) const; | 
| +    void willDrawPaths(const void* indices, PathIndexType, int count) const; | 
| +    template<typename IndexType> void willDrawPaths(const void* indices, int count) const; | 
|  | 
| mutable SkAutoTUnref<PathGenerator> fPathGenerator; | 
| mutable SkTArray<uint8_t, true /*MEM_COPY*/> fGeneratedPaths; | 
|  |