Commit Graph

47023 Commits

Author SHA1 Message Date
Ravi Mistry
262796edeb Exclude G3 trybot for non-master branches
Change-Id: Iddbaa02fc2761f4dafbfd875864a425270f88384
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274042
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-02-28 18:25:17 +00:00
Herb Derby
1a0d00b879 Generate the correct instruction for neq_f32.
Check that all the f32 comparisons are correct:
vcmpeqps        %ymm0, %ymm11, %ymm12
vcmpneqps       %ymm1, %ymm11, %ymm13
vcmpltps        %ymm3, %ymm11, %ymm13
vcmpleps        %ymm5, %ymm11, %ymm14

Change-Id: I88ca45e3d58e04b95225a0d6d854dc5244f618d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274077
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-02-28 18:23:47 +00:00
Nathaniel Nifong
e71bcc61e8 Add a condition to prevent a thread annotation meant for blaze from showing up to emscripten
Change-Id: Ie84d3fd6ae1625cd0e5b0959a30b94f9142ee30e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273876
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-02-28 17:57:20 +00:00
Weston Tracey
2d6261557e Add Dawn on Windows job.
This job currently does not build. Once fixed it will be added to the CQ.

Bug: skia:9939
Change-Id: I0f29292670554b43ba4518ba0d2d7593ef4beddf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273481
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-02-28 17:48:37 +00:00
Julia Lavrova
76ae22e558 Bugs
Mainly, simplified iteration over visual run for performance reasons.
Check for locale when comparing fonts.
Try to resolve ALL unresolved codepoints.

Change-Id: Ic126ca9bcb3970e2cbd6da9c384c493f9fd81b0d
Bug: skia:9956, skia:9970, skia:9951
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273463
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-28 17:43:07 +00:00
Mike Klein
bfd2332045 fix bitcode
looks like the API accepts these implicit bit casts
but the bitcode does not

Change-Id: Ia93bbc13c3c37e8955def7abac5aba5b5e2ead61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274069
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-02-28 17:33:23 +00:00
Mike Klein
d7af3195b0 fill out loads, uniforms, and gathers
Everything follows a pattern based on a varying type,
so I've introduced a temporary type variable `t` to
represent that, with each variant setting `t` then
falling through to a common impl.

Change-Id: I2349308066d16ad4f497112570b666fc1dd14976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274060
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-28 17:24:27 +00:00
Mike Klein
856282a44e initialize once
seems to fix the deadlocks?

Change-Id: Iac8b4247d2521250f18f54562d5696a566a6e71a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274028
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2020-02-28 17:18:57 +00:00
Herb Derby
5c5bd1a637 Add comparisons (eq|neq|gt|gte)(i32|f32)
Change-Id: Ic53758162507d769548953001bd761e84d717322
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274064
Reviewed-by: Mike Klein <mtklein@google.com>
2020-02-28 17:17:45 +00:00
Florin Malita
4bd834b167 [skottie] Fix default character transform origin
By default, per-character AE transforms are anchored on the glyph
baseline, mid-advance.

To support:

  - extend SkottieShaper to track per-fragment ascent and advance
  - adjust the fragment transform origin for (advance/2,0)

As an optimization, we only track the anchor point in the presence
of origin-dependent animators (scale & rotation ATM).

(note: the ascent info is going to be used in a follow up CL to support
relative anchor point adjustments)

Change-Id: I883a957028e624522fdf68a6b2fc44384dee18fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273984
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-28 17:06:47 +00:00
Herb Derby
7430a9a1d8 Add shl_i32, srs_i32, and shr_i32 ops
Change-Id: I28e3fb933f65e38997bf4afe8bdc970e0aad2a6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274030
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-02-28 16:55:07 +00:00
Brian Salomon
03d9e8af0d Disable Programs test on TechoSpark3Pro Release
Bug: skia:9814

Change-Id: I4821b9de4254206acbd83053e7e985b27d97a338
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273986
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-28 16:36:11 +00:00
Brian Salomon
f539130d9e Remove code from GrTextureMaker that tries to make a MIP map copy.
All subclasses implement "willBeMipped" param to
refOriginalTextureProxyView()

