Go to file
Brian Salomon d8d85b9b89 Reland "Don't key progams/pipelines on origin.""
Reland works around Adreno issue with this formulation of sk_Clockwise:
 (sk_RTFlip.y < 0.0 ? !gl_FrontFacing : gl_FrontFacing)

and instead adds this to the top of the function:
 bool sk_Clockwise = gl_FrontFacing;
 if (sk_RTFlip.y < 0.0) {
      sk_Clockwise = !sk_Clockwise;
 }

Original description:

SkSL language features that are origin sensitive now use a uniform
to conditionally flip their result rather than generating different
code.

Previously we would insert a "rt height" uniform if sk_FragCoord needed
to be flipped. sk_FragCoord,y was implemented as "realFragCoord.y" or
"rtHeight - realFragCoord.y" depending on SkSL::ProgramSettings::fFlipY.

Now we instead use a two component vector rtFlip and sk_FragCoord.y is
always "rtFlip.x + rtFlip.y*realFragCoord.y". We configure rtFlip as
either (0, 1) or (rtHeight, -1). sk_Clockwise and dFdy simiarly use
rtFlip.y to emit code that always works with either origin.

Bug: skia:12037
Change-Id: I3a2ad6f5667eb4dcd823b939abd5698f89b58929
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425178
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-07 14:50:10 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Disable large png bench 2021-07-01 20:55:59 +00:00
bin [infra] Fix fetch-sk and fetch-skps 2021-06-18 15:20:38 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides fix tint roll - enable tint_build_wgsl_writer 2021-07-01 00:32:40 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org [canvaskit] Fix demo image link 2021-06-03 12:57:50 +00:00
dm Convert dmsaa to an SkSurfaceProp 2021-04-20 16:24:56 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples [fiddle] Update named fiddles 2021-07-01 15:20:14 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental Rename experimental app to 'sorttoy' 2021-07-01 19:11:26 +00:00
fuzz Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
gm Depower GrPipeline.h 2021-07-07 13:56:23 +00:00
gn Reland "Don't key progams/pipelines on origin."" 2021-07-07 14:50:10 +00:00
include Reland "Don't key progams/pipelines on origin."" 2021-07-07 14:50:10 +00:00
infra Add Spin513 bots to the tree. 2021-07-01 21:30:19 +00:00
modules Rename gn options to skgpu_v1 and skgpu_v2 2021-07-01 17:09:33 +00:00
platform_tools [androidkit] Color filter support 2021-06-29 12:42:19 +00:00
resources Reland "Don't key progams/pipelines on origin."" 2021-07-07 14:50:10 +00:00
samplecode Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
site Lots of prose fixes 2021-06-30 15:07:30 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Reland "Don't key progams/pipelines on origin."" 2021-07-07 14:50:10 +00:00
tests Reland "Don't key progams/pipelines on origin."" 2021-07-07 14:50:10 +00:00
third_party Roll ICU 2021-06-25 17:40:19 +00:00
tools Change architecture #defines to be SK_GPU_V1 and SK_GPU_V2 2021-07-01 18:42:53 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore add mskps/ to .gitignore 2021-07-06 21:04:55 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Rename experimental app to 'sorttoy' 2021-07-01 19:11:26 +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 ANGLE from 3b0fcf6a913f to 51937ab38622 (5 revisions) 2021-07-07 05:17:47 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Update infra dep to roll cpython3 back to 3.8.10 2021-06-28 13:09:19 +00:00
go.sum [infra] Update infra dep to roll cpython3 back to 3.8.10 2021-06-28 13:09:19 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py [fiddle] Add PRESUBMIT rule to run tools/fiddle/make_all_examples_cpp.py 2021-07-01 15:20:57 +00:00
public.bzl Reland "Purge ccpr" 2021-06-19 18:42:38 +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 Remove SkMatrix44 2021-06-26 01:51:45 +00:00
whitespace.txt Test master branch deletion 2021-05-25 13:20:41 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +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.