Heather Miller | 118a407 | 2019-07-25 11:33:30 -0400 | [diff] [blame] | 1 | Skia Graphics Release Notes |
| 2 | |
| 3 | This file includes a list of high level updates for each milestone release. |
| 4 | |
Hal Canary | 9e514a1 | 2019-10-01 15:15:36 -0400 | [diff] [blame] | 5 | * * * |
Mike Reed | 430470d | 2019-09-12 17:09:12 -0400 | [diff] [blame] | 6 | |
Heather Miller | 2e046a2 | 2019-12-05 15:27:42 -0500 | [diff] [blame] | 7 | Milestone 81 |
Heather Miller | d5153bb | 2019-10-17 00:03:36 -0400 | [diff] [blame] | 8 | |
Heather Miller | cc13acb | 2019-10-22 15:45:45 -0400 | [diff] [blame] | 9 | <Insert new notes here- top is most recent.> |
Heather Miller | 2e046a2 | 2019-12-05 15:27:42 -0500 | [diff] [blame] | 10 | |
Brian Osman | a88cab1 | 2020-01-09 10:21:44 -0500 | [diff] [blame] | 11 | * Added CachingHint to SkImage::makeRasterImage |
| 12 | |
Kevin Lubick | f5bc8fb | 2020-01-08 13:29:31 -0500 | [diff] [blame] | 13 | * Added SkAnimatedImage::getCurrentFrame() |
| 14 | |
Jim Van Verth | e276701 | 2020-01-08 12:15:44 -0500 | [diff] [blame] | 15 | * Add support to create an SkSurface from an MTKView, with delayed acquisition of |
| 16 | the MTLDrawable. |
| 17 | Entry point: SkSurface::MakeFromMTKView |
| 18 | |
Brian Salomon | 44207f3 | 2020-01-06 15:20:18 -0500 | [diff] [blame] | 19 | * Removed SkIRect::EmptyIRect(). Use SkIRect::MakeEmpty() instead. |
| 20 | https://review.skia.org/262382/ |
| 21 | |
Brian Osman | ee426f2 | 2020-01-02 11:55:24 -0500 | [diff] [blame] | 22 | Moved SkRuntimeEffect to public API. This is the new (experimental) interface to custom SkSL |
| 23 | shaders and color filters. |
| 24 | |
Robert Phillips | 8f259a0 | 2019-12-20 11:32:27 -0500 | [diff] [blame] | 25 | Added BC1 compressed format support. Metal and Vulkan seem to only support the BC |
| 26 | formats on desktop machines. |
| 27 | |
Robert Phillips | b915c94 | 2019-12-17 14:44:37 -0500 | [diff] [blame] | 28 | Added compressed format support for backend texture creation API. |
| 29 | This adds the following new entry points: |
| 30 | GrContext::compressedBackendFormat |
| 31 | GrContext::createCompressedBackendTexture |
Robert Phillips | 8f259a0 | 2019-12-20 11:32:27 -0500 | [diff] [blame] | 32 | The latter method comes in variants that allow color-initialized and |
Robert Phillips | b915c94 | 2019-12-17 14:44:37 -0500 | [diff] [blame] | 33 | compressed texture data initialized. |
| 34 | |
Heather Miller | 2e046a2 | 2019-12-05 15:27:42 -0500 | [diff] [blame] | 35 | * * * |
Brian Salomon | a6069a1 | 2019-12-13 10:48:33 -0500 | [diff] [blame] | 36 | * Added SkMatrix::MakeTrans(SkIVector) |
| 37 | https://review.skia.org/259804 |
Heather Miller | 2e046a2 | 2019-12-05 15:27:42 -0500 | [diff] [blame] | 38 | |
| 39 | Milestone 80 |
| 40 | |
Greg Daniel | f0e04f0 | 2019-12-04 15:17:54 -0500 | [diff] [blame] | 41 | * For Vulkan backend, we now require that the VkDevice, Queue, and Instance outlive |
| 42 | either the destruction or abandoning of the GrContext. Additionally, all |
| 43 | GrBackendTextures created via GrContext::createBackendTexture calls must be deleted |
| 44 | before destroying or abandoning the GrContext. |
| 45 | https://review.skia.org/257921 |
| 46 | |
Brian Salomon | 4e1066f | 2019-12-04 10:33:52 -0500 | [diff] [blame] | 47 | * Removed SkSize& SkSize::operator=(const SkISize&) |
| 48 | https://review.skia.org/257880 |
| 49 | |
Brian Salomon | 8a99a41 | 2019-12-04 11:05:35 -0500 | [diff] [blame] | 50 | * SkISize width() and height() now constexpr |
| 51 | https://review.skia.org/257680 |
| 52 | |
Brian Salomon | e21af50 | 2019-11-22 16:56:36 -0500 | [diff] [blame] | 53 | * Added SkMatrix::MakeTrans(SkVector) and SkRect::makeOffset(SkVector). |
| 54 | https://review.skia.org/255782 |
| 55 | |
Brian Salomon | c75bc03 | 2019-11-11 13:47:25 -0500 | [diff] [blame] | 56 | * Added SkImageInfo::MakeA8(SkISize) and added optional color space parameter to |
| 57 | SkImageInfo::MakeN32Premul(SkISize). |
Heather Miller | cc13acb | 2019-10-22 15:45:45 -0400 | [diff] [blame] | 58 | |
Kevin Lubick | 47bd9f1 | 2019-11-08 06:55:15 -0800 | [diff] [blame] | 59 | * Added dimensions() and getFrameCount() to SkAnimatedImage |
| 60 | https://review.skia.org/253542 |
| 61 | |
Brian Osman | 09ee112 | 2019-11-05 11:41:16 -0500 | [diff] [blame] | 62 | * Removed SkMatrix44 version of toXYZD50 from SkColorSpace. Switched to skcms types in |
| 63 | transferFn, invTrasnferFn, and gamutTransformTo functions. |
| 64 | https://review.skia.org/252596 |
| 65 | |
Brian Osman | e36d030 | 2019-11-01 17:10:28 -0400 | [diff] [blame] | 66 | * Removed rotation and YUV support from SkColorMatrix |
| 67 | https://review.skia.org/252188 |
| 68 | |
Brian Osman | 2b73e66 | 2019-11-01 10:02:24 -0400 | [diff] [blame] | 69 | * Added kBT2020_SkYUVColorSpace. This is BT.2020's YCbCr conversion (non-constant-luminance). |
| 70 | https://review.skia.org/252160 |
| 71 | |
Brian Salomon | 3683a4f | 2019-10-28 09:16:47 -0400 | [diff] [blame] | 72 | * Remove old async read pixels APIs |
| 73 | https://review.skia.org/251198 |
| 74 | |
Michael Ludwig | cc83687 | 2019-11-04 15:01:52 -0500 | [diff] [blame] | 75 | * Expose SkBlendModeCoeff and SkBlendMode_AsCoeff for Porter-Duff blend modes. |
| 76 | https://review.skia.org/252600 |
| 77 | |
Heather Miller | cc13acb | 2019-10-22 15:45:45 -0400 | [diff] [blame] | 78 | * * * |
| 79 | |
| 80 | Milestone 79 |
Heather Miller | d5153bb | 2019-10-17 00:03:36 -0400 | [diff] [blame] | 81 | |
Mike Reed | a32654c | 2019-10-04 10:18:34 -0400 | [diff] [blame] | 82 | * SkTextBlob::Iter to discover the glyph indices and typefaces in each run |
| 83 | https://skia-review.googlesource.com/246296 |
| 84 | |
Brian Osman | 11e6aa8 | 2019-10-16 13:58:42 -0400 | [diff] [blame] | 85 | * Added support for PQ and HLG transfer functions to SkColorSpace. |
Heather Miller | d5153bb | 2019-10-17 00:03:36 -0400 | [diff] [blame] | 86 | https://skia-review.googlesource.com/c/skia/+/249000 |
Brian Osman | 11e6aa8 | 2019-10-16 13:58:42 -0400 | [diff] [blame] | 87 | |
Greg Daniel | 8b66617 | 2019-10-09 12:38:22 -0400 | [diff] [blame] | 88 | * Added new api on GrContext ComputeImageSize. This replaces the hold static helper |
| 89 | ComputeTextureSize. |
Heather Miller | d5153bb | 2019-10-17 00:03:36 -0400 | [diff] [blame] | 90 | https://skia-review.googlesource.com/c/skia/+/247337 |
Hal Canary | 9e514a1 | 2019-10-01 15:15:36 -0400 | [diff] [blame] | 91 | |
Brian Salomon | 9241a6d | 2019-10-03 13:26:54 -0400 | [diff] [blame] | 92 | * New versions of SkSurface async-rescale-and read APIs that allow client to extend |
| 93 | the lifetime of the result data. Old versions are deprecated. |
| 94 | https://review.skia.org/245457 |
| 95 | |
Hal Canary | 9e514a1 | 2019-10-01 15:15:36 -0400 | [diff] [blame] | 96 | * Add SkColorInfo. It's dimensionless SkImageInfo. |
| 97 | https://review.skia.org/245261 |
| 98 | |
| 99 | * Added SkPixmap-based createBackendTexture method to GrContext. This allows clients to create |
| 100 | backend resources (initialized with texture data) that Skia/Ganesh doesn't know about/track. |
| 101 | https://review.skia.org/244676 |
| 102 | |
| 103 | * Add explicit src and dst colorspace parameters to SkColorFilter::filterColor4f() |
| 104 | https://review.skia.org/244882 |
| 105 | |
| 106 | * Remove Vulkan/Metal float32 RGBA texture support |
| 107 | https://review.skia.org/244881 |
| 108 | |
| 109 | * Add SkSurface::MakeFromCAMetalLayer |
| 110 | https://review.skia.org/242563 |
| 111 | |
| 112 | * Added kAlpha_F16_SkColorType, kRG_F16_SkColorType and kRGBA_16161616_SkColorType. |
| 113 | This is intended to help support HDR YUV uses case (e.g., P010 and P016). As such, |
| 114 | the addition is focused on allowing creation of SkPixmaps and SkImages and not |
| 115 | SkSurfaces (i.e., who wants to render to render to these?) |
| 116 | https://review.skia.org/241357 |
| 117 | |
| 118 | * Start to move nested SkPath types (e.g. Direction, Verb) up to root level in SkPathTypes.h |
| 119 | https://review.skia.org/241079 |
| 120 | |
| 121 | * Remove isRectContour and ksNestedFillRects from public |
| 122 | https://review.skia.org/241078 |
| 123 | |
| 124 | * Added kRG_88_SkColorType. This is intended to help support YUV uses case (e.g., NV12). |
| 125 | As such, the addition is focused on allowing creation of SkPixmaps and SkImages and not |
| 126 | SkSurfaces (i.e., who wants to render to RG?) |
| 127 | https://review.skia.org/239930 |
| 128 | https://review.skia.org/235797 |
| 129 | |
Brian Osman | 172bb44 | 2019-09-06 10:16:02 -0400 | [diff] [blame] | 130 | * Make the size of program/pipeline caches configurable via |
| 131 | GrContextOptions::fRuntimeProgramCacheSize |
| 132 | https://review.skia.org/239756 |
| 133 | |
Hal Canary | 9e514a1 | 2019-10-01 15:15:36 -0400 | [diff] [blame] | 134 | * Added kAlpha_16_SkColorType and kRG_1616_SkColorType. This is intended to help support HDR YUV |
| 135 | uses case (e.g., P010 and P016). As such, the addition is focused on allowing creation of |
| 136 | SkPixmaps and SkImages and not SkSurfaces (i.e., who wants to render to render to these?) |
| 137 | https://review.skia.org/239930 |
| 138 | |
| 139 | * Add GrContext::precompileShader to allow up-front compilation of previously-cached shaders. |
| 140 | https://review.skia.org/239438 |
| 141 | |
| 142 | * * * |
| 143 | |
Heather Miller | 118a407 | 2019-07-25 11:33:30 -0400 | [diff] [blame] | 144 | Milestone 78 |
| 145 | |
Hal Canary | 2af5db7 | 2019-08-20 11:28:37 -0400 | [diff] [blame] | 146 | * SkDrawLooper is no longer supported in SkPaint or SkCanvas. |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 147 | https://review.skia.org/230579 |
| 148 | https://review.skia.org/231736 |
Mike Reed | 9dc0b9e | 2019-07-29 17:52:48 -0400 | [diff] [blame] | 149 | |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 150 | * SkPath::Iter::next() now ignores its consumDegenerates bools. Those will so |
| 151 | go away entirely |
| 152 | https://review.skia.org/235104 |
Mike Reed | ba7e9a6 | 2019-08-16 13:30:34 -0400 | [diff] [blame] | 153 | |
Hal Canary | 2af5db7 | 2019-08-20 11:28:37 -0400 | [diff] [blame] | 154 | * SkImage: new factories: DecodeToRaster, DecodeToTexture |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 155 | https://review.skia.org/234476 |
Mike Reed | a5acbf9 | 2019-08-14 11:08:41 -0400 | [diff] [blame] | 156 | |
Hal Canary | 2af5db7 | 2019-08-20 11:28:37 -0400 | [diff] [blame] | 157 | * SkImageFilter API refactor started: |
| 158 | - Provide new factory API in include/effects/SkImageFilters |
| 159 | - Consolidated enum types to use SkTileMode and SkColorChannel |
| 160 | - Hide filter implementation classes |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 161 | - Hide previously public functions on SkImageFilter that were intended for |
| 162 | internal use only |
| 163 | https://review.skia.org/230198 |
| 164 | https://review.skia.org/230876 |
| 165 | https://review.skia.org/231256 |
Florin Malita | 4800949 | 2019-08-01 17:20:19 -0400 | [diff] [blame] | 166 | |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 167 | * SkColorFilters::HSLAMatrix - new matrix color filter operating in HSLA |
| 168 | space. |
| 169 | https://review.skia.org/231736 |
Brian Salomon | d4764a1 | 2019-08-08 12:08:24 -0400 | [diff] [blame] | 170 | |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 171 | * Modify GrBackendFormat getters to not return internal pointers. Use an enum |
| 172 | class for GL formats. |
| 173 | https://review.skia.org/233160 |
Brian Salomon | ec22b1a | 2019-08-09 09:41:48 -0400 | [diff] [blame] | 174 | |
Hal Canary | 2af5db7 | 2019-08-20 11:28:37 -0400 | [diff] [blame] | 175 | * Expose GrContext::dump() when SK_ENABLE_DUMP_GPU is defined. |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 176 | https://review.skia.org/233557 |
Sergey Ulanov | 2739fd2 | 2019-08-11 22:46:33 -0700 | [diff] [blame] | 177 | |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 178 | * Vulkan backend now supports YCbCr sampler for I420 Vulkan images that are |
| 179 | not backed by external images. |
| 180 | https://review.skia.org/233776 |
Leon Scroggins III | 6154ac4 | 2019-08-14 11:29:29 -0400 | [diff] [blame] | 181 | |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 182 | * Add SkCodec::SelectionPolicy for distinguishing between decoding a still |
| 183 | image or an image sequence for a container format that has both (e.g. HEIF). |
| 184 | https://review.skia.org/232839 |
Brian Osman | d566e2e | 2019-08-14 13:19:04 -0400 | [diff] [blame] | 185 | |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 186 | * SkImage::makeTextureImage and SkImage::MakeCrossContextFromPixmap no longer |
| 187 | take an SkColorSpace parameter. It was unused. |
| 188 | https://review.skia.org/234579 |
| 189 | https://review.skia.org/234912 |
Brian Osman | d514837 | 2019-08-14 16:14:51 -0400 | [diff] [blame] | 190 | |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 191 | * SkImage::reinterpretColorSpace - to reinterpret image contents in a new |
| 192 | color space. |
| 193 | https://review.skia.org/234328 |
Brian Osman | 4c3fd34 | 2019-08-15 12:13:53 -0400 | [diff] [blame] | 194 | |
Hal Canary | 2af5db7 | 2019-08-20 11:28:37 -0400 | [diff] [blame] | 195 | * Removed SkImage::MakeCrossContextFromEncoded. |
Hal Canary | 3b0e7f6 | 2019-08-20 14:52:02 -0400 | [diff] [blame] | 196 | https://review.skia.org/234912 |
Hal Canary | 2af5db7 | 2019-08-20 11:28:37 -0400 | [diff] [blame] | 197 | |
Jim Van Verth | 066ceb1 | 2019-08-28 14:35:55 -0400 | [diff] [blame] | 198 | * Add Metal support for GrFence, GrSemaphore, and GrBackendSemaphore |
| 199 | https://review.skia.org/233416 |
| 200 | |
Hal Canary | 2af5db7 | 2019-08-20 11:28:37 -0400 | [diff] [blame] | 201 | * SkMallocPixelRef: remove MakeDirect and MakeWithProc from API. |
| 202 | https://review.skia.org/234660 |
Mike Klein | 334a642 | 2019-08-27 08:12:15 -0500 | [diff] [blame] | 203 | |
Michael Ludwig | a595f86 | 2019-08-27 15:25:49 -0400 | [diff] [blame] | 204 | * Remove 4-parameter variant of SkRect::join() and intersect(), and |
| 205 | noemptycheck variants of intersect(). |
| 206 | https://review.skia.org/235832 |
| 207 | https://review.skia.org/237142 |
| 208 | |
Mike Klein | 334a642 | 2019-08-27 08:12:15 -0500 | [diff] [blame] | 209 | * Remove unused sk_sp comparison operators. |
| 210 | https://review.skia.org/236942 |
Michael Ludwig | a595f86 | 2019-08-27 15:25:49 -0400 | [diff] [blame] | 211 | |
| 212 | * Add SkColor4f variant to experimental_DrawEdgeAAQuad for SkiaRenderer. |
| 213 | https://review.skia.org/237492 |
Robert Phillips | cf39f37 | 2019-09-03 10:29:20 -0400 | [diff] [blame] | 214 | |
| 215 | * Deprecated maxCount resource cache limit for Ganesh. |
| 216 | This hasn't been relevant for a long time. |
| 217 | |
Brian Osman | a66081d | 2019-09-03 14:59:26 -0400 | [diff] [blame] | 218 | * Changed GrContextOptions' fDisallowGLSLBinaryCaching to fShaderCacheStrategy, |
| 219 | and allow caching SkSL. |
| 220 | https://review.skia.org/238856 |
Chris Dalton | 38f0a49 | 2019-10-07 11:51:07 -0600 | [diff] [blame] | 221 | |
| 222 | * Use GL_QCOM_TILED_RENDERING to explicitly discard stencil |
Heather Miller | cc13acb | 2019-10-22 15:45:45 -0400 | [diff] [blame] | 223 | |
| 224 | * Added RELEASE_NOTES.txt file |
| 225 | https://review.skia.org/229760 |
Chris Dalton | 5a2f962 | 2019-12-27 14:56:38 -0700 | [diff] [blame] | 226 | |
| 227 | * Implemented internal support for OpenGL tessellation. |