History log of /external/skia/src/gpu/GrResourceProvider.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f7b8b8affec91fcfab0d79199e466c16c254fe56 24-Feb-2016 ericrk <ericrk@chromium.org> Add wrapBackendTextureAsRenderTarget API

Skia's GrTextureProvider currently exposes two APIs for wrapping backend
objects:
* wrapBackendTexture - wraps a texture into a GrTexture. Depending on
flags, this GrTexture can be converted to a GrRenderTarget. Skia
manages the render target objects it may create to provide a render
target for the texture. This allows Skia to create stencil buffers
if needed and manager MSAA resolves.
* wrapBackendRenderTarget - wraps a FBO into a GrRenderTarget. This
object cannot be converted to a GrTexture. Skia does not manage
the render target objects for such a GrRenderTarget, and as such
cannot attach stencil buffers or perform MSAA resolves on the
created GrRenderTarget.

Given these two options, wrapBackendTexture provides more versatility
and allows Skia more room for optimization. Chrome currently uses
wrapBackendTexture for this reason.

While these two functions cover most cases, they do not provide a way
for Skia to wrap a texture into a render target (and gain the MSAA and
stencil buffer management), without also creating a GrTexture. This is
problematic in cases where a texture can be bound to a render target,
but cannot be textured from, as is the case in Chrome's limited support
for GL_TEXTURE_RECTANGLE.

To address this, a new function is created:
* wrapBackendTextureAsRenderTarget - wraps a texture into a
GrRenderTarget. As with wrapBackendTexture, the created render
target objects are fully managed by Skia. Unlike wrapBackendTexture
no GrTexture is created, and the created object will never be
textured from.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1709163003

