cblume
33e0cb5e7f
Store mipmap levels in deferred texture image
...
This is a follow-up to https://codereview.chromium.org/2115023002/ and
https://codereview.chromium.org/2034933003/ which were reverted due to
an access violation and a memory leak, respectively.
When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.
When creating a texture from that be sure to read it back out.
BUG=578304
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242883004
Review-Url: https://codereview.chromium.org/2242883004
2016-08-30 12:09:23 -07:00
brianosman
69c166d2ce
Add alphaType() to SkImage
...
Keep isOpaque as a convenience method -- many places really only need to
know that for optimization purposes (SrcOver -> Src, etc...).
In all the places where we pull data back out or convert to another
object and need to supply an SkImageInfo, we can avoid losing information
about premulness.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2250663002
Review-Url: https://codereview.chromium.org/2250663002
2016-08-17 14:01:05 -07:00
halcanary
e9d55c57a6
Revert of Store mipmap levels in deferred texture image (patchset #11 id:200001 of https://codereview.chromium.org/2115023002/ )
...
Reason for revert:
speculative revert: android dm crashes
Original issue's description:
> Store mipmap levels in deferred texture image
>
> This is a follow-up to https://codereview.chromium.org/2034933003/ which
> was reverted due to a memory leak.
>
> When creating the deferred texture image, detect if using medium / high
> quality. If so, generate and store mipmaps in the deferred texture
> image.
>
> When creating a texture from that be sure to read it back out.
>
> BUG=578304
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115023002
>
> Committed: https://skia.googlesource.com/skia/+/d6113140f7ae8996f679ac6698a60fb8c1386da3
TBR=brianosman@google.com ,bsalomon@google.com,ericrk@chromium.org,cblume@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=578304
Review-Url: https://codereview.chromium.org/2227323002
2016-08-09 17:46:25 -07:00
cblume
d6113140f7
Store mipmap levels in deferred texture image
...
This is a follow-up to https://codereview.chromium.org/2034933003/ which
was reverted due to a memory leak.
When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.
When creating a texture from that be sure to read it back out.
BUG=578304
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115023002
Review-Url: https://codereview.chromium.org/2115023002
2016-08-09 13:45:56 -07:00
brianosman
dddbe380b0
Adding an SkColorSpace to SkImage_Gpu
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165703003
Review-Url: https://codereview.chromium.org/2165703003
2016-07-20 13:55:39 -07:00
brianosman
9ecaa1d9f0
Remove unused MakeFromTextureCopy API
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165803002
Review-Url: https://codereview.chromium.org/2165803002
2016-07-19 14:16:49 -07:00
bsalomon
634b430080
Add a function to convert a texture backed SkImage to raster.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147493004
Review-Url: https://codereview.chromium.org/2147493004
2016-07-12 18:11:17 -07:00
brianosman
6efeda4838
Revert of Store mipmap levels in deferred texture image (patchset #15 id:280001 of https://codereview.chromium.org/2034933003/ )
...
Reason for revert:
Crashes on a few different bots (including ASAN). Examples:
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/6324
https://build.chromium.org/p/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Debug/builds/5400
https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/3539
Original issue's description:
> Store mipmap levels in deferred texture image
>
> When creating the deferred texture image, detect if using medium / high
> quality. If so, generate and store mipmaps in the deferred texture
> image.
>
> When creating a texture from that be sure to read it back out.
>
> BUG=578304
> R=bsalomon@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2034933003
>
> Committed: https://skia.googlesource.com/skia/+/b3105190a6e02d37f1d7f07a3a8bdd368ec7f157
TBR=bsalomon@google.com ,ericrk@chromium.org,cblume@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=578304
Review-Url: https://codereview.chromium.org/2083393002
2016-06-22 07:10:06 -07:00
cblume
b3105190a6
Store mipmap levels in deferred texture image
...
When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.
When creating a texture from that be sure to read it back out.
BUG=578304
R=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2034933003
Review-Url: https://codereview.chromium.org/2034933003
2016-06-21 13:43:13 -07:00
ericrk
b4da01d8f7
Add prescale option to deferred params
...
Currently, Skia always uploads GPU textures at full resolution. This
change allows us to pass a pre-scale mip level to the
deferred texture image logic, which causes us to pre-scale the image
to the given mip level, and upload that mip level instead of the full
image.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2007113008
Review-Url: https://codereview.chromium.org/2007113008
2016-06-13 11:18:14 -07:00
jbauman
b445a57e6c
Add NV12 texture conversion support.
...
If textures 1 and 2 passed into MakeFromYUVTexturesCopy are the same,
then treat the input as NV12 and sample from the g component of texture
2.
BUG=skia:5209
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2016593002
Review-Url: https://codereview.chromium.org/2016593002
2016-06-09 13:24:48 -07:00
cblume
186d2d430b
Plumbing mipmaps to the point of creation.
...
When creating a DeferredTextureImage we may create mipmaps.
Those mipmaps need to then be passed along for when the texture is
actually created.
R=bsalomon@google.com
BUG=578304
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031273002
Review-Url: https://codereview.chromium.org/2031273002
2016-06-03 11:17:42 -07:00
senorblanco
5878dbdf1b
Image filters: implement SkImage::makeWithFilter().
...
This API provides a way to directly filter a subregion of an SkImage
(usually texture-backed), and returns an SkImage which may include
extra padding, along with a size to indicate the active region.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1964043002
Review-Url: https://codereview.chromium.org/1964043002
2016-05-19 14:50:29 -07:00
reed
2a04104ba0
exernalize imagefactory guard
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1897453002
TBR=
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Review URL: https://codereview.chromium.org/1897453002
2016-04-15 10:56:52 -07:00
bsalomon
41b952c296
Add deferred texture upload API.
...
Performs thread-safe decoding of SkImage in order to later create a texture-backed SkImage.
The client allocates storage for the data.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1776693002
Review URL: https://codereview.chromium.org/1776693002
2016-03-11 06:46:33 -08:00
reed
7fb4f8bd03
Revert "Revert of add Make variations to return SkImage by sk_sp (patchset #5 id:80001 of https://codereview.chromium.org/1778393002/ )"
...
Fix was to call get() instead of release() when passing the sp to a bare-ptr method.
This reverts commit e683c56115
.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789443002
TBR=
Review URL: https://codereview.chromium.org/1789443002
2016-03-11 04:33:52 -08:00
robertphillips
e683c56115
Revert of add Make variations to return SkImage by sk_sp (patchset #5 id:80001 of https://codereview.chromium.org/1778393002/ )
...
Reason for revert:
Experimental revert to try to clear up ASAN failures
Original issue's description:
> add Make variations to return SkImage by sk_sp
>
> some internal call-sites update, but not. Will follow-up in future to complete that.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1778393002
>
> Committed: https://skia.googlesource.com/skia/+/bd73ffb83022f1f6b1997e2a91c049949e88a8a2
TBR=fmalita@chromium.org ,bsalomon@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1783063002
2016-03-10 16:18:46 -08:00
reed
bd73ffb830
add Make variations to return SkImage by sk_sp
...
some internal call-sites update, but not. Will follow-up in future to complete that.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1778393002
Review URL: https://codereview.chromium.org/1778393002
2016-03-10 12:45:18 -08:00
bsalomon
0d996868c3
Restore SkImage::NewTextureFromPixmap changes.
...
6ceeebd37a
contained the fix for the issues that prompted the revert (index8 bitmaps weren't drawing).
Revert "TBR=robertphillips@google.com"
This reverts commit 236640872f
.
TBR=
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1775263004
Review URL: https://codereview.chromium.org/1775263004
2016-03-09 18:44:43 -08:00
bsalomon
236640872f
TBR=robertphillips@google.com
...
Revert "Add SkImage::NewTextureFromPixmap"
This reverts commit 045afea979
.
Revert "Fix Mac bots because of failing readback of 565"
This reverts commit e344b26a7d
.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1777863003
Review URL: https://codereview.chromium.org/1777863003
2016-03-09 14:50:15 -08:00
reed
5671c5b912
SkImage now has makeShader to return sk_sp
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1785473002
Review URL: https://codereview.chromium.org/1785473002
2016-03-09 14:47:34 -08:00
reed
6ceeebd37a
unify peekPixels around pixmap parameter
...
requires this chrome CL to land first
https://codereview.chromium.org/1775393003/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1784563002
Review URL: https://codereview.chromium.org/1784563002
2016-03-09 14:26:26 -08:00
bsalomon
045afea979
Add SkImage::NewTextureFromPixmap
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1776913003
Review URL: https://codereview.chromium.org/1776913003
2016-03-09 11:31:18 -08:00
bsalomon
84a4e5a8d6
Remove internal calls to SkImage::getTexture
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1744243002
Review URL: https://codereview.chromium.org/1744243002
2016-02-29 11:41:52 -08:00
Brian Salomon
de3a726ad3
Make SkImage::readYUV8Planes const
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1660393003
BUG=skia:
Review URL: https://codereview.chromium.org/1660393003 .
2016-02-03 17:09:00 -05:00
bsalomon
f267c1efe7
Add ability to extract YUV planes from SkImage
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1513393002
Review URL: https://codereview.chromium.org/1513393002
2016-02-01 13:16:14 -08:00
bsalomon
8e74f80ca1
Add SkImage factory method that forces image to be resolved to a texture.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631053003
Review URL: https://codereview.chromium.org/1631053003
2016-01-30 10:01:40 -08:00
reed
22471ed134
remove SkImage::applyFilter() -- unused, can always re-add later
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1573653002
Review URL: https://codereview.chromium.org/1573653002
2016-01-08 17:21:47 -08:00
halcanary
6b28017781
SkPixelSerializer: support indexed pixels
...
By taking a SkPixmap, SkPixelSerializer::encode() can now handle colortables.
Review URL: https://codereview.chromium.org/1501303002
2015-12-07 12:42:24 -08:00
reed
095530389d
scaling API on SkPixmap
...
BUG=skia:4481
Review URL: https://codereview.chromium.org/1463373002
2015-11-23 12:32:16 -08:00
reed
d82bc7b90a
post-commit fixes to applyFilter CL
...
BUG=skia:
Review URL: https://codereview.chromium.org/1404483002
2015-10-12 13:17:23 -07:00
reed
88d064d0e4
add applyFilter() to SkImage
...
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
2015-10-12 11:30:02 -07:00
reed
af3fbfca0a
SkImage doesn't use props, so don't need to store it
...
BUG=skia:
TBR=bsalomon
Review URL: https://codereview.chromium.org/1372153006
2015-10-04 11:28:36 -07:00
fmalita
3f9deab9fc
Remove SkImage::newImage()
...
All clients converted to newSubset().
R=reed@google.com
Review URL: https://codereview.chromium.org/1364263002
2015-09-24 07:43:41 -07:00
reed
7b6945bc4e
remove unused (by the outside) SkImage::newSurface, and simplify newImage -> newSubset
...
BUG=skia:
Review URL: https://codereview.chromium.org/1364443002
2015-09-24 00:50:58 -07:00
reed
85d9178832
Use SkImageCacherator in SkImages
...
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
2015-09-10 14:33:38 -07:00
fmalita
2be7125f32
Add a SkPixelSerializer SkImage encode variant
...
R=reed@google.com
BUG=skia:4285
Review URL: https://codereview.chromium.org/1310633006
2015-09-03 07:17:25 -07:00
reed
86e90fafe1
add preroll to image, for chrome's warmup pass
...
BUG=skia:
Review URL: https://codereview.chromium.org/1301373007
2015-09-01 12:22:32 -07:00
fmalita
ddbbddabef
SkImage method for detecting lazy decoding
...
BUG=skia:4224
R=reed@google.com
Review URL: https://codereview.chromium.org/1305453007
2015-08-20 08:47:26 -07:00
reed
d5b75638f7
add SkImage::NewFromPicture and a GM to test it
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1288403002
2015-08-13 09:37:45 -07:00
reed
80c772b2a4
unify pixelref and image ID space, so we can share IDs when we share pixels
...
I view this as a performance opportunity, not a feature or bug fix per-se.
BUG=skia:
Review URL: https://codereview.chromium.org/1266883002
2015-07-30 18:58:23 -07:00
bsalomon
a449779a33
Remove test of illegal behavior that modifies a texture backing an SkImage.
...
Review URL: https://codereview.chromium.org/1244143004
2015-07-23 12:22:19 -07:00
reed
3c06511e91
Add image->bitmap
...
BUG=skia:
patch from issue 1212163012 at patchset 1 (http://crrev.com/1212163012#ps1 )
Review URL: https://codereview.chromium.org/1208993017
2015-07-08 12:46:23 -07:00
reed
5617900063
add SkImage::NewFromBitmap
...
BUG=skia:
Review URL: https://codereview.chromium.org/1217053003
2015-07-07 06:11:20 -07:00
reed
759373a9fe
add colortable param to newrastercopy
...
BUG=skia:
TBR=
NOTREECHECKS=True
Review URL: https://codereview.chromium.org/1222683004
2015-07-03 21:01:10 -07:00
bsalomon
c49e8682ab
Rename flushForExternalRead->flushForExternalIO and always call in SkSurface::getTextureHandle
...
Review URL: https://codereview.chromium.org/1216243003
2015-06-30 11:37:35 -07:00
mtklein
2766c00fc0
remove SkInstCnt
...
It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.
I'm not sure why our own builds seem unaffected.
Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0
BUG=skia:
Review URL: https://codereview.chromium.org/1217573002
2015-06-26 11:45:03 -07:00
reed
56b73fc63f
remove (legacy) NewFromData
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1199413003
2015-06-23 21:31:08 -07:00
reed
871872f3f2
change old picture serialization to really handle images
...
BUG=skia:3965
Review URL: https://codereview.chromium.org/1199473002
2015-06-22 12:48:26 -07:00
reed
de49988bc2
add callbacks to Images that wrap client-provided content
...
BUG=skia:
Review URL: https://codereview.chromium.org/1169553003
2015-06-18 13:41:40 -07:00