History log of /external/skia/src/gpu/gl/GrGLPathRange.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6663acff010ce752e4bf778da81fa97448c9db31 10-May-2016 bsalomon <bsalomon@google.com> Replace GrStrokeInfo with GrStyle.

A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002

Committed: https://skia.googlesource.com/skia/+/33595bdf4b64a745f6340338d307e806e96c587f

Review-Url: https://codereview.chromium.org/1957363002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
85d9667f59d4138438427bb2cdf67992d100e1a0 10-May-2016 bsalomon <bsalomon@google.com> Revert of Replace GrStrokeInfo with GrStyle. (patchset #4 id:160001 of https://codereview.chromium.org/1957363002/ )

Reason for revert:
Breaking some bots

Original issue's description:
> Replace GrStrokeInfo with GrStyle.
>
> A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002
>
> Committed: https://skia.googlesource.com/skia/+/33595bdf4b64a745f6340338d307e806e96c587f

TBR=egdaniel@google.com,robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1967513002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
33595bdf4b64a745f6340338d307e806e96c587f 10-May-2016 bsalomon <bsalomon@google.com> Replace GrStrokeInfo with GrStyle.

A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002

Review-Url: https://codereview.chromium.org/1957363002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
2e6055b3ea14a04fcde1ac1974a70bf00b1e295b 22-Apr-2016 kkinnunen <kkinnunen@nvidia.com> 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
/external/skia/src/gpu/gl/GrGLPathRange.cpp
9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 29-Mar-2016 halcanary <halcanary@google.com> Style bikeshed - remove extraneous whitespace

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

Review URL: https://codereview.chromium.org/1842753002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
1e2913e7cb8c8122151cabd0aa6c77011253e95b 01-Dec-2015 kkinnunen <kkinnunen@nvidia.com> Fix stroking of zero length paths with end caps on NVPR

Fix stroking of zero length paths with end caps on NVPR.
In case of such paths, stroke them using Skia and just
fill the path with NVPR.

BUG=skia:4427

Review URL: https://codereview.chromium.org/1471763002
/external/skia/src/gpu/gl/GrGLPathRange.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/gl/GrGLPathRange.cpp
6dc6f5f4a153d33ed91565cb3cd397a310a937d0 18-Jun-2015 bsalomon <bsalomon@google.com> Add support for creating texture backed images where Skia will delete the texture.

Review URL: https://codereview.chromium.org/1187523005
/external/skia/src/gpu/gl/GrGLPathRange.cpp
50b58e6fbcc50785ceffacb2c51b22c6e67a7ab7 19-May-2015 kkinnunen <kkinnunen@nvidia.com> Improve caching of dashed paths in GrStencilAndCoverPathRenderer

Improve caching of dashed paths in GrStencilAndCoverPathRenderer.
Look up the (NVPR specific) GrGLPath based on GrStrokeInfo and
the original path.

Use unique keys for all GrPaths.

Dash the path with Skia dash stroker and use that path geometry for
NVPR path.

NVPR internal dashing stroke is not used, because the dashing
implementation of NVPR does not match Skia implementation.

Review URL: https://codereview.chromium.org/1116123003
/external/skia/src/gpu/gl/GrGLPathRange.cpp
39edf7664f50b6c890b933b5bbed67a8735b349b 22-Dec-2014 jvanverth <jvanverth@google.com> Rename GrGpuGL -> GrGLGpu

Review URL: https://codereview.chromium.org/824753002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
861e1037017bbb7ac52ec5ebecab3a636a82a3e8 16-Dec-2014 bsalomon <bsalomon@google.com> Rename GrGpuGL to GrGLGpu for consistency

Review URL: https://codereview.chromium.org/808593003
/external/skia/src/gpu/gl/GrGLPathRange.cpp
12299ab7a1be5f4b99284ecf289d46107ef0a946 14-Nov-2014 bsalomon <bsalomon@google.com> Make GrResourceCache2 responsible for calling release, abandon, and ~.

BUG=skia:2889

TBR=robertphillips@google.com

NOTRY=true

Review URL: https://codereview.chromium.org/729683002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
855d83ff79c6c822b2ad653f2f890178ad0f637b 18-Sep-2014 cdalton <cdalton@nvidia.com> Uses a single pre-baked set of paths for drawing nvpr text of a given
typeface. Loads the paths using the driver's glyph loading routines.

Refactors GrPathRange to accept a PathGenerator class that it uses to
lazily initialize its paths. The client code is no longer expected to
initialize the paths in a GrPathRange; instead it must provide a
PathGenerator* instance to createPathRange().

Adds a new createGlyphs() method to GrPathRendering that creates a
range of glyph paths, indexed by glyph id. GrPathRendering implements
createGlyphs() with a PathGenerator that loads glyph paths using the
skia frameworks. GrGLPathRendering uses glMemoryGlyphIndexArrayNV()
instead, when possible, to load the glyph paths.

Removes all GlyphPathRange logic from GrStencilAndCoverTextContext.
It instead uses createGlyphs().

BUG=skia:2939
R=bsalomon@google.com, jvanverth@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/563283004
/external/skia/src/gpu/gl/GrGLPathRange.cpp
49f085dddff10473b6ebf832a974288300224e60 05-Sep-2014 bsalomon <bsalomon@google.com> "NULL !=" = NULL

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
5b653577994fe298e08e5f7a5c1fa39fe53c9203 20-Aug-2014 kkinnunen <kkinnunen@nvidia.com> Simplify GrGLPathRendering interface

Simplify GrGLPathRendering interface by removing polymorphism and functions that
simply wrap GL functions unnecessarily.

Replace the polymorphism by if -condition.

Call the unconditional GL functions directly. GrGLPath, GrGLPathRange and
GrGLPathRendering are part of the same logical subsystem. This means that the
subsystem implementation details are taken into account within these
classes. Example: if support for using conics would be added, the feature flag
would go to GrGLPathRendering::Caps, the emulation would go to GrGLPath instead of
GrGLPathRendering::pathCommands. Wrapping glPathCommandsNV is not useful.

Try to expose the interface fully in same logical level; rename fragment input
function to reflect this.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/450283002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
ccdaa0422501e5cbcba53d6bd19f2736f1beaef3 20-Aug-2014 kkinnunen <kkinnunen@nvidia.com> Separate GL path rendering state from GrGpuGL to GrGLPathRendering

Separate GL path rendering state from GrGpuGL to GrGLPathRendering. This
makes GrGpuGL code simpler.

The intention is that while GrGpuGL represents the global environment for GL,
the GrGLPathRendering represents the global environment for path rendering
extension.

Add GrPathRendering, a base class for path rendering, and inherit
GrGLPathRendering from that. Move the path rendering virtual functions from
GrGpu to GrPathRendering.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/452823002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
c7103a104fdc7150b4e3c0d3efc42735ad359616 11-Aug-2014 cdalton <cdalton@nvidia.com> Wrap NV_path_rendering API with GrGLPathRendering

Adds a GrGLPathRendering class that wraps the NV_path_rendering
extension and manages its various API versions. It also provides
backup implementations when certain NVpr methods from later API
versions are not present on the current system.

BUG=skia:
R=bungeman@google.com, bsalomon@google.com, kkinnunen@nvidia.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/444223002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
760ba8d39293cf60a516d03a2acd8492f9f5effa 06-Aug-2014 bungeman <bungeman@google.com> Revert "Adds a GrGLPathRendering class that wraps the NV_path_rendering"

This reverts commit 5672da0fa54f31c9727568e9dd5fe82c6e1585bc.

This appears to be blocking the Skia roll by causing failures in the blink layout tests on the canvas-lost-gpu-context.html test.

The bisect for this can be seen at:

https://codereview.chromium.org/449473002/

Original issue's description:
> Adds a GrGLPathRendering class that wraps the NV_path_rendering
> extension and manages its various API versions. It also provides
> backup implementations when certain NVpr methods from later API
> versions are not present on the current system.
>
> Committed: https://skia.googlesource.com/skia/+/5672da0fa54f31c9727568e9dd5fe82c6e1585bc
/external/skia/src/gpu/gl/GrGLPathRange.cpp
af13c7c50efa5fda8a12a720dc77b8bc36d966a9 06-Aug-2014 bungeman <bungeman@google.com> Revert "Calculate rough approximations for nvpr path sizes"

This reverts commit 61bff7097251755bf9fa9a4ec60cc057c766b4a4.

This is built on 5672da0fa54f31c9727568e9dd5fe82c6e1585bc
which is causing blink test failures on canvas-lost-gpu-context.html.
/external/skia/src/gpu/gl/GrGLPathRange.cpp
61bff7097251755bf9fa9a4ec60cc057c766b4a4 05-Aug-2014 cdalton <cdalton@nvidia.com> Calculate rough approximations for nvpr path sizes

Calculates a rough approximation of the actual value for gpuMemorySize
in GrGLPath and GrGLPathRange, instead of assuming every path is the
same fixed size.

BUG=skia:
R=bsalomon@google.com, markkilgard@gmail.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/442603002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
5672da0fa54f31c9727568e9dd5fe82c6e1585bc 04-Aug-2014 cdalton <cdalton@nvidia.com> Adds a GrGLPathRendering class that wraps the NV_path_rendering
extension and manages its various API versions. It also provides
backup implementations when certain NVpr methods from later API
versions are not present on the current system.

R=bsalomon@google.com, kkinnunen@nvidia.com, markkilgard@gmail.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/437473002
/external/skia/src/gpu/gl/GrGLPathRange.cpp
b85a0aab6905af8b329539b7573a7555b727d5e5 22-Jul-2014 cdalton <cdalton@nvidia.com> Add a GrPathRange class

Adds a GrPathRange object that represents a range of paths on the gpu.
Updates GrDrawTarget::drawPaths and supporting code to use GrPathRange
instead of an array of GrPath objects.

Change-Id: I67845f3893cd4d955db947d699aa3733cbb081e0

BUG=skia:
R=bsalomon@google.com, jvanverth@google.com, kkinnunen@nvidia.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/400713003
/external/skia/src/gpu/gl/GrGLPathRange.cpp