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