Go to file
kkinnunen ec56e45454 Implement NV_path_rendering on OpenGL ES
Implement support for NV_path_rendering on OpenGL ES. Use
glProgramPathFragmentInputGenNV function call instead of glPathTexGenNV to
communicate transforms to fragment shader.

The intention is that the NVPR paths will be drawn with the same shader program
as non-NVPR geometry. For NVPR calls, the GPU will skip the vertex shader and
just run the fragment shader.

After program is linked, query the locations of the fragment shader inputs with
glGetResourceLocation. The location will be used to set the transforms with
glProgramPathFragmentInputGenNV.

The functions and their workings are documented in:

glProgramPathFragmentInputGenNV
https://www.opengl.org/registry/specs/NV/path_rendering.txt
(note: addition as of API version 1.3)

glGetResourceLocation
https://www.opengl.org/registry/specs/ARB/program_interface_query.txt
http://www.opengl.org/registry/doc/glspec44.core.pdf
(function is in core Open GL 4.4)

Note: glProgramPathFragmentInputGenNV could be used also for OpenGL. However,
using seems to trigger a bug in the driver. Disable this feature on OpenGL at
least until the driver is fixed and released. The bug manifests in shadertext
test, where the lower-left text pair is missing. Valgrind catches a bad read
for the test and causes the context to OOM reproducibly.

R=bsalomon@google.com, cdalton@nvidia.com, joshualitt@google.com, joshualitt@chromium.org

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/367643004
2014-08-25 22:21:16 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Revert of Benchmark designed to exercise fractional image scale/translation (patchset #2 of https://codereview.chromium.org/491793003/) 2014-08-25 12:03:11 -07:00
debugger Fixed up SkTimedPicturePlayback 2014-07-08 13:07:57 -07:00
dm Install a hook to swap between SkPicture backends with a single define. 2014-08-21 13:07:27 -07:00
docs warn that docs/quickstart.md is out of sync with official docs 2014-04-21 19:18:46 +00:00
expectations Rebaselines for a6785ccb54 (Add a working SkFontMgr_fontconfig.) 2014-08-25 17:18:53 -04:00
experimental remove code for (dead) SK_SUPPORT_LEGACY_GETCLIPTYPE 2014-08-21 05:51:22 -07:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Fix leak in multipicturedraw GMs. 2014-08-22 09:02:38 -07:00
gyp Revert of Benchmark designed to exercise fractional image scale/translation (patchset #2 of https://codereview.chromium.org/491793003/) 2014-08-25 12:03:11 -07:00
include Implement NV_path_rendering on OpenGL ES 2014-08-25 22:21:16 -07:00
platform_tools Fix root level Android.mk to now point to the correct nanobench makefile 2014-08-21 13:12:34 -07:00
resources Add mandill_128.r11.ktx to resources 2014-08-08 11:40:08 -04:00
samplecode Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). 2014-08-21 07:59:51 -07:00
src Implement NV_path_rendering on OpenGL ES 2014-08-25 22:21:16 -07:00
tests Implement NV_path_rendering on OpenGL ES 2014-08-25 22:21:16 -07:00
third_party Add astcbitmap to gm slides. 2014-08-07 12:58:38 -07:00
tools Add ability to output ImageBaseGSUrl to render_picture and use in rebaseline server. 2014-08-22 04:46:30 -07:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore Initial refactor of shaderbuilder to prepare for geometry shaders 2014-08-21 20:18:45 -07:00
AUTHORS Do not export SkTDArray when building Skia as a DLL 2014-07-09 11:13:55 -07:00
codereview.settings Add Project to skia 2014-06-20 09:39:15 -07:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
CQ_COMMITTERS Add stephana@ to the list of Skia CQ commiters. 2014-08-13 06:11:09 -07:00
DEPS rebaseline_server: allow users to generate SKP diff patches on a shared instance 2014-08-20 08:00:28 -07:00
Doxyfile delete no-longer-used update-doxygen.sh 2014-05-15 14:41:00 +00:00
gyp_skia Fix Windows bots 2014-06-16 13:41:25 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Enable compiling with automatically-downloaded VS toolchain on Windows bots 2014-06-16 10:02:42 -04:00
make.py Enable compiling with automatically-downloaded VS toolchain on Windows bots 2014-06-16 10:02:42 -04:00
Makefile Stop building tests. 2014-08-04 09:36:16 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Adding djsollen to list of owners 2014-07-18 05:25:57 -07:00
README Point to skiadocs in our README. 2014-05-09 04:30:09 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SKP_VERSION Update SKP version to 82 2014-08-23 20:48:09 -07:00
whitespace.txt Whitespace change to test the CQ commit message 2014-08-13 05:36:43 -07:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://sites.google.com/site/skiadocs/home