Change-Id: I85a5540857255bdb6f79b536979f938d94a9591a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273990
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-28 16:36:01 +00:00
Mike Klein
2ea588fe99 add mad, to_f32, trunc
enough for SkVM_mad, SkVM_madder

Change-Id: Id5165e221ae9923f6ccffc6a987d973c7f11332c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274026
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-28 16:27:41 +00:00
Mike Klein
96380c2df4 simplifications
No real change, just exploring APIs to make our code terse.

Refactors I32/F32 to be the types we should use in emit(),
rather than always the vector types.  There were quite a
few (scalar ? i32 : I32) that this folds over.

Change-Id: I26e7b297d86f98dc056402c3108e2ea8e0f29667
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273974
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-02-28 15:43:15 +00:00
Robert Phillips
fad1e0f47b Rename 'dstView' to 'outputView' to avoid confusion w/ 'dstProxyView'
This is just a simple clean up from a CL request.

Change-Id: Ibc09e19aeb8a160e4e4e03573fcf56cb1d58525b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273983
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-28 15:38:20 +00:00
Chris Dalton
20e7a53cd2 Revert "Move setupGeometry() from GrGLGpu to GrGLOpsRenderPass"
This reverts commit b67081f9cb.

Reason for revert: Crash in glDeleteProgram on ES2

Original change's description:
> Move setupGeometry() from GrGLGpu to GrGLOpsRenderPass
> 
> Change-Id: I8788b96e07216be738c0ce1babb810b05bf46694
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273696
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com

Change-Id: Ibd1ae7c01ac8ac6ade94f6d542a6b711f53e7fb6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274021
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-02-28 15:38:10 +00:00
Robert Phillips
55f681faf3 Splitup GrSimpleMeshDrawOpHelper.h
Change-Id: Ie3d05053633176ba27e55cc2de61eeba1e9f45d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273981
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-28 15:04:02 +00:00
Jim Van Verth
888ba8b3da Initialize D3D format table.
Set up the expected formats we'll want.
Doesn't include YUV formats just yet.

Bug: skia:9935
Change-Id: I934a7ef006b5a218a5f637774aea5f082202cd3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273877
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-02-28 15:01:31 +00:00
Kevin Lubick
bde9fcce15 [canvaskit] Precise font measuring
Bug: skia:9864
Change-Id: I097ca54b55e0864a7659fa1c3a05ea7f02811aed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273297
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-02-28 13:36:34 +00:00
skia-recreate-skps
0a3900fb33 Update Go Deps
Change-Id: Icc254e51c6983a8798d8318aa4bb3dbd30b389fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273944
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-02-28 05:26:40 +00:00
recipe-roller
e4995b4e30 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
  https://crrev.com/33340afc751dd03e69ec96a67311e6d56a6ab50b (yuanjunh@google.com)
    Add --no-docs for the command 'test run'

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ida25e55eab9e2b179e1a152e179afa8601fa4cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273932
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-02-28 05:24:31 +00:00
skia-autoroll
52037e8ecc Roll third_party/externals/swiftshader 4d40271e3f09..05f5e0b34ac8 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4d40271e3f09..05f5e0b34ac8

git log 4d40271e3f09..05f5e0b34ac8 --date=short --first-parent --format='%ad %ae %s'
2020-02-27 jmadill@chromium.org Add codereview.settings.
2020-02-27 amaiorano@google.com Subzero: add support for variadic calls (System V)
2020-02-27 jmadill@chromium.org Fix comparison of specialization constant keys.

Created with:
  gclient setdep -r third_party/externals/swiftshader@05f5e0b34ac8

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC jlavrova@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: I78dc271d24b2aac2498bb3e34daf399978abc244
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273936
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-28 04:34:40 +00:00
Herb Derby
70d4938cba Add LLVM floor code for SkVM
loopK:                                            ; preds = %testK
  %5 = bitcast i8* %3 to <8 x i32>*
  %6 = load <8 x i32>, <8 x i32>* %5, align 1
  %7 = bitcast <8 x i32> %6 to <8 x float>
  %8 = call <8 x float> @llvm.floor.v8f32(<8 x float> %7)
  %9 = bitcast <8 x float> %8 to <8 x i32>
  %10 = bitcast i8* %3 to <8 x i32>*
  store <8 x i32> %9, <8 x i32>* %10, align 1
  %11 = sub i64 %2, 8
  %12 = getelementptr i8, i8* %3, i64 32
  br label %testK

