skia2/include/gpu
Brian Salomon a3e2996b08 Rework how initial clearing of texture works.
1) It only applies when a texture is created, not when recycled from cache

2) It is all textures or none, not a flag GrSurfaceDesc

3) It is implemented by GrGpu clearing the texture after creation if
such a thing is supported in underlying API. Otherwise, GrResourceProvider
must provide pre-zeroed mip levels.

4) Works for MIP mapped textures (all levels without initial data are cleared)

This could cause performance regressions in WebGL until we re-add the
ability to clear using glCear() in GL. Doing that requires making the "can
clear using GrGpu" caps query be per-format. Deferring doing that until
GrPixelConfig work is farther along.

Bug: skia:6718


Change-Id: I234715b9faaf61e8b44d54464497a17cd553585d

start

Change-Id: Ib84a8c3ece010cc3164b18895107e78484cbf76b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226977
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-16 16:36:41 +00:00
..
gl Reland "Get EGLimage functions out of GrGLInterface." 2019-05-15 19:58:45 +00:00
mock Add kRGBA_8888_SRGB GrColorType and remove GrSRGBEncoded. 2019-07-11 15:22:23 +00:00
mtl Change GrCFResource to sk_cf_obj and move to include/ports. 2019-06-10 18:44:28 +00:00
vk Enable creating protected vulkan backend 2019-06-24 16:04:00 +00:00
GrBackendDrawableInfo.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrBackendSemaphore.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrBackendSurface.h Add kRGBA_8888_SRGB GrColorType and remove GrSRGBEncoded. 2019-07-11 15:22:23 +00:00
GrBlend.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrConfig.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrContext.h Add bridge between GrContext::createBackendTexture and SkSurface::MakeFromBackendTexture 2019-07-03 12:31:12 +00:00
GrContextOptions.h Rework how initial clearing of texture works. 2019-07-16 16:36:41 +00:00
GrContextThreadSafeProxy.h Add protected status to SkSurfaceCharacterization 2019-07-10 16:30:35 +00:00
GrDriverBugWorkarounds.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrDriverBugWorkaroundsAutogen.h Add disable_texture_storage workaround 2018-08-22 23:56:23 +00:00
GrGpuResource.h Swap GrSurfaceProxy over to being held via sk_sp 2019-06-20 11:43:45 +00:00
GrRenderTarget.h Eliminate mixed samples as an FBO type or AA type 2019-06-24 04:08:45 +00:00
GrSamplerState.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrSurface.h Alter approximate scratch texture binning after 1024 2019-07-11 13:29:41 +00:00
GrTexture.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrTypes.h Enable creating protected vulkan backend 2019-06-24 16:04:00 +00:00