OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 GrGpu_DEFINED | 8 #ifndef GrGpu_DEFINED |
9 #define GrGpu_DEFINED | 9 #define GrGpu_DEFINED |
10 | 10 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 * For compressed formats the level contains the compress
ed pixel data. | 90 * For compressed formats the level contains the compress
ed pixel data. |
91 * Otherwise, it contains width*height texels. If there i
s only one | 91 * Otherwise, it contains width*height texels. If there i
s only one |
92 * element and it contains nullptr fPixels, texture data
is | 92 * element and it contains nullptr fPixels, texture data
is |
93 * uninitialized. | 93 * uninitialized. |
94 * @return The texture object if successful, otherwise nullptr. | 94 * @return The texture object if successful, otherwise nullptr. |
95 */ | 95 */ |
96 GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, | 96 GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, |
97 const SkTArray<GrMipLevel>& texels); | 97 const SkTArray<GrMipLevel>& texels); |
98 | 98 |
99 /** | 99 /** |
100 * This function is a shim which creates a SkTArGrMipLevell> of size 1. | 100 * Simplified createTexture() interface for when there is no initial texel d
ata to upload. |
101 * It then calls createTexture with that SkTArray. | |
102 * | |
103 * @param srcData texel data to load texture. Begins with full-size | |
104 * palette data for paletted texture. For compressed | |
105 * formats it contains the compressed pixel data. Otherwise, | |
106 * it contains width*height texels. If nullptr texture data | |
107 * is uninitialized. | |
108 * @param rowBytes the number of bytes between consecutive rows. Zero | |
109 * means rows are tightly packed. This field is ignored | |
110 * for compressed pixel formats. | |
111 * @return The texture object if successful, otherwise, nullptr. | |
112 */ | 101 */ |
113 GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, | 102 GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted) { |
114 const void* srcData, size_t rowBytes); | 103 return this->createTexture(desc, budgeted, SkTArray<GrMipLevel>()); |
| 104 } |
| 105 |
| 106 /** Simplified createTexture() interface for when there is only a base level
*/ |
| 107 GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, con
st void* level0Data, |
| 108 size_t rowBytes) { |
| 109 SkASSERT(level0Data); |
| 110 GrMipLevel level = { level0Data, rowBytes }; |
| 111 SkSTArray<1, GrMipLevel> array; |
| 112 array.push_back() = level; |
| 113 return this->createTexture(desc, budgeted, array); |
| 114 } |
115 | 115 |
116 /** | 116 /** |
117 * Implements GrTextureProvider::wrapBackendTexture | 117 * Implements GrTextureProvider::wrapBackendTexture |
118 */ | 118 */ |
119 GrTexture* wrapBackendTexture(const GrBackendTextureDesc&, GrWrapOwnership); | 119 GrTexture* wrapBackendTexture(const GrBackendTextureDesc&, GrWrapOwnership); |
120 | 120 |
121 /** | 121 /** |
122 * Implements GrTextureProvider::wrapBackendRenderTarget | 122 * Implements GrTextureProvider::wrapBackendRenderTarget |
123 */ | 123 */ |
124 GrRenderTarget* wrapBackendRenderTarget(const GrBackendRenderTargetDesc&, Gr
WrapOwnership); | 124 GrRenderTarget* wrapBackendRenderTarget(const GrBackendRenderTargetDesc&, Gr
WrapOwnership); |
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 SkTArray<const MultisampleSpecs*, true> fMultisa
mpleSpecsMap; | 635 SkTArray<const MultisampleSpecs*, true> fMultisa
mpleSpecsMap; |
636 GrTAllocator<MultisampleSpecs> fMultisa
mpleSpecsAllocator; | 636 GrTAllocator<MultisampleSpecs> fMultisa
mpleSpecsAllocator; |
637 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu. | 637 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu. |
638 GrContext* fContext
; | 638 GrContext* fContext
; |
639 | 639 |
640 friend class GrPathRendering; | 640 friend class GrPathRendering; |
641 typedef SkRefCnt INHERITED; | 641 typedef SkRefCnt INHERITED; |
642 }; | 642 }; |
643 | 643 |
644 #endif | 644 #endif |
OLD | NEW |