Go to file
ericrk c84ccb0702 Update feSpotLight to match spec
This change updates feSpotLight to match the spec via two changes:

1) specularExponent is ignored if the spotlight has no coneAngle (GPU
   bug only). This change updates the GPU path so that it matches the
   CPU path and the spec in this regard.

2) specularExponent is clamped to the 1-128 range. The spec does not
   specify a clamp for the specularExponent attribute of feSpotLight.
   Note that the spec *does* specify this clamp for the
   specularExponent attribute of feSpecularLighting. It looks like we
   incorrectly applied this to both specularExponent attributes.

   This change (along with a parallel change in Blink) allows us to pass
   the SVG filter effects conformance test here:
   http://www.w3.org/Graphics/SVG/Test/20110816/harness/htmlObject/filters-light-01-f.html

   Additionally, this brings our behavior in line with Safari and Edge’s
   behavior on this filter.

Two new cases were added to gm/lighting.cpp to catch these issues:
- The existing spotlight case exercised the path where our specular
  exponent was between 1-128 and had a limiting cone angle.
- The first new spotlight case exercises the path where our specular
  exponent is between 1-128 and we do not have a limiting cone angle.
- The second new spotlight case exercises the path where the specular
  exponent is not within the 1-128 range, to ensure that we don’t
  incorrectly clip to this range.

BUG=472849

Review URL: https://codereview.chromium.org/1403403003
2015-10-19 14:44:56 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Add SkTTopoSort 2015-10-19 12:15:55 -07:00
bin sync-and-gyp: Update shell script to correct the syntax of functions 2015-09-11 20:49:00 -04:00
cmake CMake for Windows 2015-09-30 11:06:53 -07:00
debugger Make SkGraphics::Term a no-op, stop calling it. 2015-09-09 07:35:42 -07:00
dm SkRemote 2015-10-16 10:29:41 -07:00
example Move functions from SkGr to SkGrPriv.h 2015-10-09 13:36:42 -07:00
experimental Add test with GLFW framework 2015-10-09 13:27:34 -07:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Update feSpotLight to match spec 2015-10-19 14:44:56 -07:00
gyp Add SkTTopoSort 2015-10-19 12:15:55 -07:00
include Revert recent CLs around GrTextureMaker/GrTextureParamsAdjuster 2015-10-19 15:12:32 -04:00
infra Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
platform_tools Clean up iOS build files 2015-10-15 13:20:35 -07:00
resources SkPDF: fall back on paths for unembeddable fonts. 2015-10-12 13:05:04 -07:00
samplecode Add DrawShipSim sample. 2015-10-07 10:43:05 -07:00
site Add docs on how to install iOS test tools 2015-10-16 11:47:37 -07:00
src Update feSpotLight to match spec 2015-10-19 14:44:56 -07:00
tests Modifications to get 'blaze build -c opt //third_party/skia/HEAD/...' to work. 2015-10-19 13:55:55 -07:00
third_party Revert of Depend on ETC1 via DEPS instead of a direct third_party checkin. (patchset #1 id:1 of https://codereview.chromium.org/1296253003/ ) 2015-08-17 11:15:00 -07:00
tools Add SkTTopoSort 2015-10-19 12:15:55 -07:00
.gitignore android/apps: Add CanvasProof App; 2015-09-23 12:40:34 -07:00
AUTHORS Optimize RGB16 blitV functions with NEON for ARM platform. 2015-07-15 07:07:30 -07:00
BUILD.public Modifications to get 'blaze build -c opt //third_party/skia/HEAD/...' to work. 2015-10-19 13:55:55 -07:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Update libwebp and resume testing scaled webp 2015-10-01 10:56:08 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Support SKIA_OUT on Mac and ChromeOS 2015-05-04 08:04:28 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Add files added to Skia HEAD in google3 to the Git repo. 2015-08-17 12:58:10 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py Fix make.py: BUILDTYPE 2015-08-05 11:30:28 -04:00
Makefile Remove experimental/PdfViewer 2015-08-04 14:08:44 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Automatically add TSAN bots to the CQ for changes affecting SkAtomics.h 2015-10-07 11:49:00 -07:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
SKP_VERSION Update SKP version 2015-10-18 00:23:36 -07:00
whitespace.txt Whitespace change to test CQ waiting for l-g-t-m 2015-10-13 04:44:40 -07:00

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

See full details, and build instructions, at https://skia.org.