Go to file
brianosman 33f6b3f6ee Manually generated sRGB mipmaps, with successively smaller draws.
Dirty GL-generated mipmaps whenever an sRGB texture is used with a new
value for TEXTURE_SRGB_DECODE. Add a new test rectangle to the gamma GM
that tests that textures are correctly converted to linear before
filtering when generating mipmaps.

Added a new unit test that alternates how a texture is interpreted (sRGB
or not), to verify that we rebuild mipmaps when needed, and that we get
the correct results out in both modes.

This test originally failed on four of our bots producing incorrect mips
in three different ways. I'm not real surprised, but it looks like
we can't rely on glGenerateMipmap to do the right thing, in conjunction
with TEXTURE_SRGB_DECODE.

Instead, actually create mip-chains using a series of draw calls.
(My first attempt used glBlitFramebuffer, and that still had bugs on
several bots). This approach appears to work correctly on any device
that fully supports sRGB.

Because the mipmap draws are fairly destructive to state, I had to
hoist them out of bindTexture. That means adding a second pass over
the texture accesses in the processor, at the very beginning of flush.

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

Review-Url: https://codereview.chromium.org/2007973002
2016-06-02 05:49:21 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Release surface between runs to avoid seg fault 2016-06-01 13:49:27 -07:00
bin bin/fetch-skps: print instruction on error 2016-04-26 12:38:47 -07:00
cmake CMake: skia_link_arguments.txt repects BUILD_SHARED_LIBS 2016-05-24 11:23:23 -07:00
debugger Fix old debugger 2016-04-29 14:02:18 -07:00
dm Create SkColorSpaceXform to handle color conversions 2016-06-01 14:47:18 -07:00
example Added --deepColor option to SampleApp, triggers creation of a ten-bit/channel 2016-05-05 12:24:31 -07:00
experimental [GN] Add support for disabling opts via SK_BUILD_NO_OPTS define. 2016-06-01 07:08:56 -07:00
fuzz Revert of Make SkPngCodec decode progressively. (patchset #24 id:480001 of https://codereview.chromium.org/1997703003/ ) 2016-06-01 12:08:23 -07:00
gm Manually generated sRGB mipmaps, with successively smaller draws. 2016-06-02 05:49:21 -07:00
gyp Create SkColorSpaceXform to handle color conversions 2016-06-01 14:47:18 -07:00
include Manually generated sRGB mipmaps, with successively smaller draws. 2016-06-02 05:49:21 -07:00
infra isolate_android_sdk: Find or download isolate binary, fix infra path 2016-05-27 11:11:22 -07:00
platform_tools Now we can use drawer to view the state information of the native app, and set its state using the spinner. 2016-05-27 08:52:52 -07:00
resources Add interesting features to visualize_color_gamut 2016-05-27 14:01:02 -07:00
samplecode Make use of new SkLights class 2016-05-31 12:08:25 -07:00
site Update VC++ version in Windows quick start. 2016-05-27 12:27:33 -07:00
src Manually generated sRGB mipmaps, with successively smaller draws. 2016-06-02 05:49:21 -07:00
tests Manually generated sRGB mipmaps, with successively smaller draws. 2016-06-02 05:49:21 -07:00
third_party Add exact version of qcms used by Chrome for testing and comparison 2016-05-26 11:05:37 -07:00
tools Add offset to memory allocations 2016-06-01 09:39:15 -07:00
.gitignore isolate_android_sdk: Find or download isolate binary, fix infra path 2016-05-27 11:11:22 -07:00
AUTHORS Add AVX/AVX2 support for runtime check 2016-04-08 15:31:45 -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 gyp: clean up warnings with clang-3.8 2016-05-23 14:02:54 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Make Win runtime DLLs writeable before overwriting 2016-03-18 08:33:38 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Include resources directory in google3 sync. 2015-10-20 13:00:48 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py GYP: remove stale skia_scalar gyp variable 2015-11-10 13:25:12 -05:00
Makefile Add visualbench as valid target to Makefile 2015-12-18 08:05:06 -08:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Fix Gold trybot results URL 2016-05-20 03:50:01 -07:00
public.bzl [GN] Add support for disabling opts via SK_BUILD_NO_OPTS define. 2016-06-01 07:08:56 -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
SK_IMAGE_VERSION Remove extra DNG images and use smaller HTC.dng 2016-05-24 06:23:47 -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 2016-05-29 01:00:14 -07:00
whitespace.txt Whitespace change to test bots 2016-05-06 06:41:36 -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.