bsalomon
752f6ea78e
Remove unneeded variables from ResourceCache test
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2295883002
Review-Url: https://codereview.chromium.org/2295883002
2016-08-30 10:27:20 -07:00
bsalomon
9a44565e99
Remove custom data from GrGpuResource
...
Chrome is no longer relying on this feature to track mailboxes for textures.
BUG=skia:4134
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2291203002
Review-Url: https://codereview.chromium.org/2291203002
2016-08-30 09:42:30 -07:00
bungeman
38d909ec28
Move off SK_SUPPORT_LEGACY_DATA_FACTORIES.
...
This moves Skia code off of SK_SUPPORT_LEGACY_DATA_FACTORIES.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206633004
Review-Url: https://codereview.chromium.org/2206633004
2016-08-02 14:40:46 -07:00
bsalomon
8b7451aaf6
Turn ContextInfos returned by GrContextFactory into structs.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966013002
Review-Url: https://codereview.chromium.org/1966013002
2016-05-11 06:33:06 -07:00
kkinnunen
2e6055b3ea
Refactor to separate backend object lifecycle and GpuResource budget decision
...
Refactor GrGpuResource to contain two different pieces of state:
a) instance is budgeted or not budgeted
b) instance references wrapped backend objects or not
The "object lifecycle" was also attached to backend object
handles (ids), which made the code a bit unclear. Backend objects
would be associated with GrGpuResource::LifeCycle, even though
GrGpuResource::LifeCycle refers to the GpuResource, and individual
backend objects in one GpuResource might be governed with different
"lifecycle".
Mark the budgeted/not budgeted with SkBudgeted::kYes, SkBudgeted::kNo.
This was previously GrGpuResource::kCached_LifeCycle,
GrGpuResource::kUncached_LifeCycle.
Mark the "references wrapped object" with boolean. This was previously
GrGpuResource::kBorrowed_LifeCycle,
GrGpuResource::kAdopted_LifeCycle for GrGpuResource.
Associate the backend object ownership status with
GrBackendObjectOwnership for the backend object handles.
The resource type leaf constuctors, such has GrGLTexture or
GrGLTextureRenderTarget take "budgeted" parameter. This parameter
is passed to GrGpuResource::registerWithCache().
The resource type intermediary constructors, such as GrGLTexture
constructors for class GrGLTextureRenderTarget do not take "budgeted"
parameters, intermediary construtors do not call registerWithCache.
Removes the need for tagging GrGpuResource -derived subclass
constructors with "Derived" parameter.
Makes instances that wrap backend objects be registered with
a new function GrGpuResource::registerWithCacheWrapped().
Removes "budgeted" parameter from classes such as StencilAttahment, as
they are always cached and never wrap any external backend objects.
Removes the use of concept "external" from the member function names.
The API refers to the objects as "wrapped", so make all related
functions use the term consistently.
No change in functionality. Resources referencing wrapped objects are
always inserted to the cache with budget decision kNo.
BUG=594928
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862043002
Review URL: https://codereview.chromium.org/1862043002
2016-04-22 01:48:29 -07:00
bsalomon
68d9134bec
Make more unit tests run on Vulkan
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885623002
Review URL: https://codereview.chromium.org/1885623002
2016-04-12 09:59:58 -07:00
bsalomon
758586c7f1
Make existing unit tests only run on GL contexts
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869503002
Review URL: https://codereview.chromium.org/1869503002
2016-04-06 14:02:39 -07:00
bsalomon
f2f1c17e33
One signature for creating unit tests that run on premade GrContexts
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1860593002
Review URL: https://codereview.chromium.org/1860593002
2016-04-05 12:59:06 -07:00
reed
e8f3062a36
switch surface to sk_sp
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1817383002
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/1817383002
2016-03-23 18:59:25 -07:00
mtklein
5f939ab658
Use std::unique_ptr.
...
TBR=reed@google.com
Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940
Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1780933003
Committed: https://skia.googlesource.com/skia/+/2691d76a06e1af6282f8b3a3140cc93361be10c4
Review URL: https://codereview.chromium.org/1780933003
2016-03-16 10:28:35 -07:00
mtklein
e7ec417268
Revert of Use std::unique_ptr. (patchset #10 id:170001 of https://codereview.chromium.org/1780933003/ )
...
Reason for revert:
aww jeez, I dropped ps 8...
Original issue's description:
> Use std::unique_ptr.
>
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940
>
> Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1780933003
>
> Committed: https://skia.googlesource.com/skia/+/2691d76a06e1af6282f8b3a3140cc93361be10c4
TBR=bungeman@google.com ,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1809693002
2016-03-16 10:03:15 -07:00
mtklein
2691d76a06
Use std::unique_ptr.
...
TBR=reed@google.com
Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940
Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1780933003
Review URL: https://codereview.chromium.org/1780933003
2016-03-16 08:39:42 -07:00
mtklein
218c846ac0
Revert of Use std::unique_ptr. (patchset #8 id:130001 of https://codereview.chromium.org/1780933003/ )
...
Reason for revert:
Another Android ambiguity due to implicit bool...
frameworks/base/core/jni/android/graphics/Utils.cpp:110:35: error: call of overloaded 'SkMemoryStream(SkAutoTUnref<SkData>&)' is ambiguous
return new SkMemoryStream(data);
Original issue's description:
> Use std::unique_ptr.
>
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940
>
> Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450
TBR=bungeman@google.com ,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1785353002
2016-03-11 06:10:30 -08:00
mtklein
3dd9ed37c2
Use std::unique_ptr.
...
TBR=reed@google.com
Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940
Review URL: https://codereview.chromium.org/1780933003
2016-03-11 05:18:48 -08:00
mtklein
977c07dad2
Revert of Use std::unique_ptr. (patchset #7 id:120001 of https://codereview.chromium.org/1780933003/ )
...
Reason for revert:
Now we remember! The problem was Clank:
https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/34329
Original issue's description:
> Use std::unique_ptr.
>
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940
TBR=bungeman@google.com ,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1782973002
2016-03-10 11:31:27 -08:00
mtklein
20c1e3abfc
Use std::unique_ptr.
...
TBR=reed@google.com
Review URL: https://codereview.chromium.org/1780933003
2016-03-10 10:10:03 -08:00
bsalomon
5ec26ae9bf
Move Budgeted enum out of SkSurface, use in GrTextureProvider
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
DOCS_PREVIEW= https://skia.org/?cl=1728093005
Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c
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/1728093005
2016-02-25 08:33:02 -08:00
bsalomon
bd500f09ce
Revert of Move Budgeted enum out of SkSurface, use in GrTextureProvider (patchset #6 id:100001 of https://codereview.chromium.org/1728093005/ )
...
Reason for revert:
Need workaround for chrome to build
Original issue's description:
> Move Budgeted enum out of SkSurface, use in GrTextureProvider
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
> DOCS_PREVIEW= https://skia.org/?cl=1728093005
>
> Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c
TBR=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/1734043002
2016-02-25 06:52:12 -08:00
bsalomon
57599fe6c0
Move Budgeted enum out of SkSurface, use in GrTextureProvider
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
DOCS_PREVIEW= https://skia.org/?cl=1728093005
Review URL: https://codereview.chromium.org/1728093005
2016-02-25 06:33:27 -08:00
bsalomon
e63ffef624
Remove deferred clear from SkGpuDevice
...
Add combining to GrClearBatch
Fix issue with state tracking in GrGLGpu::createTestingOnlyBackendTexture
Add tests for clearing GPU SkSurfaces and add tests for GrDrawContext::clear().
Add comment that SkCanvas::flush will resolve the RT in the GPU case.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658823002
Review URL: https://codereview.chromium.org/1658823002
2016-02-05 07:17:34 -08:00
kkinnunen
1530283c48
Generate list of GPU contexts outside tests
...
Use DEF_GPUTEST_FOR_*_CONTEXT macros to obtain the
test GPU context.
Makes changing the context -related classes easier,
since not all tests need to be changed.
BUG=skia:2992
Review URL: https://codereview.chromium.org/1448873002
2015-12-01 04:35:26 -08:00
bsalomon
67d7620285
Fix leaks in unit tests of GrGLTextureInfos
...
TBR=egdaniel@google.com
Review URL: https://codereview.chromium.org/1433353005
2015-11-11 12:40:42 -08:00
bsalomon
091f60c2a0
Use a struct for client GL texture handles
...
Review URL: https://codereview.chromium.org/1429863009
2015-11-10 11:54:57 -08:00
bsalomon
473addf176
Remove separate cache for clip mask textures
...
Review URL: https://codereview.chromium.org/1377943003
2015-10-02 07:49:06 -07:00
Brian Salomon
89438a1dce
Fix leak in ResourceCache test
...
Review URL: https://codereview.chromium.org/1359333004 .
2015-09-24 13:22:45 -04:00
bsalomon
c6363ef7b4
Make methods on GrGpuResource safe to call on abandoned resource
...
BUG=chromium:528908
Review URL: https://codereview.chromium.org/1367533004
2015-09-24 07:07:40 -07:00
egdaniel
ec00d94199
Move some of the adding stencil attachment logic of Gpu and into Render Target.
...
The new flow of calls for attaching a Stencil looks like:
Client
rt->attachStencilAttachment()
gpu->getStencilAttachment()
glgpu->createStencilAttachment()
glrt->completeStencilAttachment() //actually attaches
BUG=skia:
Review URL: https://codereview.chromium.org/1333383002
2015-09-14 12:56:10 -07:00
halcanary
96fcdcc219
Style Change: NULL->nullptr
...
DOCS_PREVIEW= https://skia.org/?cl=1316233002
Review URL: https://codereview.chromium.org/1316233002
2015-08-27 07:41:16 -07:00
halcanary
385fe4d4b6
Style Change: SkNEW->new; SkDELETE->delete
...
DOCS_PREVIEW= https://skia.org/?cl=1316123003
Review URL: https://codereview.chromium.org/1316123003
2015-08-26 13:07:49 -07:00
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
senorblanco
84cd621670
Implement caching of filled paths in the tessellated path renderer.
...
Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.
Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.
In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.
Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.
BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004
Committed: https://skia.googlesource.com/skia/+/468dfa72eb6694145487be17876804dfca3b7adb
Review URL: https://codereview.chromium.org/1114353004
2015-08-04 10:01:58 -07:00
mtklein
562a66b093
Revert "Implement caching of filled paths in the tessellated path renderer."
...
This reverts commit 468dfa72eb
.
This CL caused signficant GM diffs.
Revert "Fix resource cache test."
This reverts commit b001c41ed3
.
Revert "Fix SkData leaks at GrResourceKey::setCustomData() call sites."
This reverts commit c369348aa5
.
These CLs depend on the first one.
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1260363007
2015-08-04 08:46:16 -07:00
Stephen White
c369348aa5
Fix SkData leaks at GrResourceKey::setCustomData() call sites.
...
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1270103003 .
2015-08-03 21:53:09 -04:00
Stephen White
b001c41ed3
Fix resource cache test.
...
TBR=bsalomon@chromium.org
Review URL: https://codereview.chromium.org/1257253007 .
2015-08-03 16:30:23 -04:00
senorblanco
468dfa72eb
Implement caching of filled paths in the tessellated path renderer.
...
Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.
Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.
In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.
Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.
BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004
Review URL: https://codereview.chromium.org/1114353004
2015-08-03 13:04:03 -07:00
jvanverth
3e5f55542c
Various GL testing fixes
...
Check for GL context when printing NVPR error string.
Fix some indenting.
Review URL: https://codereview.chromium.org/1235283004
2015-07-16 07:46:07 -07:00
jvanverth
eeb8d99b4e
Only run test_wrapped_resources() when GL is active
...
Review URL: https://codereview.chromium.org/1234233002
2015-07-15 10:16:56 -07:00
jvanverth
8895792877
Rename backing texture testing routines
...
Review URL: https://codereview.chromium.org/1230193006
2015-07-14 11:02:52 -07:00
jvanverth
672bb7fc66
Remove GL-specific code from GMs and tests
...
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1232173002
2015-07-13 07:19:57 -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
f9ad558943
Revert of Revert of Return GrGLContext from GrTestTarget (patchset #1 id:1 of https://codereview.chromium.org/1211123004/ )
...
Reason for revert:
un-referting, did not help DEPS roll
Original issue's description:
> Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/1207393002/ )
>
> Reason for revert:
> speculative revert to unblock DEPS roll (layout-tests)
>
> Original issue's description:
> > Return GrGLContext from GrTestTarget
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/b6d93ea428ca5d13641c35faca7d0380980a3a17
>
> TBR=bsalomon@google.com ,joshualitt@google.com,joshualitt@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1852ec2b46a2a0efbb3550ff4d8b640f56a810e9
TBR=bsalomon@google.com ,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1215593002
2015-06-25 21:29:25 -07:00
reed
1852ec2b46
Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/1207393002/ )
...
Reason for revert:
speculative revert to unblock DEPS roll (layout-tests)
Original issue's description:
> Return GrGLContext from GrTestTarget
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b6d93ea428ca5d13641c35faca7d0380980a3a17
TBR=bsalomon@google.com ,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1211123004
2015-06-25 18:59:32 -07:00
joshualitt
b6d93ea428
Return GrGLContext from GrTestTarget
...
BUG=skia:
Review URL: https://codereview.chromium.org/1207393002
2015-06-25 15:02:22 -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
7622863095
Add direct getter for GrCaps to GrContext.
...
TBR=joshualitt@google.com
Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99
Review URL: https://codereview.chromium.org/1149773005
2015-05-29 08:02:10 -07:00
bsalomon
084d1b61bc
Revert of Add direct getter for GrCaps to GrContext. (patchset #4 id:60001 of https://codereview.chromium.org/1149773005/ )
...
Reason for revert:
Breaking
Original issue's description:
> Add direct getter for GrCaps to GrContext.
>
> TBR=joshualitt@google.com
>
> Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99
TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1164443002
2015-05-28 08:20:58 -07:00
bsalomon
9138c46e57
Add direct getter for GrCaps to GrContext.
...
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/1149773005
2015-05-28 08:13:16 -07:00
bsalomon
d309e7aa0e
This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types.
...
Review URL: https://codereview.chromium.org/1107973004
2015-04-30 14:18:54 -07:00
egdaniel
8dc7c3a839
Rename GrStencilBuffer to GrStencilAttachment
...
BUG=skia:
Review URL: https://codereview.chromium.org/1083133002
2015-04-16 11:22:42 -07:00
bsalomon
3f324321cd
Add mechanism to proactively purge old resources in GrResourceCache.
...
This change leaves the feature turned off by default.
Review URL: https://codereview.chromium.org/1032873002
2015-04-08 11:01:55 -07:00
mtklein
36352bf5e3
C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}
...
NOPRESUBMIT=true
BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002
Review URL: https://codereview.chromium.org/1037793002
2015-03-25 18:17:32 -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
b602d4dff8
Speculative fix for nexus player unit test failure
...
TBR=robertphillips@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/941433006
2015-02-19 12:05:58 -08:00
bsalomon
ddf30e64fe
Handle the case when the GrResourceCache timestamp wraps.
...
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/916103006
2015-02-19 11:38:45 -08:00
bsalomon
02a44a4886
Recycle stencil buffers across render targets.
...
Review URL: https://codereview.chromium.org/939093002
2015-02-19 09:09:00 -08:00
bsalomon
f99e961f55
Allow resources' unique keys to be changed.
...
Review URL: https://codereview.chromium.org/938943002
2015-02-19 08:24:16 -08:00
bsalomon
8718aafec2
Rename GrContentKey to GrUniqueKey
...
Review URL: https://codereview.chromium.org/940463006
2015-02-19 07:24:21 -08:00
bsalomon
3582d3ee9f
Split out methods in GrGpuResource::CacheAccess that can be called outside of the cache.
...
Review URL: https://codereview.chromium.org/923143002
2015-02-13 14:20:05 -08:00
bsalomon
0ea80f43a1
Rename GrResourceCache2->GrResourceCache
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/921453002
2015-02-11 10:49:59 -08:00
bsalomon
23e619cf46
Reimplement gpu message bus for invalidated bitmap gen IDs
...
Review URL: https://codereview.chromium.org/902873002
2015-02-06 11:54:28 -08:00
bsalomon
63c992f6c0
Fix the speeling of "purgeable" in Gr code
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/874693002
2015-01-23 12:47:59 -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
1c60dfe7ca
Reland https://codereview.chromium.org/860333002 with fix for test failures.
...
Revert "Revert of Make GrScratchKey memory buffer correct size on copy (patchset #1 id:1 of https://codereview.chromium.org/860333002/ )"
This reverts commit 988018c817
.
BUG=skia:
Review URL: https://codereview.chromium.org/863983003
2015-01-21 09:32:40 -08:00
mtklein
988018c817
Revert of Make GrScratchKey memory buffer correct size on copy (patchset #1 id:1 of https://codereview.chromium.org/860333002/ )
...
Reason for revert:
Our Valgrind bot just spewed out a weird error. I don't know if it's related, but it looks at least like one of the stacks was in the right area, so I'm going to revert this precautionarily. Sorry if this is a false positive.
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/266/steps/dm/logs/stdio
Original issue's description:
> Make GrScratchKey memory buffer correct size on copy
>
> Scratch key memory buffer of a copy of a key was too big. The (new) copy
> was N times uint32_t bytes instead of N bytes.
>
> Adds few tests to resource cache. These tests would not catch the too
> big buffer. This is just a precaution for too small buffers. The main
> idea of the test change is that the scratch key should contain some
> information, so that lookup with a scratch key can also return no
> match. Otherwise testing of scratch lookup result is not indicative of
> correct code (eg. no-information scratch key will always match).
>
> Committed: https://skia.googlesource.com/skia/+/711ef4831363fb8cbdf061dc2c36c65b13c0ccf2
TBR=bsalomon@google.com ,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/864833003
2015-01-21 08:05:55 -08:00
kkinnunen
711ef48313
Make GrScratchKey memory buffer correct size on copy
...
Scratch key memory buffer of a copy of a key was too big. The (new) copy
was N times uint32_t bytes instead of N bytes.
Adds few tests to resource cache. These tests would not catch the too
big buffer. This is just a precaution for too small buffers. The main
idea of the test change is that the scratch key should contain some
information, so that lookup with a scratch key can also return no
match. Otherwise testing of scratch lookup result is not indicative of
correct code (eg. no-information scratch key will always match).
Review URL: https://codereview.chromium.org/860333002
2015-01-21 06:39:14 -08:00
bsalomon
afe3005be3
Require budget decision when creating a RenderTarget SkSurface.
...
Restructure SkGpuDevice creation:
*SkSurfaceProps are optional.
*Use SkSurfaceProps to communicate DF text rather than a flag.
*Tell SkGpuDevice::Create whether RT comes from cache or not.
Review URL: https://codereview.chromium.org/848903004
2015-01-16 07:32:33 -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
bsalomon
10e23caea3
Use scratch keys for stencil buffers.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/91175f19664a62851da4ca4e0984a7c7c45b258f
Review URL: https://codereview.chromium.org/747043004
2014-11-25 05:52:06 -08:00
bsalomon
19cd0f1813
Revert "Use scratch keys for stencil buffers."
...
This reverts commit 91175f1966
.
Revert "Cleanup res cache bench and split out into a unit test."
This reverts commit 4e4303f002
.
Revert "rebaselines"
This reverts commit 65ba7b5775
.
TBR=tomhudson@google.com
Review URL: https://codereview.chromium.org/752233002
2014-11-24 12:19:06 -08:00
bsalomon
4e4303f002
Cleanup res cache bench and split out into a unit test.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/754833002
2014-11-24 08:25:05 -08:00
bsalomon
84c8e62fad
Allow GPU resources to not be counted against the cache budget.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/721353002
2014-11-17 09:33:27 -08:00
bsalomon
dace19ec17
Correct accounting for wrapped resources
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/720033004
2014-11-17 07:34:06 -08:00
bsalomon
12299ab7a1
Make GrResourceCache2 responsible for calling release, abandon, and ~.
...
BUG=skia:2889
TBR=robertphillips@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/729683002
2014-11-14 13:33:09 -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
48ea202817
set key data in duplicate scratch key unit test
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/722763002
2014-11-12 10:28:17 -08:00
bsalomon
453cf40ac7
Add GrGpuResource::CacheAccess
...
Internal only helper class for manipulating and accessing cache keys.
BUG=skia:2889
Review URL: https://codereview.chromium.org/703303003
2014-11-11 14:15:57 -08:00
bsalomon
6d4488c5e0
Remove all knowledge of resource keys from the legacy cache.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/705413002
2014-11-11 07:27:16 -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
3343557421
Add mock context and use in ResourceCacheTest.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30
Review URL: https://codereview.chromium.org/702083003
2014-11-05 14:47:42 -08:00
bsalomon
fdcf2c0863
Revert of Add mock context and use in ResourceCacheTest. (patchset #4 id:60001 of https://codereview.chromium.org/702083003/ )
...
Reason for revert:
Breaking tests
Original issue's description:
> Add mock context and use in ResourceCacheTest.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/704563004
2014-11-05 12:30:32 -08:00
bsalomon
820dd6c335
Add mock context and use in ResourceCacheTest.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/702083003
2014-11-05 12:09:45 -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
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
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
reed
4a8126e7f8
Introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/ )"
...
This reverts commit 29c857d0f3
.
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/588143004
2014-09-22 07:29:03 -07:00
reed
29c857d0f3
Revert of introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/ )
...
Reason for revert:
Broke call site in WebKit
Original issue's description:
> introduce Props to surface (work in progress)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda
R=robertphillips@google.com , bsalomon@google.com , jvanverth@google.com , bungeman@google.com , fmalita@google.com , vangelis@chromium.org , reed@google.com
TBR=bsalomon@google.com , bungeman@google.com , fmalita@google.com , jvanverth@google.com , reed@google.com , robertphillips@google.com , vangelis@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/583773004
2014-09-21 10:25:07 -07:00
reed
3716fd067a
introduce Props to surface (work in progress)
...
BUG=skia:
R=robertphillips@google.com , bsalomon@google.com , jvanverth@google.com , bungeman@google.com , fmalita@google.com , vangelis@chromium.org , reed@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/551463004
2014-09-21 09:39:55 -07:00
reed
69f6f00fd9
use surface instead of explicitly making gpudevice
...
TBR=bsalomon
Author: reed@google.com
Review URL: https://codereview.chromium.org/585493002
2014-09-18 06:09:44 -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
23b406cc04
Make SkGpuDevice constructors private.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/517033002
2014-08-28 14:06:42 -07:00
bsalomon
169612621f
Make GrGpuResources register with GrResourceCache2 after fully constructed.
...
Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/504313002
2014-08-26 14:01:07 -07:00
bsalomon
a2b0af82f0
Revert of Make GrGpuResources register with GrResourceCache2 after fully constructed. (patchset #3 of https://codereview.chromium.org/504313002/ )
...
Reason for revert:
Breaking the bots
Original issue's description:
> Make GrGpuResources register with GrResourceCache2 after fully constructed.
>
> Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/488463004
2014-08-26 13:11:11 -07:00
bsalomon
d68b3e491b
Make GrGpuResources register with GrResourceCache2 after fully constructed.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/504313002
2014-08-26 12:51:20 -07:00
bsalomon
6d3fe022d6
Rename GrGpuObject to GrGpuResource
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/418143004
2014-07-25 08:35:45 -07:00
bsalomon
c44be0e9e4
Merge GrGpuObject and GrCacheable.
...
We want to create a new base class for "meta" gr resources as part of the GrResourceCache rewrite and this is an iterim step towards that goal.s
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/414013005
2014-07-25 07:32:33 -07:00
commit-bot@chromium.org
95c2003740
cleanup GrContext resource cache api
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275563005
git-svn-id: http://skia.googlecode.com/svn/trunk@14669 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 14:29:32 +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
089a780c33
Split GrResource into GrCacheable/GrGpuObject
...
Before this change, an object needed to inherit from GrResource (and
thus be a GPU object) in order to live in the GrResourceCache. That
was a problem for caching items that weren't GPU objects themselves,
but owned GPU objects.
This change splits GrResource into two classes:
1. GrCacheable: The base class for objects that can live in the
GrResourceCache.
2. GrGpuObject, which inherits from GrCacheable: The base class for
objects that get tracked by GrGpu.
This change is purely a refactor; there is no change in functionality.
Change-Id: I3e8daeb1f123041f414aa306c1366e959ae9e39e
BUG=skia:
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/251013002
git-svn-id: http://skia.googlecode.com/svn/trunk@14553 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 21:38:22 +00:00
mike@reedtribe.org
deee496cd3
replace setConfig+allocPixels with single call
...
BUG=skia:
Review URL: https://codereview.chromium.org/162643002
git-svn-id: http://skia.googlecode.com/svn/trunk@13426 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 14:41:43 +00:00
commit-bot@chromium.org
bd58febffb
Speed up GrResourceCache add and lookup by using TDynamicHash
...
Speed up GrResourceCache add and lookup by using TDynamicHash instead
of GrTHashTable. GrTHashTable spends most of its time memmoving the
array elements while sorting after an add. Lookup is not particularly
fast either.
R=mtklein@google.com , bsalomon@google.com , reed@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/91453002
git-svn-id: http://skia.googlecode.com/svn/trunk@13122 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 17:56:21 +00:00
commit-bot@chromium.org
c665804300
Move SkMessageBus::Get out of header, and retry crrev.com/106563002.
...
BUG=
R=bsalomon@google.com , kkinnunen@nvidia.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/140053002
git-svn-id: http://skia.googlecode.com/svn/trunk@13104 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 23:09:01 +00:00
commit-bot@chromium.org
e2eac8b2fd
Move macros from TestClassDef.h to Test.h
...
Motivation: those macros don't make any sense without the definitions
in Test.h.
BUG=
R=mtklein@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/138563004
git-svn-id: http://skia.googlecode.com/svn/trunk@13074 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 21:04:37 +00:00
tfarina@chromium.org
4ee16bfaed
Add a DEF_GPUTEST() macro.
...
This macro is similar to DEF_TEST() and simplifies the process of
setting up a GPU test.
BUG=skia:1952
TEST=tests
R=mtklein@google.com
Review URL: https://codereview.chromium.org/132293005
git-svn-id: http://skia.googlecode.com/svn/trunk@13033 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 22:08:27 +00:00
commit-bot@chromium.org
0f7e3470d6
Revert of https://codereview.chromium.org/106563002/
...
Reason for revert: There's a threading issue I don't quite understand yet. Objects are being deleted after we check they're deleted. Will try again.
R=kkinnunen@nvidia.com , kkinnunen@nvidia.com
TBR=kkinnunen@nvidia.com , kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/134363002
git-svn-id: http://skia.googlecode.com/svn/trunk@13023 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 17:58:47 +00:00
commit-bot@chromium.org
2b8aacba52
Delete all invalidated resources with same key
...
Delete all invalidated resources with same key instead of deleting
just the first resource.
R=mtklein@google.com , kkinnunen@nvidia.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/106563002
git-svn-id: http://skia.googlecode.com/svn/trunk@13019 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 16:39:20 +00:00
skia.committer@gmail.com
17f1ae63d5
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10650 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 07:01:22 +00:00
commit-bot@chromium.org
c28f555f7f
This attempts to replicate some bad cache behavior Mozilla reported.
...
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://chromiumcodereview.appspot.com/22411005
git-svn-id: http://skia.googlecode.com/svn/trunk@10649 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-08 22:55:21 +00:00