Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(440)

Side by Side Diff: cc/tiles/software_image_decode_cache.h

Issue 2857923004: cc: Keep PaintImage in DrawImage. (Closed)
Patch Set: addressed comments. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_TILES_SOFTWARE_IMAGE_DECODE_CACHE_H_ 5 #ifndef CC_TILES_SOFTWARE_IMAGE_DECODE_CACHE_H_
6 #define CC_TILES_SOFTWARE_IMAGE_DECODE_CACHE_H_ 6 #define CC_TILES_SOFTWARE_IMAGE_DECODE_CACHE_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 const ImageKey& key, 257 const ImageKey& key,
258 sk_sp<const SkImage> image); 258 sk_sp<const SkImage> image);
259 259
260 // GetSubrectImageDecode is similar to GetOriginalSizeImageDecode in that no 260 // GetSubrectImageDecode is similar to GetOriginalSizeImageDecode in that no
261 // scale is performed on the image. However, we extract a subrect (copy it 261 // scale is performed on the image. However, we extract a subrect (copy it
262 // out) and only return this subrect in order to cache a smaller amount of 262 // out) and only return this subrect in order to cache a smaller amount of
263 // memory. Note that this uses GetOriginalSizeImageDecode to get the initial 263 // memory. Note that this uses GetOriginalSizeImageDecode to get the initial
264 // data, which ensures that we cache an unlocked version of the original image 264 // data, which ensures that we cache an unlocked version of the original image
265 // in case we need to extract multiple subrects (as would be the case in an 265 // in case we need to extract multiple subrects (as would be the case in an
266 // atlas). 266 // atlas).
267 std::unique_ptr<DecodedImage> GetSubrectImageDecode( 267 std::unique_ptr<DecodedImage> GetSubrectImageDecode(const ImageKey& key,
268 const ImageKey& key, 268 PaintImage image);
vmpstr 2017/05/16 17:43:27 for functions that don't store the paint image, yo
Khushal 2017/05/16 21:29:12 Done.
269 sk_sp<const SkImage> image);
270 269
271 // GetScaledImageDecode is called by DecodeImageInternal when the quality 270 // GetScaledImageDecode is called by DecodeImageInternal when the quality
272 // requires the image be scaled. Like DecodeImageInternal, it should be 271 // requires the image be scaled. Like DecodeImageInternal, it should be
273 // called with no lock acquired and it returns nullptr if the decoding or 272 // called with no lock acquired and it returns nullptr if the decoding or
274 // scaling failed. 273 // scaling failed.
275 std::unique_ptr<DecodedImage> GetScaledImageDecode( 274 std::unique_ptr<DecodedImage> GetScaledImageDecode(const ImageKey& key,
276 const ImageKey& key, 275 PaintImage image);
277 sk_sp<const SkImage> image);
278 276
279 void RefImage(const ImageKey& key); 277 void RefImage(const ImageKey& key);
280 void RefAtRasterImage(const ImageKey& key); 278 void RefAtRasterImage(const ImageKey& key);
281 void UnrefAtRasterImage(const ImageKey& key); 279 void UnrefAtRasterImage(const ImageKey& key);
282 280
283 // Helper function which dumps all images in a specific ImageMRUCache. 281 // Helper function which dumps all images in a specific ImageMRUCache.
284 void DumpImageMemoryForCache(const ImageMRUCache& cache, 282 void DumpImageMemoryForCache(const ImageMRUCache& cache,
285 const char* cache_name, 283 const char* cache_name,
286 base::trace_event::ProcessMemoryDump* pmd) const; 284 base::trace_event::ProcessMemoryDump* pmd) const;
287 285
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 ResourceFormat format_; 323 ResourceFormat format_;
326 size_t max_items_in_cache_; 324 size_t max_items_in_cache_;
327 325
328 // Used to uniquely identify DecodedImages for memory traces. 326 // Used to uniquely identify DecodedImages for memory traces.
329 base::AtomicSequenceNumber next_tracing_id_; 327 base::AtomicSequenceNumber next_tracing_id_;
330 }; 328 };
331 329
332 } // namespace cc 330 } // namespace cc
333 331
334 #endif // CC_TILES_SOFTWARE_IMAGE_DECODE_CACHE_H_ 332 #endif // CC_TILES_SOFTWARE_IMAGE_DECODE_CACHE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698