diff options
author | 2018-03-03 22:43:43 -0500 | |
---|---|---|
committer | 2018-03-05 18:50:25 +0000 | |
commit | 2a4f983c94e4f749fe24b08bc8b5ae7cc8550d1d (patch) | |
tree | e89d794eeffacf09124be0cee8bfc70001be2856 /src/gpu/GrGpu.h | |
parent | 1a8d762a18d6f6494408a3a5e06a80097f8b85f7 (diff) |
Remove GrSurfaceOrigin from GrSurfaceDesc.
This field has no interpretation at the GrTexture/GrGpu as the orientation is
handled at the GrSurfaceProxy level.
This change requires GrGpu to accept a GrSurfaceOrigin when creating a texture with initial data. The origin refers to the texel data to be uploaded. Longer term the plan is to remove this and require the data to be kTopLeft. Additionally, kBottomLeft will only be allowed for wrapped texture/RTs as this evolves.
Change-Id: I7d25b0199aafd9bf3b74c39b2cae451acadcd772
Reviewed-on: https://skia-review.googlesource.com/111806
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrGpu.h')
-rw-r--r-- | src/gpu/GrGpu.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h index 7c3b796a52..dc518cd72d 100644 --- a/src/gpu/GrGpu.h +++ b/src/gpu/GrGpu.h @@ -93,17 +93,19 @@ public: * pixel configs can be used as render targets. Support for configs as textures * or render targets can be checked using GrCaps. * - * @param desc describes the texture to be created. - * @param budgeted does this texture count against the resource cache budget? - * @param texels array of mipmap levels containing texel data to load. - * Each level begins with full-size palette data for paletted textures. - * It contains width*height texels. If there is only one - * element and it contains nullptr fPixels, texture data is - * uninitialized. + * @param desc describes the texture to be created. + * @param budgeted does this texture count against the resource cache budget? + * @param texelsOrigin origin of the texel data to be uploaded. Ignored if there is + * no initial texel data. + * @param texels array of mipmap levels containing texel data to load. + * Each level begins with full-size palette data for paletted textures. + * It contains width*height texels. If there is only one + * element and it contains nullptr fPixels, texture data is + * uninitialized. * @param mipLevelCount the number of levels in 'texels' * @return The texture object if successful, otherwise nullptr. */ - sk_sp<GrTexture> createTexture(const GrSurfaceDesc&, SkBudgeted, + sk_sp<GrTexture> createTexture(const GrSurfaceDesc&, SkBudgeted, GrSurfaceOrigin texelsOrigin, const GrMipLevel texels[], int mipLevelCount); /** @@ -544,8 +546,8 @@ private: // Texture size and sample size will have already been validated in base class before // onCreateTexture is called. virtual sk_sp<GrTexture> onCreateTexture(const GrSurfaceDesc&, SkBudgeted, - const GrMipLevel texels[], - int mipLevelCount) = 0; + GrSurfaceOrigin texelsOrigin, + const GrMipLevel texels[], int mipLevelCount) = 0; virtual sk_sp<GrTexture> onWrapBackendTexture(const GrBackendTexture&, GrWrapOwnership) = 0; virtual sk_sp<GrTexture> onWrapRenderableBackendTexture(const GrBackendTexture&, |