skia2/RELEASE_NOTES.txt

100 lines
3.4 KiB
Plaintext
Raw Normal View History

Skia Graphics Release Notes
This file includes a list of high level updates for each milestone release.
-----
Milestone 79
* Make the size of program/pipeline caches configurable via
GrContextOptions::fRuntimeProgramCacheSize
https://review.skia.org/239756
Milestone 78
* Added RELEASE_NOTES.txt file
https://review.skia.org/229760
* SkDrawLooper is no longer supported in SkPaint or SkCanvas.
https://review.skia.org/230579
https://review.skia.org/231736
* SkPath::Iter::next() now ignores its consumDegenerates bools. Those will so
go away entirely
https://review.skia.org/235104
* SkImage: new factories: DecodeToRaster, DecodeToTexture
https://review.skia.org/234476
* SkImageFilter API refactor started:
- Provide new factory API in include/effects/SkImageFilters
- Consolidated enum types to use SkTileMode and SkColorChannel
- Hide filter implementation classes
- Hide previously public functions on SkImageFilter that were intended for
internal use only
https://review.skia.org/230198
https://review.skia.org/230876
https://review.skia.org/231256
* SkColorFilters::HSLAMatrix - new matrix color filter operating in HSLA
space.
https://review.skia.org/231736
* Modify GrBackendFormat getters to not return internal pointers. Use an enum
class for GL formats.
https://review.skia.org/233160
* Expose GrContext::dump() when SK_ENABLE_DUMP_GPU is defined.
https://review.skia.org/233557
* Vulkan backend now supports YCbCr sampler for I420 Vulkan images that are
not backed by external images.
https://review.skia.org/233776
* Add SkCodec::SelectionPolicy for distinguishing between decoding a still
image or an image sequence for a container format that has both (e.g. HEIF).
https://review.skia.org/232839
* SkImage::makeTextureImage and SkImage::MakeCrossContextFromPixmap no longer
take an SkColorSpace parameter. It was unused.
https://review.skia.org/234579
https://review.skia.org/234912
* SkImage::reinterpretColorSpace - to reinterpret image contents in a new
color space.
https://review.skia.org/234328
* Removed SkImage::MakeCrossContextFromEncoded.
https://review.skia.org/234912
* Add Metal support for GrFence, GrSemaphore, and GrBackendSemaphore
https://review.skia.org/233416
* SkMallocPixelRef: remove MakeDirect and MakeWithProc from API.
https://review.skia.org/234660
* Remove 4-parameter variant of SkRect::join() and intersect(), and
noemptycheck variants of intersect().
https://review.skia.org/235832
https://review.skia.org/237142
* Remove unused sk_sp comparison operators.
https://review.skia.org/236942
* Add SkColor4f variant to experimental_DrawEdgeAAQuad for SkiaRenderer.
https://review.skia.org/237492
* Deprecated maxCount resource cache limit for Ganesh.
This hasn't been relevant for a long time.
* Changed GrContextOptions' fDisallowGLSLBinaryCaching to fShaderCacheStrategy,
and allow caching SkSL.
https://review.skia.org/238856
* Added kRG_88_SkColorType. This is intended to help support YUV uses case (e.g., NV12).
As such, it the addition is focused on allowing creation of SkPixmaps and SkImages and not
SkSurfaces (i.e., who wants to render to RG?)
Add support for pre-compiling cached SkSL shaders The client can do a test run of their application with a persistent cache set to SkSL mode. They store the key and data blobs that are produced. Ship those blobs with the application. At startup, call GrContext::precompileShader for each key/data pair. This compiles the shaders, and stores the GL program ID, plus a small amount of metadata in our runtime program cache. Caveats: * Currently only implemented for the GL backend. Other backends will require more metadata to do any useful amount of work. Metal may need a more drastic workflow change, involving offline compilation of the shaders. * Currently only implemented for cached SkSL (not GLSL or program binaries). Supporting other formats again requires more metadata, and the cached shaders become increasingly specialized to GPU and driver versions. * Reusing the cached SkSL on different hardware is not supported. Many driver workarounds are implemented in the SkSL -> GLSL transformation, but some are higher level. Limiting device variance by artificially hiding extensions may help, but there are no guarantees. * The 'gltestprecompile' DM config exercises this code similarly to 'gltestpersistentcache', ensuring that results are visually identical when precompiling, and that no cache misses occur after precompiling. Change-Id: Id314c5d5f5a58fe503a0505a613bd4a540cc3589 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239438 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-06 18:42:43 +00:00
* Add GrContext::precompileShader to allow up-front compilation of previously-cached shaders.
https://review.skia.org/239438