aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image
Commit message (Collapse)AuthorAge
* SkPixelSerializer: support indexed pixelsGravatar halcanary2015-12-07
| | | | | | By taking a SkPixmap, SkPixelSerializer::encode() can now handle colortables. Review URL: https://codereview.chromium.org/1501303002
* detect when we can filter bitmaps/images directly, w/o a tmp layerGravatar reed2015-12-05
| | | | | | | | | | | | | | | | visual bench run on Mac Pro curr/maxrss loops min median mean max stddev samples config bench 100/100 MB 16 412µs 413µs 413µs 414µs 0% ▄▁▇▄▄▄▄█▄▃▅ gpu warmupbench 101/102 MB 32 547µs 548µs 611µs 1.24ms 34% █▁▁▁▁▁▁▁▁▁▁ gpu image-filter-sprite-draw-image 102/103 MB 32 547µs 548µs 721µs 1.23ms 41% █▁▇▁▁█▁▁▁▁▁ gpu image-filter-sprite-draw-bitmap 103/103 MB 64 546µs 546µs 546µs 547µs 0% ▆▄▂▁▇█▅▇▅▇▃ gpu image-filter-sprite-draw-sprite Should have no effect on Chrome while SK_SUPPORT_LEGACY_LAYER_BITMAP_IMAGEFILTERS is defined (which it is in chrome) BUG=skia:1073 Review URL: https://codereview.chromium.org/1491293002
* optimize the disable-caching case for SkImage::readPixelsGravatar reed2015-11-24
| | | | | | | | | | If the client wants no caching, and we haven't already cached it, pass the caller's dst-buffer directly down to the generator, avoiding the (previous) extra memcpy. BUG=skia:4594 Review URL: https://codereview.chromium.org/1473373002
* scaling API on SkPixmapGravatar reed2015-11-23
| | | | | | BUG=skia:4481 Review URL: https://codereview.chromium.org/1463373002
* Make bicubic FP factories return const FPsGravatar bsalomon2015-11-05
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1413403008
* Pull texture-backed bitmap resampler out of GrTextureParamsAdjuster code ↵Gravatar bsalomon2015-10-29
| | | | | | into its own class. Review URL: https://codereview.chromium.org/1420963008
* Remove min texture size supportGravatar bsalomon2015-10-28
| | | | | | BUG=skia:4524 Review URL: https://codereview.chromium.org/1430643002
* tunnel down texture-size-constraint to imagefiltersGravatar reed2015-10-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1421493003
* use (temp) gpu-imagefilter-cache for applyFilterGravatar reed2015-10-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1414653003
* Rewrite GrTextureMaker to disentangle bitmap case from base class and give ↵Gravatar bsalomon2015-10-20
| | | | | | | | | | GPU object a say in what copying needs to be done. Committed: https://skia.googlesource.com/skia/+/fcffaf22d697f06f903c3193308f9dc54a959f79 Committed: https://skia.googlesource.com/skia/+/1a197ea31e0aac7ea312e9a6c0d9f5df626b0350 Review URL: https://codereview.chromium.org/1409163002
* Revert recent CLs around GrTextureMaker/GrTextureParamsAdjusterGravatar Brian Salomon2015-10-19
| | | | Review URL: https://codereview.chromium.org/1411353002 .
* change SkImage_Gpu to handle all filters (w/ and w/o gpu supportGravatar reed2015-10-19
| | | | | | | | | | The result is that the set of "generic" imagefilters (e.g. SkColorFilterImageFilter) that use drawing commands to return their results will now stay in the same domain as their src (i.e. gpu-src --> gpu-dst). ApplyFilterGM exercises this, and now asserts this same-domain invariant. BUG=skia:4467 Review URL: https://codereview.chromium.org/1401053003
* Rewrite GrTextureMaker to disentangle bitmap case from base class and give ↵Gravatar bsalomon2015-10-19
| | | | | | | | GPU object a say in what copying needs to be done. Committed: https://skia.googlesource.com/skia/+/fcffaf22d697f06f903c3193308f9dc54a959f79 Review URL: https://codereview.chromium.org/1409163002
* Revert of Rewrite GrTextureMaker to disentangle bitmap case from base class ↵Gravatar egdaniel2015-10-16
| | | | | | | | | | | | | | | | | | | and give GPU object a say in what… (patchset #4 id:60001 of https://codereview.chromium.org/1409163002/ ) Reason for revert: breaking nanobench Original issue's description: > Rewrite GrTextureMaker to disentangle bitmap case from base class and give GPU object a say in what copying needs to be done. > > Committed: https://skia.googlesource.com/skia/+/fcffaf22d697f06f903c3193308f9dc54a959f79 TBR=reed@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1409923003
* Rewrite GrTextureMaker to disentangle bitmap case from base class and give ↵Gravatar bsalomon2015-10-16
| | | | | | GPU object a say in what copying needs to be done. Review URL: https://codereview.chromium.org/1409163002
* GrDrawContext now holds GrRenderTarget pointerGravatar robertphillips2015-10-15
| | | | Review URL: https://codereview.chromium.org/1404823005
* post-commit fixes to applyFilter CLGravatar reed2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1404483002
* add applyFilter() to SkImageGravatar reed2015-10-12
| | | | | | | | | | | | | | | Result: - clients can get a filtered version of an image without having to setup a temp drawing environment - for some cases, the process is more efficient even than (deprecated) drawSprite, since there is no need to draw/copy the result Impl: - made Proxy virtual so we don't need to have an existing device to use it This, in conjunction with LocalMatrixImageFilter, should allow us to simplify and optimize ApplyImageFilter() in cc/output/gl_renderer.cc BUG=skia: Review URL: https://codereview.chromium.org/1390913005
* Remove image usage type enum. Use GrTextureParams instead.Gravatar bsalomon2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1404433002
* Move functions from SkGr to SkGrPriv.hGravatar bsalomon2015-10-09
| | | | Review URL: https://codereview.chromium.org/1397123002
* Bye bye processor data manager.Gravatar bsalomon2015-10-06
| | | | Review URL: https://codereview.chromium.org/1388113002
* SkImage doesn't use props, so don't need to store itGravatar reed2015-10-04
| | | | | | | BUG=skia: TBR=bsalomon Review URL: https://codereview.chromium.org/1372153006
* Revert[4] of add ImageShader, sharing code with its Bitmap cousinGravatar reed2015-09-30
| | | | | | | | | | Now with GrTextureMaker subclasses to handle npot usage. This reverts commit 476506d070dbc59b158acc1a00c34bff95ab2968. BUG=skia: Review URL: https://codereview.chromium.org/1370223002
* Have /src files use header directly.Gravatar herb2015-09-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1373253003
* SkImage::NewFromBitmap works with Index8Gravatar halcanary2015-09-28
| | | | | | BUG=skia:4390 Review URL: https://codereview.chromium.org/1377473002
* Move SkAtomics.h to private.Gravatar herb2015-09-28
| | | | | | | | | | There are no API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1369333004
* Revert of Revert[2] of add ImageShader, sharing code with its Bitmap cousin ↵Gravatar reed2015-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #11 id:200001 of https://codereview.chromium.org/1352293002/ ) Reason for revert: guess: Need to handle NPOT support in shader case Original issue's description: > Revert[2] of add ImageShader, sharing code with its Bitmap cousin > > Adjustment from previous land : runtime check for npot-support when texture is requested for tiling. > > (patchset #10 id:180001 of https://codereview.chromium.org/1342113002/ ) > > This reverts commit f2608513626264459a00388537175600b515cae2. > > BUG=skia:4365 > > Committed: https://skia.googlesource.com/skia/+/fe05707c356d2a8c2c69222591d4cafbd456b4e5 TBR=fmalita@chromium.org,robertphillips@google.com,bsalomon@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4365 Review URL: https://codereview.chromium.org/1375673002
* Revert of change pixel-serializer to support reencoding existing data ↵Gravatar reed2015-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/1373683003/ ) Reason for revert: Need to somehow get access to encoders in chrome -- link error on the roll since SkImageEncoder is not built as part of chrome. Original issue's description: > change pixel-serializer to support reencoding existing data > > Trying to evolve this interface so it can > - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT > - allow for encoding images as well as bitmaps (e.g. for picture serialization) > - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/13f48dc85aa68a60da66aaf39c93d527d11d1278 TBR=scroggo@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1371983003
* change pixel-serializer to support reencoding existing dataGravatar reed2015-09-28
| | | | | | | | | | | Trying to evolve this interface so it can - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT - allow for encoding images as well as bitmaps (e.g. for picture serialization) - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format) BUG=skia: Review URL: https://codereview.chromium.org/1373683003
* Make skpaint->grpaint flow work for composing draws (verts and atlas)Gravatar bsalomon2015-09-28
| | | | | | One side effect is that the SkShader's (or implicit shader's) fragment processor is responsible for the transition from an unpremul paint color to a premul color. Review URL: https://codereview.chromium.org/1348583002
* Revert[2] of add ImageShader, sharing code with its Bitmap cousinGravatar reed2015-09-25
| | | | | | | | | | | | Adjustment from previous land : runtime check for npot-support when texture is requested for tiling. (patchset #10 id:180001 of https://codereview.chromium.org/1342113002/ ) This reverts commit f2608513626264459a00388537175600b515cae2. BUG=skia:4365 Review URL: https://codereview.chromium.org/1352293002
* Remove SkImage::newImage()Gravatar fmalita2015-09-24
| | | | | | | | All clients converted to newSubset(). R=reed@google.com Review URL: https://codereview.chromium.org/1364263002
* remove unused (by the outside) SkImage::newSurface, and simplify newImage -> ↵Gravatar reed2015-09-24
| | | | | | | | newSubset BUG=skia: Review URL: https://codereview.chromium.org/1364443002
* Remove SkNEW and SkDELETE macrosGravatar mdempsky2015-09-22
| | | | | | | | | | | | | | | This CL removes the uses of SkNEW that have resprouted since commit 385fe4d, and removes the macros entirely now that Android and Chromium have been cleaned up to no longer depend on them. A bunch of files implicitly depend on #include <new> from SkPostConfig.h still though, so keep that for now. To be fixed in a followup CL. [mtklein mucking around] Only public API removed. TBR=reed@google.com Review URL: https://codereview.chromium.org/1360653004
* Revert of add ImageShader, sharing code with its Bitmap cousin (patchset #10 ↵Gravatar tomhudson2015-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:180001 of https://codereview.chromium.org/1342113002/ ) Reason for revert: Failing ImageNewShaderTest on both Android (Tegra3 GPU) and iOS bots. e.g. /Users/chrome-bot/buildbot/skiabot-ipad4-000/build/slave/workdir/build/skia/tests/ ImageNewShaderTest.cpp:24 0 == memcmp(bm1.getPixels(), bm2.getPixels(), bm1.getSize()) ImageNewShaderTest.cpp:95 0xFFFF0000 == bmt.getColor(0, y) ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y) ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y) ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y) ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y) ImageNewShaderTest.cpp:95 0xFFFF0000 == bmt.getColor(0, y) ... Original issue's description: > add ImageShader, sharing code with its Bitmap cousin > > This is done by having abstracted the BitmapShaderContext to take a BitmapProvider, instead of just a bitmap. This allows us to share all of that code between SkBitmap and SkImage, since both are valid providers. > > It also means that we can simplify SkImage_Base to not need a virtual for onNewShader, since ALL images can uniformly be turned into a shader now. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/0b93e3149d2cb30860c51f9f3204ae811d9a97ca TBR=fmalita@chromium.org,bsalomon@google.com,robertphillips@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1355863002
* add ImageShader, sharing code with its Bitmap cousinGravatar reed2015-09-18
| | | | | | | | | | This is done by having abstracted the BitmapShaderContext to take a BitmapProvider, instead of just a bitmap. This allows us to share all of that code between SkBitmap and SkImage, since both are valid providers. It also means that we can simplify SkImage_Base to not need a virtual for onNewShader, since ALL images can uniformly be turned into a shader now. BUG=skia: Review URL: https://codereview.chromium.org/1342113002
* Purge cached resources on SkImage destruction.Gravatar fmalita2015-09-18
| | | | | | | BUG=532981 R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1352883004
* share IDs between cacherator and its host-imageGravatar reed2015-09-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1357543002
* have raster-image return itself as a textureGravatar reed2015-09-16
| | | | | | | | This tickles skbug.com/4351, but we don't know how to fix that yet, so we think this CL is ok. BUG=skia: Review URL: https://codereview.chromium.org/1348023004
* remove code from SK_SUPPORT_LEGACY_NEWFROMGENERATOR, eliminates caller of ↵Gravatar reed2015-09-14
| | | | | | | | deprecated SkInstallDiscardablePixelRef BUG=skia: Review URL: https://codereview.chromium.org/1344663002
* impl preroll for all image backendsGravatar reed2015-09-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1341043002
* Use SkImageCacherator in SkImagesGravatar reed2015-09-10
| | | | | | | | | | | | Possible follow-up changes to consider 1. Roll SkImage_Raster and _Gpu into _Generator, where the generator (or cacherator) is backed by a pre-existing texture or raster. 2. Evolve SkImageUsageType into a verb requiring stretching, and have the caller (common code) digest the caps() and usage, so that subclasses are just told what to do (stretch or not) 3. Common code/utility to convert an unstretched texture into a stretch one (and cache it) if the generator can only make an unstretched one. BUG=skia: Review URL: https://codereview.chromium.org/1282363002
* make a shallow-copy so we don't get racy trying to lock/unlock our private ↵Gravatar reed2015-09-10
| | | | | | | | | bitmap BUG= 529995 NOTREECHECKS=True Review URL: https://codereview.chromium.org/1327313002
* Add a SkPixelSerializer SkImage encode variantGravatar fmalita2015-09-03
| | | | | | | R=reed@google.com BUG=skia:4285 Review URL: https://codereview.chromium.org/1310633006
* forgot base implGravatar reed2015-09-02
| | | | | | | BUG=skia: TBR=fmalita Review URL: https://codereview.chromium.org/1323173002
* add preroll to image, for chrome's warmup passGravatar reed2015-09-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1301373007
* Limit lifetime of GrDrawContext objectsGravatar robertphillips2015-09-01
| | | | | | GrDrawContext's are about to become real allocated objects. This CL sets up the machinery so they won't leak. Review URL: https://codereview.chromium.org/1321353002
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Remove GrStagedProcessor, remove the word Stage as it applies to FPsGravatar bsalomon2015-08-27
| | | | | | Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7 Review URL: https://codereview.chromium.org/1307223004
* Style Change: SkNEW->new; SkDELETE->deleteGravatar halcanary2015-08-26
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003