2019-07-25 15:33:30 +00:00
|
|
|
Skia Graphics Release Notes
|
|
|
|
|
|
|
|
This file includes a list of high level updates for each milestone release.
|
|
|
|
|
2019-10-01 19:15:36 +00:00
|
|
|
* * *
|
|
|
|
|
2020-01-30 18:57:13 +00:00
|
|
|
Milestone 82
|
2019-10-22 19:45:45 +00:00
|
|
|
|
|
|
|
<Insert new notes here- top is most recent.>
|
2020-03-05 19:14:18 +00:00
|
|
|
* Removed GrGpuResource, GrSurface, and GrTexture from public api. These were not
|
2020-03-06 18:07:10 +00:00
|
|
|
meant to be public, and we now can move them into src. Also removed getTexture
|
|
|
|
function from SkImage.h
|
2020-03-05 19:14:18 +00:00
|
|
|
|
2020-03-02 19:57:09 +00:00
|
|
|
* Removed Bones from SkVertices
|
|
|
|
|
2020-02-25 17:13:29 +00:00
|
|
|
* Added a field to GrContextOptions that controls whether GL errors are checked after
|
|
|
|
GL calls that allocate textures, etc. It also controls checking for shader compile
|
|
|
|
success, and program linking success.
|
|
|
|
|
2020-02-24 13:38:34 +00:00
|
|
|
* Made SkDeferredDisplayList.h officially part of the public API (i.e., moved it to
|
|
|
|
include/core). Also added a ProgramIterator to SkDeferredDisplayList which allows
|
|
|
|
clients to pre-compile some of the shaders the DDL requires.
|
|
|
|
|
2020-02-13 18:24:47 +00:00
|
|
|
* Added two new helper methods to SkSurfaceCharacterization: createBackendFormat and
|
|
|
|
createFBO0. These make it easier for clients to create new surface characterizations that
|
|
|
|
differ only a little from an existing surface characterization.
|
|
|
|
|
2020-02-07 15:36:46 +00:00
|
|
|
* Removed SkTMax and SkTMin.
|
2020-02-06 19:51:46 +00:00
|
|
|
* Removed SkTClamp and SkClampMax.
|
2020-02-06 17:52:25 +00:00
|
|
|
* Removed SkScalarClampMax and SkScalarPin.
|
2020-02-06 16:25:43 +00:00
|
|
|
* Removed SkMax32 and SkMin32.
|
2020-02-05 18:34:09 +00:00
|
|
|
* Removed SkMaxScalar and SkMinScalar.
|
|
|
|
|
2020-02-04 22:27:22 +00:00
|
|
|
* SkColorSetA now warns if the result is unused.
|
|
|
|
|
2020-02-03 17:39:54 +00:00
|
|
|
* An SkImageInfo with a null SkColorSpace passed to SkCodec::getPixels() and
|
|
|
|
related calls is treated as a request to do no color correction at decode
|
|
|
|
time.
|
2020-01-31 16:13:37 +00:00
|
|
|
|
2020-02-19 18:59:29 +00:00
|
|
|
* Add new APIs to add attributes to document structure node when
|
|
|
|
creating a tagged PDF.
|
|
|
|
|
2020-01-31 16:13:37 +00:00
|
|
|
* Remove CGFontRef parameter from SkCreateTypefaceFromCTFont.
|
|
|
|
Use CTFontManagerCreateFontDescriptorFromData instead of
|
|
|
|
CGFontCreateWithDataProvider to create CTFonts to avoid memory use issues.
|
|
|
|
|
2020-02-06 20:47:58 +00:00
|
|
|
* Added SkCodec:: and SkAndroidCodec::getICCProfile for reporting the native
|
|
|
|
ICC profile of an encoded image, even if it doesn't map to an SkColorSpace.
|
2020-01-30 18:57:13 +00:00
|
|
|
|
2020-02-14 23:10:40 +00:00
|
|
|
* SkSurface::ReplaceBackendTexture takes ContentChangeMode as a parameter,
|
|
|
|
which allow callers to specify whether retain a copy of the current content.
|
2020-03-03 15:39:41 +00:00
|
|
|
|
|
|
|
* Enforce the existing documentation in SkCanvas::saveLayer that it ignores
|
|
|
|
any mask filter on the restore SkPaint. The 'coverage' of a layer is
|
|
|
|
ill-defined, and masking should be handled by pre-clipping or using the
|
|
|
|
auxiliary clip mask image of the SaveLayerRec.
|
2020-02-14 23:10:40 +00:00
|
|
|
|
2020-01-30 18:57:13 +00:00
|
|
|
* * *
|
|
|
|
|
|
|
|
Milestone 81
|
|
|
|
|
2020-01-22 14:59:56 +00:00
|
|
|
* Added support for GL_NV_fence extension.
|
2019-12-05 20:27:42 +00:00
|
|
|
|
2020-01-22 15:44:00 +00:00
|
|
|
* Make SkImageInfo::validRowBytes require rowBytes to be pixel aligned. This
|
|
|
|
makes SkBitmap match the behavior of raster SkSurfaces in rejecting
|
|
|
|
non-aligned rowBytes.
|
|
|
|
|
2020-01-27 21:11:57 +00:00
|
|
|
* Added an SkImage::MakeRasterFromCompressed entry point. Also updated
|
|
|
|
SkImage::MakeFromCompressed to decompress the compressed image data if
|
|
|
|
the GPU doesn't support the specified compression type (i.e., macOS Metal
|
|
|
|
doesn't support BC1_RGB8_UNORM so such compressed images will always be
|
|
|
|
decompressed on that platform).
|
|
|
|
|
2020-01-15 17:56:52 +00:00
|
|
|
* Added support for BC1 RGBA compressed textures
|
|
|
|
|
2020-01-09 15:21:44 +00:00
|
|
|
* Added CachingHint to SkImage::makeRasterImage
|
|
|
|
|
2020-01-08 18:29:31 +00:00
|
|
|
* Added SkAnimatedImage::getCurrentFrame()
|
|
|
|
|
2020-01-08 17:15:44 +00:00
|
|
|
* Add support to create an SkSurface from an MTKView, with delayed acquisition of
|
|
|
|
the MTLDrawable.
|
|
|
|
Entry point: SkSurface::MakeFromMTKView
|
|
|
|
|
2020-01-06 20:20:18 +00:00
|
|
|
* Removed SkIRect::EmptyIRect(). Use SkIRect::MakeEmpty() instead.
|
|
|
|
https://review.skia.org/262382/
|
|
|
|
|
2020-01-30 18:57:13 +00:00
|
|
|
* Moved SkRuntimeEffect to public API. This is the new (experimental) interface to custom SkSL
|
|
|
|
shaders and color filters.
|
2020-01-02 16:55:24 +00:00
|
|
|
|
2020-01-30 18:57:13 +00:00
|
|
|
* Added BC1 compressed format support. Metal and Vulkan seem to only support the BC
|
|
|
|
formats on desktop machines.
|
2019-12-20 16:32:27 +00:00
|
|
|
|
2020-01-30 18:57:13 +00:00
|
|
|
* Added compressed format support for backend texture creation API.
|
|
|
|
This adds the following new entry points:
|
|
|
|
GrContext::compressedBackendFormat
|
|
|
|
GrContext::createCompressedBackendTexture
|
|
|
|
The latter method comes in variants that allow color-initialized and
|
|
|
|
compressed texture data initialized.
|
2019-12-17 19:44:37 +00:00
|
|
|
|
2019-12-13 15:48:33 +00:00
|
|
|
* Added SkMatrix::MakeTrans(SkIVector)
|
|
|
|
https://review.skia.org/259804
|
2019-12-05 20:27:42 +00:00
|
|
|
|
2020-01-30 18:57:13 +00:00
|
|
|
* * *
|
|
|
|
|
2019-12-05 20:27:42 +00:00
|
|
|
Milestone 80
|
|
|
|
|
2019-12-04 20:17:54 +00:00
|
|
|
* For Vulkan backend, we now require that the VkDevice, Queue, and Instance outlive
|
|
|
|
either the destruction or abandoning of the GrContext. Additionally, all
|
|
|
|
GrBackendTextures created via GrContext::createBackendTexture calls must be deleted
|
|
|
|
before destroying or abandoning the GrContext.
|
|
|
|
https://review.skia.org/257921
|
|
|
|
|
2019-12-04 15:33:52 +00:00
|
|
|
* Removed SkSize& SkSize::operator=(const SkISize&)
|
|
|
|
https://review.skia.org/257880
|
|
|
|
|
2019-12-04 16:05:35 +00:00
|
|
|
* SkISize width() and height() now constexpr
|
|
|
|
https://review.skia.org/257680
|
|
|
|
|
2019-11-22 21:56:36 +00:00
|
|
|
* Added SkMatrix::MakeTrans(SkVector) and SkRect::makeOffset(SkVector).
|
|
|
|
https://review.skia.org/255782
|
|
|
|
|
2019-11-11 18:47:25 +00:00
|
|
|
* Added SkImageInfo::MakeA8(SkISize) and added optional color space parameter to
|
|
|
|
SkImageInfo::MakeN32Premul(SkISize).
|
2019-10-22 19:45:45 +00:00
|
|
|
|
2019-11-08 14:55:15 +00:00
|
|
|
* Added dimensions() and getFrameCount() to SkAnimatedImage
|
|
|
|
https://review.skia.org/253542
|
|
|
|
|
2019-11-05 16:41:16 +00:00
|
|
|
* Removed SkMatrix44 version of toXYZD50 from SkColorSpace. Switched to skcms types in
|
|
|
|
transferFn, invTrasnferFn, and gamutTransformTo functions.
|
|
|
|
https://review.skia.org/252596
|
|
|
|
|
2019-11-01 21:10:28 +00:00
|
|
|
* Removed rotation and YUV support from SkColorMatrix
|
|
|
|
https://review.skia.org/252188
|
|
|
|
|
2019-11-01 14:02:24 +00:00
|
|
|
* Added kBT2020_SkYUVColorSpace. This is BT.2020's YCbCr conversion (non-constant-luminance).
|
|
|
|
https://review.skia.org/252160
|
|
|
|
|
2019-10-28 13:16:47 +00:00
|
|
|
* Remove old async read pixels APIs
|
|
|
|
https://review.skia.org/251198
|
|
|
|
|
2019-11-04 20:01:52 +00:00
|
|
|
* Expose SkBlendModeCoeff and SkBlendMode_AsCoeff for Porter-Duff blend modes.
|
|
|
|
https://review.skia.org/252600
|
|
|
|
|
2019-10-22 19:45:45 +00:00
|
|
|
* * *
|
2019-10-17 04:03:36 +00:00
|
|
|
|
2019-10-22 19:45:45 +00:00
|
|
|
Milestone 79
|
2019-10-17 04:03:36 +00:00
|
|
|
|
2019-10-04 14:18:34 +00:00
|
|
|
* SkTextBlob::Iter to discover the glyph indices and typefaces in each run
|
|
|
|
https://skia-review.googlesource.com/246296
|
|
|
|
|
2019-10-16 17:58:42 +00:00
|
|
|
* Added support for PQ and HLG transfer functions to SkColorSpace.
|
2019-10-17 04:03:36 +00:00
|
|
|
https://skia-review.googlesource.com/c/skia/+/249000
|
2019-10-16 17:58:42 +00:00
|
|
|
|
2019-10-09 16:38:22 +00:00
|
|
|
* Added new api on GrContext ComputeImageSize. This replaces the hold static helper
|
|
|
|
ComputeTextureSize.
|
2019-10-17 04:03:36 +00:00
|
|
|
https://skia-review.googlesource.com/c/skia/+/247337
|
2019-10-01 19:15:36 +00:00
|
|
|
|
2019-10-03 17:26:54 +00:00
|
|
|
* New versions of SkSurface async-rescale-and read APIs that allow client to extend
|
|
|
|
the lifetime of the result data. Old versions are deprecated.
|
|
|
|
https://review.skia.org/245457
|
|
|
|
|
2019-10-01 19:15:36 +00:00
|
|
|
* Add SkColorInfo. It's dimensionless SkImageInfo.
|
|
|
|
https://review.skia.org/245261
|
|
|
|
|
|
|
|
* Added SkPixmap-based createBackendTexture method to GrContext. This allows clients to create
|
|
|
|
backend resources (initialized with texture data) that Skia/Ganesh doesn't know about/track.
|
|
|
|
https://review.skia.org/244676
|
|
|
|
|
2019-09-28 01:05:24 +00:00
|
|
|
* Add explicit src and dst colorspace parameters to SkColorFilter::filterColor4f()
|
2019-10-01 19:15:36 +00:00
|
|
|
https://review.skia.org/244882
|
|
|
|
|
|
|
|
* Remove Vulkan/Metal float32 RGBA texture support
|
|
|
|
https://review.skia.org/244881
|
2019-09-28 01:05:24 +00:00
|
|
|
|
2019-09-19 17:03:09 +00:00
|
|
|
* Add SkSurface::MakeFromCAMetalLayer
|
2019-10-01 19:15:36 +00:00
|
|
|
https://review.skia.org/242563
|
|
|
|
|
|
|
|
* Added kAlpha_F16_SkColorType, kRG_F16_SkColorType and kRGBA_16161616_SkColorType.
|
|
|
|
This is intended to help support HDR YUV uses case (e.g., P010 and P016). As such,
|
|
|
|
the addition is focused on allowing creation of SkPixmaps and SkImages and not
|
|
|
|
SkSurfaces (i.e., who wants to render to render to these?)
|
|
|
|
https://review.skia.org/241357
|
2019-07-25 15:33:30 +00:00
|
|
|
|
2019-09-13 12:26:56 +00:00
|
|
|
* Start to move nested SkPath types (e.g. Direction, Verb) up to root level in SkPathTypes.h
|
2019-10-01 19:15:36 +00:00
|
|
|
https://review.skia.org/241079
|
2019-09-12 21:09:12 +00:00
|
|
|
|
2019-10-01 19:15:36 +00:00
|
|
|
* Remove isRectContour and ksNestedFillRects from public
|
|
|
|
https://review.skia.org/241078
|
|
|
|
|
|
|
|
* Added kRG_88_SkColorType. This is intended to help support YUV uses case (e.g., NV12).
|
|
|
|
As such, the addition is focused on allowing creation of SkPixmaps and SkImages and not
|
|
|
|
SkSurfaces (i.e., who wants to render to RG?)
|
|
|
|
https://review.skia.org/239930
|
|
|
|
https://review.skia.org/235797
|
2019-09-06 14:16:02 +00:00
|
|
|
|
|
|
|
* Make the size of program/pipeline caches configurable via
|
|
|
|
GrContextOptions::fRuntimeProgramCacheSize
|
|
|
|
https://review.skia.org/239756
|
|
|
|
|
2019-10-01 19:15:36 +00:00
|
|
|
* Added kAlpha_16_SkColorType and kRG_1616_SkColorType. This is intended to help support HDR YUV
|
|
|
|
uses case (e.g., P010 and P016). As such, the addition is focused on allowing creation of
|
|
|
|
SkPixmaps and SkImages and not SkSurfaces (i.e., who wants to render to render to these?)
|
|
|
|
https://review.skia.org/239930
|
|
|
|
|
|
|
|
* Add GrContext::precompileShader to allow up-front compilation of previously-cached shaders.
|
|
|
|
https://review.skia.org/239438
|
|
|
|
|
|
|
|
* * *
|
|
|
|
|
2019-07-25 15:33:30 +00:00
|
|
|
Milestone 78
|
|
|
|
|
2019-08-20 15:28:37 +00:00
|
|
|
* SkDrawLooper is no longer supported in SkPaint or SkCanvas.
|
2019-08-20 18:52:02 +00:00
|
|
|
https://review.skia.org/230579
|
|
|
|
https://review.skia.org/231736
|
2019-07-29 21:52:48 +00:00
|
|
|
|
2019-08-20 18:52:02 +00:00
|
|
|
* SkPath::Iter::next() now ignores its consumDegenerates bools. Those will so
|
|
|
|
go away entirely
|
|
|
|
https://review.skia.org/235104
|
2019-08-16 17:30:34 +00:00
|
|
|
|
2019-08-20 15:28:37 +00:00
|
|
|
* SkImage: new factories: DecodeToRaster, DecodeToTexture
|
2019-08-20 18:52:02 +00:00
|
|
|
https://review.skia.org/234476
|
2019-08-14 15:08:41 +00:00
|
|
|
|
2019-08-20 15:28:37 +00:00
|
|
|
* SkImageFilter API refactor started:
|
|
|
|
- Provide new factory API in include/effects/SkImageFilters
|
|
|
|
- Consolidated enum types to use SkTileMode and SkColorChannel
|
|
|
|
- Hide filter implementation classes
|
2019-08-20 18:52:02 +00:00
|
|
|
- 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
|
2019-08-01 21:20:19 +00:00
|
|
|
|
2019-08-20 18:52:02 +00:00
|
|
|
* SkColorFilters::HSLAMatrix - new matrix color filter operating in HSLA
|
|
|
|
space.
|
|
|
|
https://review.skia.org/231736
|
2019-08-08 16:08:24 +00:00
|
|
|
|
2019-08-20 18:52:02 +00:00
|
|
|
* Modify GrBackendFormat getters to not return internal pointers. Use an enum
|
|
|
|
class for GL formats.
|
|
|
|
https://review.skia.org/233160
|
2019-08-09 13:41:48 +00:00
|
|
|
|
2019-08-20 15:28:37 +00:00
|
|
|
* Expose GrContext::dump() when SK_ENABLE_DUMP_GPU is defined.
|
2019-08-20 18:52:02 +00:00
|
|
|
https://review.skia.org/233557
|
2019-08-12 05:46:33 +00:00
|
|
|
|
2019-08-20 18:52:02 +00:00
|
|
|
* Vulkan backend now supports YCbCr sampler for I420 Vulkan images that are
|
|
|
|
not backed by external images.
|
|
|
|
https://review.skia.org/233776
|
2019-08-14 15:29:29 +00:00
|
|
|
|
2019-08-20 18:52:02 +00:00
|
|
|
* 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
|
2019-08-14 17:19:04 +00:00
|
|
|
|
2019-08-20 18:52:02 +00:00
|
|
|
* SkImage::makeTextureImage and SkImage::MakeCrossContextFromPixmap no longer
|
|
|
|
take an SkColorSpace parameter. It was unused.
|
|
|
|
https://review.skia.org/234579
|
|
|
|
https://review.skia.org/234912
|
2019-08-14 20:14:51 +00:00
|
|
|
|
2019-08-20 18:52:02 +00:00
|
|
|
* SkImage::reinterpretColorSpace - to reinterpret image contents in a new
|
|
|
|
color space.
|
|
|
|
https://review.skia.org/234328
|
2019-08-15 16:13:53 +00:00
|
|
|
|
2019-08-20 15:28:37 +00:00
|
|
|
* Removed SkImage::MakeCrossContextFromEncoded.
|
2019-08-20 18:52:02 +00:00
|
|
|
https://review.skia.org/234912
|
2019-08-20 15:28:37 +00:00
|
|
|
|
2019-08-28 18:35:55 +00:00
|
|
|
* Add Metal support for GrFence, GrSemaphore, and GrBackendSemaphore
|
|
|
|
https://review.skia.org/233416
|
|
|
|
|
2019-08-20 15:28:37 +00:00
|
|
|
* SkMallocPixelRef: remove MakeDirect and MakeWithProc from API.
|
|
|
|
https://review.skia.org/234660
|
2019-08-27 13:12:15 +00:00
|
|
|
|
2019-08-27 19:25:49 +00:00
|
|
|
* Remove 4-parameter variant of SkRect::join() and intersect(), and
|
|
|
|
noemptycheck variants of intersect().
|
|
|
|
https://review.skia.org/235832
|
|
|
|
https://review.skia.org/237142
|
|
|
|
|
2019-08-27 13:12:15 +00:00
|
|
|
* Remove unused sk_sp comparison operators.
|
|
|
|
https://review.skia.org/236942
|
2019-08-27 19:25:49 +00:00
|
|
|
|
|
|
|
* Add SkColor4f variant to experimental_DrawEdgeAAQuad for SkiaRenderer.
|
|
|
|
https://review.skia.org/237492
|
2019-09-03 14:29:20 +00:00
|
|
|
|
|
|
|
* Deprecated maxCount resource cache limit for Ganesh.
|
|
|
|
This hasn't been relevant for a long time.
|
|
|
|
|
2019-09-03 18:59:26 +00:00
|
|
|
* Changed GrContextOptions' fDisallowGLSLBinaryCaching to fShaderCacheStrategy,
|
|
|
|
and allow caching SkSL.
|
|
|
|
https://review.skia.org/238856
|
2019-10-07 17:51:07 +00:00
|
|
|
|
|
|
|
* Use GL_QCOM_TILED_RENDERING to explicitly discard stencil
|
2019-10-22 19:45:45 +00:00
|
|
|
|
|
|
|
* Added RELEASE_NOTES.txt file
|
|
|
|
https://review.skia.org/229760
|
2019-12-27 21:56:38 +00:00
|
|
|
|
|
|
|
* Implemented internal support for OpenGL tessellation.
|