robertphillips
6e83ac778f
Defer flushes if kPreferNoIO is specified
...
Prior to this patch clients who were solely uploading to textures (e.g., SW Mask Mgr) would cause extra flushes b.c., even though kPreferNoIO was being specified, resources with pending IO would still be returned even though there was plenty of space in the resource cache.
Review URL: https://codereview.chromium.org/1286203002
2015-08-13 05:19:14 -07:00
bsalomon
6dc6f5f4a1
Add support for creating texture backed images where Skia will delete the texture.
...
Review URL: https://codereview.chromium.org/1187523005
2015-06-18 09:12:17 -07:00
vbuzinov
dded69693d
Implement support for mixed sampled render targets
...
Adds a new FBO type kStencil_MSFBOType that is selected whenever
NV_framebuffer_mixed_samples extension is available. In this new
FBO type a non-msaa color buffer is created with a multisampled
stencil buffer attachment.
Replaces numSamples() with separate numColorSamples and numStencilSamples
methods in RenderTarget.
In mixed samples mode non-MSAA codepaths are used to draw simple shapes,
while NVPR-rendered paths and text are rendered with a multisampled
stencil.
BUG=skia:3177
Review URL: https://codereview.chromium.org/1001503002
2015-06-12 08:59:45 -07:00
bsalomon
eb1cb5c5b5
rename GrDrawTargetCaps.h to GrCaps.h and move to include
...
Review URL: https://codereview.chromium.org/1135113005
2015-05-22 08:01:09 -07:00
bsalomon
6bc1b5fab8
Dynamically create stencil buffer when needed.
...
Review URL: https://codereview.chromium.org/938383004
2015-02-23 09:06:38 -08:00
bsalomon
d2a6f4e419
More cleanup around GrContext, textures, and SkGr.cpp
...
Review URL: https://codereview.chromium.org/880983008
2015-02-04 10:55:54 -08:00
bsalomon
c2f35b750a
Allow unbudgeted resources to be recycled by the cache as scratch.
...
Review URL: https://codereview.chromium.org/870743002
2015-01-23 07:19:22 -08:00
bsalomon
24db3b1c35
Add specialized content key class for resources.
...
Review URL: https://codereview.chromium.org/858123002
2015-01-23 04:24:05 -08:00
bsalomon
5236cf480d
Make uncached textures uncached from the get go.
...
This avoids the problem of a newly created uncached texture causing a purge of cached resources.
BUG=chromium:445885
Review URL: https://codereview.chromium.org/846303002
2015-01-14 10:42:08 -08:00
bsalomon
7775c85611
Add a simpler key type for scratch resource keys.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/815833004
2014-12-30 12:50:52 -08:00
jvanverth
39edf7664f
Rename GrGpuGL -> GrGLGpu
...
Review URL: https://codereview.chromium.org/824753002
2014-12-22 11:44:19 -08:00
bsalomon
71cb0c241e
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89
Review URL: https://codereview.chromium.org/716143004
2014-11-14 12:10:15 -08:00
bsalomon
ac49acda52
Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 id:120001 of https://codereview.chromium.org/716143004/ )
...
Reason for revert:
broken again
Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
>
> Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/726913002
2014-11-14 06:47:39 -08:00
bsalomon
407aa584d1
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
Review URL: https://codereview.chromium.org/716143004
2014-11-14 06:29:40 -08:00
bsalomon
f21dab9540
Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 id:100001 of https://codereview.chromium.org/716143004/ )
...
Reason for revert:
Breaking stuff
Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/715333003
2014-11-13 13:33:28 -08:00
bsalomon
66a450f21a
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/716143004
2014-11-13 13:19:10 -08:00
bsalomon
69ed47f42d
Make GrGpuResource::gpuMemorySize non-virtual w/ onGpuMemorySize virtual impl
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/702413003
2014-11-12 11:13:39 -08:00
bsalomon
8b79d23f82
Use GrResourceCache2 to service content key lookups
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/707493002
2014-11-10 10:19:06 -08:00
bsalomon
37dd331b20
Add class GrGLTextureRenderTarget for GL texture/rendertarget objects
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/695813003
2014-11-03 08:47:23 -08:00
bsalomon
f2703d83da
rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlags
...
Review URL: https://codereview.chromium.org/682223002
2014-10-28 14:33:06 -07:00
bsalomon
a0036c6e33
Delete unused method aliases and texture flag.
...
Committed: https://skia.googlesource.com/skia/+/7fdffe41494cbd78a8ee2a6ef0509e46ec77039f
Review URL: https://codereview.chromium.org/672753002
2014-10-24 12:46:57 -07:00
bsalomon
26979c8260
Revert of Delete unused method aliases and texture flag. (patchset #1 id:1 of https://codereview.chromium.org/672753002/ )
...
Reason for revert:
Need to remove one more reference to this in blink before relanding.
Original issue's description:
> Delete unused method aliases and texture flag.
>
> Committed: https://skia.googlesource.com/skia/+/7fdffe41494cbd78a8ee2a6ef0509e46ec77039f
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/671203002
2014-10-23 07:41:29 -07:00
bsalomon
7fdffe4149
Delete unused method aliases and texture flag.
...
Review URL: https://codereview.chromium.org/672753002
2014-10-23 06:56:55 -07:00
bsalomon
e30597375c
Remove uses of GrAutoScratchTexture.
...
Rename GrContext::lockAndRefScratchTexture to refScratchTexture.
GrSurface::writePixels returns bool instead of void.
BUG=skia:2889
Review URL: https://codereview.chromium.org/638403003
2014-10-14 11:47:22 -07:00
bsalomon
81beccc4fb
Devirtualize read/write pixels on surface.
...
Consolidate read/write funcs in context.
Remove support for reading pixels from a surface that's not a target. It's currently broken and neither used nor tested.
Review URL: https://codereview.chromium.org/648863002
2014-10-13 12:32:55 -07:00
bsalomon
bcf0a52d4f
GrResourceCache2 manages scratch texture.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/608883003
2014-10-08 08:40:09 -07:00
Brian Salomon
9323b8b8e1
Revert "GrResourceCache2 manages scratch texture."
...
This reverts commit d14e1a2764
.
2014-10-07 15:07:38 -04:00
bsalomon
d14e1a2764
GrResourceCache2 manages scratch texture.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/608883003
2014-10-07 07:27:07 -07:00
bsalomon
afbf2d6273
Make "priv" classes for GrTexure and GrSurface.
...
R=robertphillips@google.com , egdaniel@google.com , joshualitt@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/596053002
2014-09-30 12:18:44 -07:00
robertphillips
b06e5a2f55
Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001 of https://codereview.chromium.org/596053002/ )
...
Reason for revert:
Breaking the Chrome builds with:
lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()'
(http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio )
Original issue's description:
> Make "priv" classes for GrTexure and GrSurface.
R=egdaniel@google.com , joshualitt@google.com , bsalomon@google.com
TBR=bsalomon@google.com , egdaniel@google.com , joshualitt@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/618733002
2014-09-30 06:58:20 -07:00
robertphillips
dbe6074a06
Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/ )
...
Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio )
Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio )
Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/611383003
2014-09-30 06:54:17 -07:00
bsalomon
3d398c8764
GrResourceCache2 manages scratch texture.
...
BUG=skia:
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/608883003
2014-09-30 06:02:23 -07:00
bsalomon
c0eb9b9818
Make "priv" classes for GrTexure and GrSurface.
...
R=robertphillips@google.com , egdaniel@google.com , joshualitt@google.com , joshualitt@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/596053002
2014-09-29 14:20:11 -07:00
bsalomon
49f085dddf
"NULL !=" = NULL
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
bsalomon
744998e666
Make textures register with GrResourceCache2 as scratch.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/510053003
2014-08-28 09:54:34 -07:00
bsalomon
d4cb922ea1
Consider index8 a compressed config.
...
R=krajcevski@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/457333004
2014-08-11 14:19:09 -07:00
bsalomon
944bcf0acb
Some fixes around GrContext::abandonContext:
...
Fix debug crash when GrResourceCache is destroyed after GrContext is abandoned while GrTextures are in the exlusive list.
Notify debug GL context that GL resources are expected to remain undeleted when context is destroyed after being abandoned.
Stop leaking program cache entries when context is abandoned.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422323002
2014-07-29 08:01:52 -07:00
bsalomon
dcabb05113
Make GrCacheable implement its own ref counting.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/392333008
2014-07-21 14:24:01 -07:00
krajcevski
7ef21622b2
Add new ASTC pixel config
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/399623004
2014-07-16 15:21:14 -07:00
krajcevski
238b456a7c
R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs.
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/330763008
2014-06-30 09:09:22 -07:00
tfarina
f9dae780c2
Remove GrIsPow2 in favor of SkIsPow2.
...
Looks like there is no good reason to have two copies of this function
doing the same thing with different name.
BUG=None
TEST=make tests
R=bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/318873002
2014-06-06 06:35:28 -07:00
commit-bot@chromium.org
6e7ddaae0a
Move the LATC and ETC1 enum values to GrPixelConfig. I also tried to put in checks in a few places to make sure that we weren't using these pixel configurations in places that we shouldn't be.
...
LATC is a DXT-esque alpha compression format that goes by a few other names (RGTC, 3DC). It might be useful to investigate using it to compress the alpha masks that we get from software rasterization. This patch set adds enums for that and recognition whether or not the device can support it.
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/304743004
git-svn-id: http://skia.googlecode.com/svn/trunk@14991 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:55:58 +00:00
commit-bot@chromium.org
e49157f083
Factor GrTexture into public GrTexture and private GrTextureImpl.
...
Committed: http://code.google.com/p/skia/source/detail?r=14680
R=jvanverth@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275903002
git-svn-id: http://skia.googlecode.com/svn/trunk@14687 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:46:48 +00:00
commit-bot@chromium.org
59e7d23852
Revert of Factor GrTexture into public GrTexture and private GrTextureImpl. ( https://codereview.chromium.org/275903002/ )
...
Reason for revert:
Breaks chrome build.
Original issue's description:
> Factor GrTexture into public GrTexture and private GrTextureImpl.
>
> Committed: http://code.google.com/p/skia/source/detail?r=14680
R=jvanverth@google.com , robertphillips@google.com
TBR=jvanverth@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/278073002
git-svn-id: http://skia.googlecode.com/svn/trunk@14681 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 18:02:51 +00:00
commit-bot@chromium.org
bd465d141b
Factor GrTexture into public GrTexture and private GrTextureImpl.
...
R=jvanverth@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275903002
git-svn-id: http://skia.googlecode.com/svn/trunk@14680 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 17:37:55 +00:00
commit-bot@chromium.org
11c6b39cfa
Adds a mechanism for GrCacheable objects to notify the resource cache
...
when their size has changed. GrResourceCacheEntry now holds a
reference to the cache, and a cached value of the resource's most
recent size.
Also utilizes this new functionality for mipmaps, and adds a test for
changing resource sizes.
R=bsalomon@google.com , robertphillips@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/257093002
git-svn-id: http://skia.googlecode.com/svn/trunk@14576 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 19:09:13 +00:00
commit-bot@chromium.org
ab1c13864d
Fix compilation with SK_ENABLE_INST_COUNT=1
...
Add INHERITED declarations to class declarations that prevent
compilation with the flag.
Remove SK_DEFINE_INST_COUNT from all class implementations. Instead,
use function-local static variables in the reference count helper
classes to create the global instances to store the needed info. The
accessor functions are defined inline in the helper classes, so
definitions are not needed. The initialization point of the variables
should be as well defined as previously.
Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT
instead. This avoids possible future compilation errors further.
For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member
function to all classes that use SK_DECLARE_INST_COUNT and
SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes
contain public INHERITED typedef. This member function seems to be
compiled away. This shouĺd ensure that part of the compilation errors
are caught earlier.
Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses.
R=robertphillips@google.com , richardlin@chromium.org , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/98703002
git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 12:08:12 +00:00
robertphillips@google.com
0255a5d2fe
Minor changes
...
https://codereview.chromium.org/39973004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11940 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 14:03:01 +00:00
tfarina@chromium.org
f6de475e5c
Replace uses of GrAssert by SkASSERT.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/22850006
git-svn-id: http://skia.googlecode.com/svn/trunk@10789 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-17 00:02:59 +00:00
humper@google.com
b86add1ad3
make the filter mode for GrTextureAccess an enum so we can plumb down
...
the paint's filter modes to the GPU
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/20362002
git-svn-id: http://skia.googlecode.com/svn/trunk@10368 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 18:49:07 +00:00