LBB0_2:                                 ## %loopK
                                        ## =>This Inner Loop Header: Depth=1
        vroundps        $9, (%rsi), %ymm0
        vmovups %ymm0, (%rsi)
        addq    $-8, %rdi
        addq    $32, %rsi
        cmpq    $7, %rdi
        ja      LBB0_2

Change-Id: I0e0dab3ad2ed0f28b1a13282a6607a8de16eac76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273924
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-02-28 04:08:40 +00:00
recipe-roller
23d978da38 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/488712ab5735c18de8827b7dff7b6f4f0d904306 (ehmaldonado@google.com)
    my_activity.py: Run using vpython3 by default.
  https://crrev.com/b10ba796eecc47b809ec20eefe57f107345e7fad (ehmaldonado@chromium.org)
    Revert "Print content of description backup on exit"

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifb6779a841399af4ca934b4e78051e11b7c1eae5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273926
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-02-28 03:12:36 +00:00
Chris Dalton
b67081f9cb Move setupGeometry() from GrGLGpu to GrGLOpsRenderPass
Change-Id: I8788b96e07216be738c0ce1babb810b05bf46694
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273696
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-02-28 02:41:36 +00:00
recipe-roller
d8c604b855 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/780e6bf8d43870389e6eba66611c7f25c8e0f6f3 (ehmaldonado@google.com)
    gclient: Allow setting GCLIENT_PY3 to 0 to run on Python 2.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id413142efe7727125fcea3e4ec0b4f7bf3306f9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273920
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-02-28 01:00:46 +00:00
recipe-roller
0e29459cda Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/24fd86307f0bd07c9db4d0530ad47834263ed0c2 (vapier@chromium.org)
    my_activity: search gerrit review too
  https://crrev.com/6eb1d32f5d864561e7f600a874de77f3a74fb60d (ehmaldonado@google.com)
    presubmit_support: Refactor and add tests for DoPostUploadExecuter.
  https://crrev.com/7552630e0d993ba7faf727392f2bfaaec19a7bfb (ehmaldonado@google.com)
    git-cl: Run PostUpload hooks via CLI.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I88b360aa01c97028124f74b043464a044549da23
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273875
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-02-27 23:08:46 +00:00
Brian Salomon
2536b7f974 Handle dirty context state in GrGLGpu::deleteFramebuffer
Change-Id: I5bae83b8f4c8a50f0638fa2ac09be6dcdf8a72af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273880
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-02-27 22:35:06 +00:00
recipe-roller
337064f847 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/fdf027a728e975bfc7eb2f2cd2b93eb5b768b818 (vapier@chromium.org)
    my_activity: add short url for android CLs

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I09135815ecd4b84364e651d4bfb4a171b855eaba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273869
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-02-27 22:34:36 +00:00
Mike Klein
a7dc878938 add some more instructions
Keeping all the values i32/I32 for now.
Maybe something more complex later?

Change-Id: Iaf804fa51e51d378ea7857b8c5aa2f20c3403e2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273863
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-27 22:09:56 +00:00
Jim Van Verth
62a644bf5a Add GrD3DUtil.
Trying to stage the texture format CLs in a little at a time.

Bug: skia:9935
Change-Id: I0fc6fe09fdb55d6c24b53af7edbcc8e8fc857ed7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273803
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-02-27 21:26:16 +00:00
Jim Van Verth
c86c83cd80 Add DXGI_FORMAT to BackendFormat.
First steps to getting D3D texture format caps set up.

Bug: skia:9935
Change-Id: I905aaedd7d5fcc8b5137fcc8d8189e93260c9359
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273797
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-02-27 21:24:46 +00:00
Mike Klein
102488f038 bit_and and gather
Enough to run SkVM_gather32 test.

SSE looks good, unrolled as you'd expect.  HSW oddly is also
unrolled like SSE, not using vpgatherdd like we want.  TODO!

SKX looks great!

