Go to file
Brian Osman 4af42fcca1 Fix precompiling shaders on GLES / Android
We need to specify attribute locations and (sometimes) frag shader
output locations. Desktop GL worked fine without this, but Flutter
ran into this problem, and a Pixel 2 reproduced the issue.

Note that both APIs (BindFragDataLocation and BindAttribLocation)
don't take effect until the next time the program is linked, so
we have to relink the program after applying those changes.

I was afraid that re-linking would eliminate the perf benefits of
pre-compiling the shaders, but (at least on Pixel 2) that's not
the case. I traced the life of a single program, and the initial
link (during precompile) was 4.4 ms. The re-link took 0.23 ms.

Change-Id: Iadb3b425a8cf9f6a52e015c2e37f875c0fd73d6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241758
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-16 17:13:23 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
bin Add bin/try-clients to trigger client tryjobs 2019-06-11 16:55:53 +00:00
build_overrides Update to Dawn ToT. 2019-07-22 16:20:36 +00:00
dm Simplify GPUSink constructors by just passing the config object 2019-09-09 18:12:18 +00:00
docker Add env vars to cloudbuild.yaml to enable vpython for depot_tools. 2019-09-06 16:59:15 +00:00
docs/examples make rectcontour and nestedrects private 2019-09-13 00:17:49 +00:00
example Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
experimental Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
fuzz Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
gm Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
gn Add bench for SkDDLRecorder detach 2019-09-12 17:09:08 +00:00
include Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
infra Fix precompiling shaders on GLES / Android 2019-09-16 17:13:23 +00:00
modules Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
platform_tools android_gdbserver: Don't fail when trying to locate nonexistent files 2019-09-16 16:28:33 +00:00
resources [sksg] Fix mask/context overrides interaction 2019-09-04 14:09:44 +00:00
samplecode Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
site Add release section for milestones and rel notes 2019-09-09 20:34:38 +00:00
specs [img-decode] Start on proposed new spec 2019-05-06 17:39:19 +00:00
src Fix precompiling shaders on GLES / Android 2019-09-16 17:13:23 +00:00
tests Revert "add guard to switch to SkPathTypes" 2019-09-14 19:13:44 +00:00
third_party Fix spirv-tools include path 2019-08-28 13:58:25 +00:00
tools Fix precompiling shaders on GLES / Android 2019-09-16 17:13:23 +00:00
.clang-format restore .clang-format 2019-03-21 15:52:32 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore clean up some .gitignores 2019-05-15 19:55:45 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fix Metal includes breaking macOS local builds 2019-07-08 14:02:47 +00:00
BUILD.gn BUILD/iOS-App: simplify bundle 2019-09-16 16:55:04 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00: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 Roll third_party/externals/angle2 b1580a276713..d32dae1bb37c (5 commits) 2019-09-16 05:31:10 +00:00
go.mod Update Go deps 2019-09-16 05:25:00 +00:00
go.sum Update Go deps 2019-09-16 05:25:00 +00:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py rewrite_includes.py: make it work on windows 2019-08-05 16:14:35 +00:00
public.bzl remove SkPicture_none.cpp 2019-08-16 14:52:25 +00: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
RELEASE_NOTES.txt Pull path nested types out to root level 2019-09-13 12:54:09 +00:00
whitespace.txt Whitespace test 2019-05-18 13:05:29 +00:00

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

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