If every use of the coords passed to main was for a call to sample that
was converted to pass-through sampling... We don't actually reference
the sample coords, so we can un-set the flag. This prevents the FP from
requesting an extra set of (unused) coords, which saves a varying
between the vertex and fragment shaders.
Bug: skia:11869
Change-Id: I4e15876031717b8bcf642e742bad8ae26d6bd020
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411871
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Change-Id: Icb400a8826a42cabe8e12ef6648435ab63e15d88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411899
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
As explained in the bug and comment - if the only reference to sample
coords is from a sample call that gets converted to pass-through, we
don't *actually* need the coords. We don't realize that with today's
analysis, so we end up generating a set of coords for the FP, which is
wasteful (adds an extra varying).
Bug: skia:11869
Change-Id: Iff818bb2c3deb96162a8cf107ccf4ecb35344bb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411244
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ib678324849a15204c910df3361d7fd061cae1bb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411900
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Previously, `evaluate_intrinsic_1_of_type` and related functions were
all templated on the lambda expression of each evaluation function, so
every intrinsic generated a copy of each function. In most cases this
could be replaced by a std::function which takes and returns a float,
bool or SKSL_INT. (This level of flexibility was only truly necessary
for `evaluate_intrinsic_numeric1`.)
Change-Id: I2a4bd5984d74bb97bffd31018c9cf3dba17e8450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412056
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
These paths trigger cases where we know we must add the inner join
geometry.
Bug: skia:11964
Change-Id: I9c66baf6a9f9fda55911651adae01ba1a22b3aa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408156
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Uses an instanced attrib instead of a uniform to access the bounding
box. This will allow for batching and fewer uniform updates.
Bug: skia:10419
Change-Id: I522b4a29835564f89294a02ee4edc7a866812164
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411976
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This is needed by the upcoming DSLParser.
Change-Id: I54a0714e55feeb78894df766b14c795970f2c2d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411308
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Change-Id: I3427fbaf57787c3051db95ec5882c9292d7985cf
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411312
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This is a reland of 5e1f135376
Original change's description:
> Re-enable tessellation for cacheable strokes
>
> Now that the fixed count stroke tessellator has landed, these should
> hopefully not regress performance.
>
> Bug: skia:11138
> Bug: skia:11139
> Change-Id: I1a7d756e2a8a55f9ad4aaed716e4816b342b3b4f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404398
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
Bug: skia:11138
Bug: skia:11139
Change-Id: Iae649858844eb9fc304a84e902247edd128f2201
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404857
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
changed from left,right,width,height params to rect.
Change-Id: Idc7e337a1c37d8cc297a1e3cf4ff7c4b6e288c43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411875
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: Ic972dfcf13b9807669d0fb29c73dca8d6a9cd939
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410816
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This CL:
Clumps the proxy creation & device creation parameters together in the factories
Makes the raw SkGpuDevice factory take a "const SkSurfaceProps&"
Makes both the proxy-wrapping & raw factories call the SDC-based factory
Change-Id: I73fe88b639c015691fbbccdd9ff0acf2f0dad34c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410956
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: Ib73dd51f3f558aa6c6b98aa611da116d8906bf7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397284
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Downloads the version of 'sk' indicated in DEPS. Tracks the version ID
and sha256 sum of the downloaded executable to ensure that the correct
version is obtained.
Change-Id: I8d54f9e0159141b3582f2d08b9f1e397bfc60e7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411776
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Change-Id: I46e5bc6d39aa185b26436e1795f50a0c7bb9905b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411307
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
In the majority of cases, a uniform is an equally good substitute, and
replacing `sqrt(N)` with `unknownInput` actually makes the test clearer.
Change-Id: I7bcb477571972d7aa2ce8c49b3674471f7310748
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411306
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Our matrix-comparison workaround should allow these tests to pass now.
Change-Id: I6e78be361f06ec5741c5d38444ace6f82fc497e2
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411303
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Don't run the cull test until after we've chopped for the first time.
Inline quadTo/conicTo/cubicTo and lift the recursion into separate
methods.
tessellate_GrStrokeFixedCountTessellator bench: 2.37 -> 1.63ms
Bug: skia:10419
Change-Id: Ie7ac32985a8c3e75d554e193543e756dd73e112f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411196
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Bug: chromium:1210557
Change-Id: Ib41cbf3236abdbb105ce818756505ff40c868cf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411301
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This extracts the logic for SkRuntimeEffect's one-at-a-time handling of
colors, and also makes it more capable. We can now execute color filters
that invoke children with literals, or with the results of other
children (eg, compose color filter).
Change-Id: I53c6db0316a7162c32f2a7b86b35c947cccb42ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408117
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This class has changed with reordering so we need to
freshen these up.
Bug: skia:10877
Change-Id: Ic1bfabe7b21d665e6b50cad8be4026dc3481fb9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411217
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Pinning is only used by Android Framework and shouldn't require mipmaps
anyway.
Bug: skia:10411
Change-Id: Ie9fe09a26468386fc667e05e316a033427617688
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410417
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Makes the code from yuv_splitter reusable and able to produce subsampled
planes.
Bug: chromium:1210557
Change-Id: Icce112658bbdb866c3ecb9dcff1a5e8d0d30135a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411297
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
We no longer have these devices in the lab.
Change-Id: Ief49387818c9620afe763ad59558dd84475f1960
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411756
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: I2f245892e12416decd4f0aee491f16fb4040ffca
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411036
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This reverts commit 8988cb4643.
Reason for revert: Testing again
Original change's description:
> Whitespace change for master->main migration test
>
> No-Tree-Checks: true
> Bug: skia:11987
> Change-Id: I1321a33063b1d934a2d0fbaf01e13884c47e11de
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410416
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:11987
Change-Id: Ic271da0b2b7096464c71b78e53fce51dacb4a44e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411304
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
44fabb7b88..c229ccfeea
2021-05-22 syoussefi@chromium.org Vulkan: SPIR-V Gen: Handle gl_PerVertex
2021-05-21 m.maiya@samsung.com Vulkan: TextureVk inherits a few attributes from ImageHelper
2021-05-21 jmadill@chromium.org infra: Add isolated script tests to Pixel 4.
2021-05-21 cnorthrop@google.com Tests: Skip pokemon_go on Intel Windows Vulkan
2021-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 535dfe49fc49 to 8010f59c7034 (14 revisions)
2021-05-21 m.maiya@samsung.com Vulkan: Allow certain usecases to have non-zero stride
2021-05-21 Kyle.Griffiths@imgtec.com Remove linear filtering requirement on depth textures
2021-05-21 m.maiya@samsung.com Reland "Vulkan: Add support for EXT_texture_border_clamp"
2021-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b625560cb068 to dbbe4e524711 (537 revisions)
2021-05-21 gert.wollny@collabora.com Capture/Replay: Write some bytes when serializing blobs
2021-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3b9a1a795f1e to 024bf32587e5 (1 revision)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-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/+doc/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: jlavrova@google.com
Test: Test: PbufferTest.ClearAndBindTexImageSrgbSkipDecode*Vulkan
Test: Test: VertexAttributeTestES3.DrawWithMismatchedComponentCount*
Test: Test: VertexAttributeTestES3.DrawWithRelaxedVertexAttributeType*
Change-Id: I592ae5d5b20ed6eb8be2930896e6c45597c63d47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411331
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Previously we would completely disable hardware tessellation for a path
if there was any chance of a curve requiring more segments than
supported by the hardware. This CL updates the tessellators to simply
chop paths until they fit in patches, allowing us to finally draw any
path using hardware tessellation.
Bug: skia:10419
Change-Id: I5c9f78cda3e30b8810aff3cb908235965706f2d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410977
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
This was originally designated for 2x2 matrices only, but this was not
right--all matrix comparisons actually need to be rewritten to fully
work around the bug.
Change-Id: I743d16a65bc55e93361a3dd8753653384583f063
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411416
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit 9604eab2bd.
Reason for revert: Got perf data
Original change's description:
> Temporarily disable reduceOpsTaskSplitting on bots
>
> When we enabled this, at that time CCPR atlasing would
> auto-disable when reordering was enabled, so the perf
> impact was unclear.
>
> Since then, CCPR atlasing has been disabled for everyone,
> so let's flip this flag, get some perf data, and then flip it back.
>
> Bug: skia:10877
> Change-Id: I67f081981e84c573dfc2907018b50c740f3a32cc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411216
> Auto-Submit: Adlai Holler <adlai@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,adlai@google.com
Change-Id: Ic90be563da759b48f5aa3d9c951cfb76439ce604
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411298
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
This is allowed by GLSL, so we allow it too.
GLSL ES 1.0, Section 6.1: "The idiom “(void)” as a parameter list is
provided for convenience."
Change-Id: I551c505d3de518a75acd5e306f09f0f0767e43f2
Bug: skia:12025
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411300
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>