(lldb) dis -s fJITEntry -c 40
    0x10a6e8000: movabsq $0x10a6f6000, %rax        ; imm = 0x10A6F6000
    0x10a6e800a: cmpq   $0xf, %rdi
    0x10a6e800e: jbe    0x10a6e8054
    0x10a6e8010: vmovdqu64 (%rdx), %zmm0
    0x10a6e8016: vpandd (%rax){1to16}, %zmm0, %zmm0
    0x10a6e801c: movq   (%rsi), %rcx
    0x10a6e801f: kxnorw %k0, %k0, %k1
    0x10a6e8023: vpgatherdd (%rcx,%zmm0,4), %zmm1 {%k1}
    0x10a6e802a: vmovdqu64 %zmm1, (%rdx)
    0x10a6e8030: addq   $-0x10, %rdi
    0x10a6e8034: addq   $0x40, %rdx
    0x10a6e8038: cmpq   $0xf, %rdi
    0x10a6e803c: ja     0x10a6e8010
    0x10a6e803e: jmp    0x10a6e8054
    0x10a6e8040: movl   (%rdx), %eax
    0x10a6e8042: movq   (%rsi), %rcx
    0x10a6e8045: andl   $0x7, %eax
    0x10a6e8048: movl   (%rcx,%rax,4), %eax
    0x10a6e804b: movl   %eax, (%rdx)
    0x10a6e804d: decq   %rdi
    0x10a6e8050: addq   $0x4, %rdx
    0x10a6e8054: testq  %rdi, %rdi
    0x10a6e8057: jne    0x10a6e8040
    0x10a6e8059: vzeroupper
    0x10a6e805c: retq

Change-Id: If84bff6954b46aee5a4fd862c2899b6bf97fb164
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273854
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-02-27 21:15:48 +00:00
Robert Phillips
6c59fe4110 Add a GrSimpleMeshDrawOpHelper CreatePipeline method that doesn't require a GrFlushState
This CL also adds helper functions (i.e., createPipeline and createPipelineWithStencil) to better encapsulate pipeline creation.

This is a first step towards making GrSimpleMeshDrawOpHelper surface its GrProgramInfos.

Bug: skia:9455
Change-Id: Ic6cc7a01383e42436305358a9b193958d862786c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273556
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-27 21:15:41 +00:00
Brian Salomon
3aef301cac Reset GrGLGpu::fBoundDrawFramebuffer on resetContext
Change-Id: I873fc46cf68eaa49cf74270f8e0ac9282a19542e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273804
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-27 21:11:46 +00:00
recipe-roller
5827438af5 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools, recipe_engine) into this repository.

depot_tools:
  https://crrev.com/a4f9aa037585a99a5c5e1b029991c040f5a29e7c (iannucci@chromium.org)
    Refactor OWNERS for LUCI-related tools.
  https://crrev.com/9468eba70dbda8f1c6992c6e64772b0a44153cbe (ehmaldonado@google.com)
    git-cl: Add tests for git-cl presubmit
  https://crrev.com/8c5cdf1812e4642b53ee660c767e8a71d88ea6ab (sokcevic@google.com)
    Print content of description backup on exit
recipe_engine:
  https://crrev.com/aed02b3aa61d3d56bfe5616667ab09cafc08fb4a (iannucci@chromium.org)
    [test] Fix location of --stop flag.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iad429299e5d0c0badeb37c085317fc58ca3c5cd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273806
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-02-27 21:10:36 +00:00
Nathaniel Nifong
f106bc27a4 Add SK_NO_FONTS check around font uses in skottie
Prerequisite to cl/297131877

Change-Id: Icd58c69fd53b703e43d67f4a1a9bafe096943edc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273765
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-02-27 20:50:16 +00:00
Stephen White
dbb0a25d1f Skia-Dawn: update for recent GrRenderPass::onDraw* changes.
Change-Id: I2b1a07dccb5e58dbe2488acf1b87281215b84f98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273799
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-02-27 20:20:47 +00:00
Brian Salomon
510eb15cbd Fix NVPR with explicitly sampled FPs.
Use uniforms rather than fixed function computed varyings to implement
coord transforms for FPs that are sampled explicitly.

