aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLPathRange.cpp
Commit message (Collapse)AuthorAge
* Uses a single pre-baked set of paths for drawing nvpr text of a givenGravatar cdalton2014-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Simplify GrGLPathRendering interfaceGravatar kkinnunen2014-08-20
| | | | | | | | | | | | | | | | | | | | | | | 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
* Separate GL path rendering state from GrGpuGL to GrGLPathRenderingGravatar kkinnunen2014-08-20
| | | | | | | | | | | | | | | | | | | 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
* Wrap NV_path_rendering API with GrGLPathRenderingGravatar cdalton2014-08-11
| | | | | | | | | | | | | | 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
* Revert "Adds a GrGLPathRendering class that wraps the NV_path_rendering"Gravatar bungeman2014-08-06
| | | | | | | | | | | | | | | | | | 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
* Revert "Calculate rough approximations for nvpr path sizes"Gravatar bungeman2014-08-06
| | | | | | | This reverts commit 61bff7097251755bf9fa9a4ec60cc057c766b4a4. This is built on 5672da0fa54f31c9727568e9dd5fe82c6e1585bc which is causing blink test failures on canvas-lost-gpu-context.html.
* Calculate rough approximations for nvpr path sizesGravatar cdalton2014-08-05
| | | | | | | | | | | | | 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
* Adds a GrGLPathRendering class that wraps the NV_path_renderingGravatar cdalton2014-08-04
| | | | | | | | | | | | 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
* Add a GrPathRange classGravatar cdalton2014-07-21
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