Review URL: https://codereview.chromium.org/1709163003
/external/skia/src/gpu/GrResourceProvider.cpp
6d0872d9bd97de5301214a258e141dd5fbeecffc 11-Jan-2016 joshualitt <joshualitt@google.com> Reland of Add guards to GrTextureProvider (patchset #1 id:1 of https://codereview.chromium.org/1565313003/ )

Reason for revert:
should be fixed

Original issue's description:
> Revert of Add guards to GrTextureProvider (patchset #5 id:80001 of https://codereview.chromium.org/1567983002/ )
>
> Reason for revert:
> breaking asan bot
>
> Original issue's description:
> > Add guards to GrTextureProvider
> >
> > TBR=bsalomon@google.com
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567983002
> >
> > Committed: https://skia.googlesource.com/skia/+/b30dd1db1d914b85a691b4724713ba1b0f16cd6c
>
> TBR=robertphillips@google.com,joshualitt@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9a9515e081c54efdd5a0b0
f662c013cbeef6d63f

TBR=bsalomon@google.com
TBR=robertphillips@google.com,joshualitt@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review URL: https://codereview.chromium.org/1575093002
/external/skia/src/gpu/GrResourceProvider.cpp
9a9515e081c54efdd5a0b0f662c013cbeef6d63f 07-Jan-2016 joshualitt <joshualitt@google.com> Revert of Add guards to GrTextureProvider (patchset #5 id:80001 of https://codereview.chromium.org/1567983002/ )

Reason for revert:
breaking asan bot

Original issue's description:
> Add guards to GrTextureProvider
>
> TBR=bsalomon@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567983002
>
> Committed: https://skia.googlesource.com/skia/+/b30dd1db1d914b85a691b4724713ba1b0f16cd6c

TBR=robertphillips@google.com,joshualitt@chromium.org
# 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/1565313003
/external/skia/src/gpu/GrResourceProvider.cpp
b30dd1db1d914b85a691b4724713ba1b0f16cd6c 07-Jan-2016 joshualitt <joshualitt@chromium.org> Add guards to GrTextureProvider

TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567983002

Review URL: https://codereview.chromium.org/1567983002
/external/skia/src/gpu/GrResourceProvider.cpp
17aa047066eaaa56637c4c2b93c8c4c374127dbf 05-Jan-2016 jvanverth <jvanverth@google.com> More framework support for TransferBuffers

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534123003

Review URL: https://codereview.chromium.org/1534123003
/external/skia/src/gpu/GrResourceProvider.cpp
7ea33f5e1ae9eb1fb1e7377d6edf6acdcf71d103 22-Nov-2015 bsalomon <bsalomon@google.com> Initial version of external_oes texture support and unit test

Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03

Review URL: https://codereview.chromium.org/1451683002
/external/skia/src/gpu/GrResourceProvider.cpp
0315dbcb554fe7f5fa80a81079fd8d2e61fc20e1 21-Nov-2015 bsalomon <bsalomon@google.com> Revert of Initial version of external_oes texture support and unit test (patchset #14 id:260001 of https://codereview.chromium.org/1451683002/ )

Reason for revert:
Error wrapping external texture in GrTexture on some devices.

Original issue's description:
> Initial version of external_oes texture support and unit test
>
> Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03

TBR=joshualitt@google.com,egdaniel@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1459323004
/external/skia/src/gpu/GrResourceProvider.cpp
27a048700778d4cebfc23301d1780649791b0e03 21-Nov-2015 bsalomon <bsalomon@google.com> Initial version of external_oes texture support and unit test

Review URL: https://codereview.chromium.org/1451683002
/external/skia/src/gpu/GrResourceProvider.cpp
6950de6c4166fabb35e6c756fc009e0cf1c47819 07-Nov-2015 halcanary <halcanary@google.com> Comments Style: s/skbug.com/bug.skia.org/
DOCS_PREVIEW= https://skia.org/?cl=1432503003

Review URL: https://codereview.chromium.org/1432503003
/external/skia/src/gpu/GrResourceProvider.cpp
8377e80951326f94714b31ede711cd0757d37fcd 05-Nov-2015 joshualitt <joshualitt@chromium.org> Fix for atlas doesn't call eviction functions

TBR=
BUG=551094

Review URL: https://codereview.chromium.org/1412663011
/external/skia/src/gpu/GrResourceProvider.cpp
ec00d94199fad7723b5987b86c1abef8ddafe2d8 14-Sep-2015 egdaniel <egdaniel@google.com> 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
/external/skia/src/gpu/GrResourceProvider.cpp
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/gpu/GrResourceProvider.cpp
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/src/gpu/GrResourceProvider.cpp
6e83ac778f8f90939abe3aee3ea865428dff592f 13-Aug-2015 robertphillips <robertphillips@google.com> 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
/external/skia/src/gpu/GrResourceProvider.cpp
b356cbc765468e2594fca9ec6e5476a3da145d26 05-Aug-2015 joshualitt <joshualitt@chromium.org> Move atlas creation to internal to GrResourceProvider

BUG=skia:

Review URL: https://codereview.chromium.org/1260183006
/external/skia/src/gpu/GrResourceProvider.cpp
eae6200acbec2255ac00ab363ffbe16758ec9076 31-Jul-2015 bsalomon <bsalomon@google.com> Some cleanup in GrTextureProvider and GrResourceProvider.

Review URL: https://codereview.chromium.org/1261643004
/external/skia/src/gpu/GrResourceProvider.cpp
1b8e1b5c499e31a671232c8ccb10e778e0d8b154 24-Jun-2015 robertphillips <robertphillips@google.com> Refactor GrBufferAllocPools to use resource cache

Committed: https://skia.googlesource.com/skia/+/e935f1a0e2351373c33600b8388492ce1218014a

Review URL: https://codereview.chromium.org/1139753002
/external/skia/src/gpu/GrResourceProvider.cpp
b607767703ff7898611cf88c1218d5d69535e984 23-Jun-2015 robertphillips <robertphillips@google.com> Revert of Refactor GrBufferAllocPools to use resource cache (patchset #15 id:280001 of https://codereview.chromium.org/1139753002/)

Reason for revert:
Will reland after Chromium branch

Original issue's description:
> Refactor GrBufferAllocPools to use resource cache
>
> Committed: https://skia.googlesource.com/skia/+/e935f1a0e2351373c33600b8388492ce1218014a

TBR=bsalomon@google.com,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1204773003
/external/skia/src/gpu/GrResourceProvider.cpp
e935f1a0e2351373c33600b8388492ce1218014a 23-Jun-2015 robertphillips <robertphillips@google.com> Refactor GrBufferAllocPools to use resource cache

Review URL: https://codereview.chromium.org/1139753002
/external/skia/src/gpu/GrResourceProvider.cpp
cabe20cafd5f091a68bbc2c0c48755ba9b61b0b7 01-Jun-2015 kkinnunen <kkinnunen@nvidia.com> Refactor GrGpu path rendering functions to GrPathRendering

GrGpu, GrGLGpu, GrPathRendering, GrGLPathRendering all duplicated
each others' path rendering related member functions. Make
GrPathRending the logical extension of GrGpu by removing the methods
from GrGpu. Similarly to the GL variants.

Changes includes and forward declarations due to removing
GrDrawTarget.h include from GrGpu.h. This was necessary due to
GrDrawTarget.h including GrPathRendering.h, and now GrPathRendering.h
includes GrGpu.h. (Also GrGpu.h does not need GrDrawTarget.h anymore).

Very slight runtime improvement on x86_64:
desk_fontwipe.skp_1 836us -> 841us 1.01x
desk_silkfinance.skp_1 2.01ms -> 2.01ms 1x
desk_forecastio.skp_1 7.03ms -> 7.05ms 1x
desk_weather.skp_1 3.74ms -> 3.74ms 1x
desk_twitter.skp_1 8.02ms -> 8.01ms 1x
desk_mapsvg.skp_1 5.24ms -> 5.23ms 1x
desk_pokemonwiki.skp_1 7.06ms -> 7.03ms 1x
desk_sfgate.skp_1 3.19ms -> 3.17ms 1x
tabl_cuteoverload.skp_1 2.66ms -> 2.64ms 0.99x
...
tabl_transformice.skp_1 3.06ms -> 2.98ms 0.98x
tabl_googlecalendar.skp_1 11.3ms -> 11ms 0.97x
tabl_gamedeksiam.skp_1 12.8ms -> 12.4ms 0.97x
desk_samoasvg.skp_1 10.6ms -> 10.3ms 0.97x
tabl_worldjournal.skp_1 4.44ms -> 4.3ms 0.97x

Review URL: https://codereview.chromium.org/1157683006
/external/skia/src/gpu/GrResourceProvider.cpp
706f08fbcb7f5275235784f67bd7d188ad04eef2 22-May-2015 bsalomon <bsalomon@google.com> Move GrPath(Range) creation to ResourceProvider.

Review URL: https://codereview.chromium.org/1155593002
/external/skia/src/gpu/GrResourceProvider.cpp
eea2ff72014d985166e8c2aab3537bd32591900a 14-May-2015 robertphillips <robertphillips@google.com> Revert of Refactor GrBufferAllocPools to use resource cache (patchset #9 id:160001 of https://codereview.chromium.org/1139753002/)

Reason for revert:
Perf Regression for some bot/skp combinations

Original issue's description:
> Refactor GrBufferAllocPools to use resource cache
>
> Committed: https://skia.googlesource.com/skia/+/c5f1c5414fc8f73cbefadcc1b24ec794056fa203

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1129863008
/external/skia/src/gpu/GrResourceProvider.cpp
c5f1c5414fc8f73cbefadcc1b24ec794056fa203 13-May-2015 robertphillips <robertphillips@google.com> Refactor GrBufferAllocPools to use resource cache

Review URL: https://codereview.chromium.org/1139753002
/external/skia/src/gpu/GrResourceProvider.cpp
ed0bcad9c8147fd37c23bdda00ec27ec9ef8d66b 04-May-2015 bsalomon <bsalomon@google.com> Move instanced index buffer creation to flush time

Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26

Review URL: https://codereview.chromium.org/1116943004
/external/skia/src/gpu/GrResourceProvider.cpp
d8ed1b64a6c85a8364c23e825164b7bebb43a3a0 04-May-2015 bsalomon <bsalomon@google.com> Revert of Move instanced index buffer creation to flush time (patchset #6 id:100001 of https://codereview.chromium.org/1116943004/)

Reason for revert:
messed up caching, recreating index buffers all the time.

Original issue's description:
> Move instanced index buffer creation to flush time
>
> Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26

TBR=joshualitt@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1126613003
/external/skia/src/gpu/GrResourceProvider.cpp
ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26 04-May-2015 bsalomon <bsalomon@google.com> Move instanced index buffer creation to flush time

Review URL: https://codereview.chromium.org/1116943004
/external/skia/src/gpu/GrResourceProvider.cpp