Change-Id: I43be3f9649550e36dbb4d1f72090a497dfeb0d31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273798
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-27 20:05:36 +00:00
Mike Klein
4c690b442f add metadata to calculated bounds
For Flutter, mark each bounds rect as a draw or not.

saveLayer() is the trickiest part: it doesn't draw, but its paired
restore() does, while a restore() paired with save() doesn't.

Change-Id: I5f0dc61ad5543265c5ea2bf41b236f57915847b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273501
Reviewed-by: Emmanuel Garcia <egarciad@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-27 19:12:35 +00:00
Mike Klein
11efa18eca impl load32
This means we can write a memset32 (load32 -> store32),
tested explicitly with the new unit test.

Slightly changes to the type protocol,
  - load and splat now generate scalars or vectors
    depending on how `scalar` is set
  - store should no longer have to pay attention to `scalar`;
    it's input values will already be the right size

Clean up some of the type declarations where we don't
actually need the subclass types, holding llvm::Type* instead.
This makes using ?: easier.

Change-Id: I2f98701ebdeead0513d355b2666b024794b90193
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273781
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-27 18:50:05 +00:00
Brian Osman
15c98cbfef Revert "Add most important intrinsics to the interpreter"
This reverts commit 838007f1ff.

Reason for revert: Significant RAM regression detected by Chrome.

Original change's description:
> Add most important intrinsics to the interpreter
> 
> Started with component-wise comparison and mix builtins.
> 
> Implemented min, max, clamp, and saturate using those.
> Moved dot to SkSL as well. Because we now have builtins
> implemented using other (intrinsic) builtins, I had to
> split the include file in two - this lets the intrinsics
> be marked so we can call them from the second phase of
> builtins that are written in SkSL.
> 
> Given that the comparisons and kSelect are now used by
> these, I added vector versions of those instructions.
> I also switched the kSelect args to match GLSL mix(),
> mostly so the logic of mapping intrinsic arguments to
> instruction register args remains simple.
> 
> Inspired by the (never-landed):
> https://skia-review.googlesource.com/c/skia/+/230739
> 
> Change-Id: Iecb0a7e8dc633625ff2cada7fb962bf2137fa881
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272516
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=bsalomon@google.com,brianosman@google.com,ethannicholas@google.com,reed@google.com

Change-Id: I931a0ccc254b55339c9b077543a0daaf28146b19
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273800
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-02-27 18:37:15 +00:00
Mike Klein
00666b5739 initialize fEE = nullptr
And rearrange a little so that it's more similar
to the other JIT state we track, so this sort
of bug is less likely in the future.

Change-Id: I64ddb791490efdbbcecb53cce823dda5c8d7c68b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273779
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-02-27 18:33:25 +00:00
Eric Boren
7fb77c8165 [recipes] Move app_name into flavor.setup()
This allows us to move iOS-specific stuff from individual recipes into
the flavor module.

First in a long series of CLs to clean up recipes and move to task drivers.

Change-Id: Iff01610f76c71920639328ead5209e0cd5d93f31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273762
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-02-27 18:06:15 +00:00
Weston Tracey
8430496536 Revert "Update Go Deps"
This reverts commit 289ecf8b9b.

Reason for revert: The addition made in the autogenerated Go Deps CL was superfluous was by the time I got around to merging and submitting it, now it's breaking CheckGeneratedFiles.
Original change's description:
> Update Go Deps
>
> Change-Id: I4f78bfcbd56e0ba1b318f06c281a9503ff378ed5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272895
> Commit-Queue: Weston Tracey <westont@google.com>
> Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>

TBR=skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com,westont@google.com

Change-Id: Iccda32bc10bf19610260eec83816ebe6e69c8ae7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273767
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
2020-02-27 18:05:16 +00:00
Mike Klein
7b3999edcb convert to phi nodes
Convert our n+args stack homes to phi nodes,
essentially performing mem2reg ourselves,
eliminating the need for it at runtime.

Also, use b.getInt64(k) to create integer constants.

Also, print verifyModule() errors to stdout (instead of nowhere).

Also, update unit test to make sure we don't run off the end.

Bitcode still looks good:
    define void @skvm-jit-211960346(i64, i8*) {
    enter:
      br label %testK

    testK:                                            ; preds = %loopK, %enter
      %2 = phi i64 [ %0, %enter ], [ %6, %loopK ]
      %3 = phi i8* [ %1, %enter ], [ %7, %loopK ]
      %4 = icmp uge i64 %2, 16
      br i1 %4, label %loopK, label %test1

    loopK:                                            ; preds = %testK
      %5 = bitcast i8* %3 to <16 x i32>*
      store <16 x i32> <i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42>, <16 x i32>* %5, align 1
      %6 = sub i64 %2, 16
      %7 = getelementptr i8, i8* %3, i64 64
      br label %testK

    test1:                                            ; preds = %loop1, %testK
      %8 = phi i64 [ %2, %testK ], [ %12, %loop1 ]
      %9 = phi i8* [ %3, %testK ], [ %13, %loop1 ]
      %10 = icmp uge i64 %8, 1
      br i1 %10, label %loop1, label %leave

    loop1:                                            ; preds = %test1
      %11 = bitcast i8* %9 to i32*
      store i32 42, i32* %11, align 1
      %12 = sub i64 %8, 1
      %13 = getelementptr i8, i8* %9, i64 4
      br label %test1

    leave:                                            ; preds = %test1
      ret void
    }

and the final assembly looks the same:

    0x10a3f5000: movabsq $0x10a3f6000, %rax        ; imm = 0x10A3F6000
    0x10a3f500a: vbroadcastss (%rax), %zmm0
    0x10a3f5010: cmpq   $0xf, %rdi
    0x10a3f5014: jbe    0x10a3f504d
    0x10a3f5016: nopw   %cs:(%rax,%rax)
    0x10a3f5020: vmovups %zmm0, (%rsi)
    0x10a3f5026: addq   $-0x10, %rdi
    0x10a3f502a: addq   $0x40, %rsi
    0x10a3f502e: cmpq   $0xf, %rdi
    0x10a3f5032: ja     0x10a3f5020
    0x10a3f5034: jmp    0x10a3f504d
    0x10a3f5036: nopw   %cs:(%rax,%rax)
    0x10a3f5040: movl   $0x2a, (%rsi)
    0x10a3f5046: decq   %rdi
    0x10a3f5049: addq   $0x4, %rsi
    0x10a3f504d: testq  %rdi, %rdi
    0x10a3f5050: jne    0x10a3f5040
    0x10a3f5052: vzeroupper
    0x10a3f5055: retq

Change-Id: I12d11c7d5786c4c3df28a49bb3044be10f0770e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273753
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-27 17:04:05 +00:00
Michael Ludwig
fb3f302bdf Reland "Track device coordinate space as matrix"
This reverts commit 915b779f9c.

Reason for revert: finally coming back to this, figure out what's wrong on Android

Original change's description:
> Revert "Track device coordinate space as matrix"
> 
> This reverts commit b74d5548a4.
> 
> Reason for revert: see if this fixes the android roll
> 
> Original change's description:
> > Track device coordinate space as matrix
> > 
> > This is a required step to be able to cleanly draw image filtered
> > device layers with arbitrary matrices, instead of relying on
> > SkMatrixImageFilter to apply the transformation.
> > 
> > Bug: skia:9545
> > Change-Id: I8d84679a281538875cf4a1b73565294fb7f89c86
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249076
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
> 
> TBR=robertphillips@google.com,reed@google.com,michaelludwig@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: skia:9545
> Change-Id: Ie374a7500cfbff35cb0782beb863086e118a005a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249986
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

TBR=robertphillips@google.com,reed@google.com,michaelludwig@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:9545
Change-Id: If31a9be86cb340a0874533c044c19b6787d5f176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272340
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-02-27 16:32:45 +00:00
Greg Daniel
93afe641d0 Blacklist hanging test on vulkan pixel3 perf bot.
Bug: skia:9972
Change-Id: Id882d72862cb2edabed03ef867358a6ce0c41342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273761
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-02-27 16:12:35 +00:00
Brian Salomon
dffe2ab3e0 Add assert that GrTextureMaker never adds MIP maps
Change-Id: If718decf8867cd66d8394a4f7fc646cf3f0950b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273609
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-27 15:58:25 +00:00