This one slips past older versions of LLVM for some reason.
Change-Id: I86792b7fc9f66be6e40ed9f480f8750169b36bbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440522
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This reverts commit a209ba17a1.
Reason for revert: Flutter roll.
Original change's description:
> Metal: update to using MTLGPUFamily for caps checks.
>
> MTLGPUFamily provides a cleaner interface, and allows us to detect
> Apple Silicon on Macs. MTLFeatureSet has been deprecated in newer OSes,
> but we fall back to it and programmatically set up the GPU family if
> running on an older OS.
>
> Also removes related code from GrMtlGpu and encapsulates it all in
> GrMtlCaps.
>
> Bug: skia:12086
> Change-Id: Ieb54bf2aca845ea809e86ccc72f34ef2211e1cfb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440517
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=jvanverth@google.com,bsalomon@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: I691f05bf58a386b4296fb5abed155d7852c57ada
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12086
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440543
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 69ae22db48.
Reason for revert: Flutter roll.
Original change's description:
> Remove maccatalyst available check.
>
> It's not strictly necessary and causes compile issues on early versions
> of Xcode 12.
>
> Change-Id: I39b0b25184bdeb978a31bbede59283b0836751c2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440521
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
TBR=jvanverth@google.com,johnstiles@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: Iac537784aaa4135b49b01dbc22e0936919ae222c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440542
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 282af12ae0.
draw_shader now has a `allowRasterFallback` option and returns an empty
bitmap if no surface can be made.
Original change's description:
> Revert "Add GM slide for ES3 trig intrinsics."
>
> This reverts commit 3cb09c0904.
>
> Reason for revert: Windows ANGLE can fall back to software
>
> Original change's description:
> > Add GM slide for ES3 trig intrinsics.
> >
> > Unlike the other Runtime Effects slides, this only works on GPU, as
> > the ES3 intrinsics aren't implemented in SkVM (today).
> >
> > Change-Id: Icf59e4ed7c1e89aa7b730b43c2fd0fa45d61e71a
> > Bug: skia:12202, skia:12352
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439777
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> TBR=brianosman@google.com,johnstiles@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
>
> Change-Id: Ica2f7af9e479e5cf96603583c6803b646b8dcb4b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:12202, skia:12352
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440558
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
Bug: skia:12202, skia:12352
Change-Id: I774635a8b1e526af0be3b68f771496f1cedce13a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440559
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
It's not strictly necessary and causes compile issues on early versions
of Xcode 12.
Change-Id: I39b0b25184bdeb978a31bbede59283b0836751c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440521
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
When compiling test shaders, we were setting SK_FRAGCOORD_BUILTIN on the
`coords` parameter to main() instead of SK_MAIN_COORDS_BUILTIN. These
two built-ins don't have the same type (float2 vs. float4) and don't
mean quite the same thing.
The SPIR-V code generator saw a variable with the SK_FRAGCOORD_BUILTIN
builtin value and assumed the presence of a global variable named
`sk_FragCoord`, which didn't exist (because it was never referenced in
the code, so it was never cloned in from the sksl_frag module).
This is only a concern when compiling test shaders with skslc; real
shaders don't hit these code paths. The generated code here is still
imperfect; if you look closely, you'll see the GLSL and Metal code is
referencing the `coords` variable but it's never declared anywhere.
Change-Id: I3ad249469927ff35eb1e75d6536f95317502708f
Bug: skia:12340
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440520
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>
Encapsulate the cpu gaussian blur as a class. This will allow further blur
strategies in the future.
Bug = skia:12338
Change-Id: I846571787e6600832a412ca1753c02c9b760e18c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440556
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit 3cb09c0904.
Reason for revert: Windows ANGLE can fall back to software
Original change's description:
> Add GM slide for ES3 trig intrinsics.
>
> Unlike the other Runtime Effects slides, this only works on GPU, as
> the ES3 intrinsics aren't implemented in SkVM (today).
>
> Change-Id: Icf59e4ed7c1e89aa7b730b43c2fd0fa45d61e71a
> Bug: skia:12202, skia:12352
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439777
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
TBR=brianosman@google.com,johnstiles@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: Ica2f7af9e479e5cf96603583c6803b646b8dcb4b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12202, skia:12352
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440558
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
MTLGPUFamily provides a cleaner interface, and allows us to detect
Apple Silicon on Macs. MTLFeatureSet has been deprecated in newer OSes,
but we fall back to it and programmatically set up the GPU family if
running on an older OS.
Also removes related code from GrMtlGpu and encapsulates it all in
GrMtlCaps.
Bug: skia:12086
Change-Id: Ieb54bf2aca845ea809e86ccc72f34ef2211e1cfb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440517
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This lets us set the minimum bar for SkSL ES3 support in one place,
rather than checking this set of bits in multiple spots.
Change-Id: Icba58d8b6a93626ce2ffbe3c4b846cad4749cab5
Bug: skia:12347
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440518
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Unlike the other Runtime Effects slides, this only works on GPU, as
the ES3 intrinsics aren't implemented in SkVM (today).
Change-Id: Icf59e4ed7c1e89aa7b730b43c2fd0fa45d61e71a
Bug: skia:12202, skia:12352
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439777
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This was previously a bit unclear, as ES2 supports the `intN` types but
had `integerSupport` returning false.
Change-Id: I148a00c70f7d251641c0571ab4c311ae974cd43d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440516
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>
Bug: skia:11837
Change-Id: I6aee4b5fcdb39a669f1ce9adb143b4562c206e57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440263
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Bug: skia:12353
Change-Id: Ia4685f3f5e9e636d9b3b602140d23db6e375929c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440459
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This centralizes the new color-space parsing into SkCommandLineConfig,
and then wires that up in DM, nanobench, and skpbench. It also removes
all of the old config names that encoded both color type and space.
Change-Id: I9a63a97f1d153e7636a1fb974cc4071f5ada3184
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/438377
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:11837
Change-Id: I42dfaf795ec6afe9d648b0715457a3a38ef8c7a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439943
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I9ddb80b8886827250e243dc9174bb3679e70df9b
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440262
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit 03f17cd210.
Reason for revert: original CL modified 'filter', which was actually
the aggregate requested filter level (and 'netFilter' represented the
optimal filter up to a certain point). Once 'filter' was modified for
a quad, all subsequent entries in the batch would start with the wrong
filter (even if they should have remained bilerp).
Original change's description:
> Revert "Correctly downgrade per-entry filter/mm local variables"
>
> This reverts commit 628c91302d.
>
> Reason for revert: causing layout test failures?
>
> Original change's description:
> > Correctly downgrade per-entry filter/mm local variables
> >
> > If skia-renderer submitted a non-AA pixel-aligned rect with local coords
> > and identical texture domain, but with filter = bilerp, the batch
> > ctor would correctly identify that the netFilter could be dropped to NN,
> > but never updated the filter local var. Later, this value is used to
> > decide if the domain/subset is necessary and since it erroneously thinks
> > it's still bilerp, the subset is preserved.
> >
> > By changing filter to match the downgraded filter quality, these quads
> > will automatically become non-AA, non-clamped texture draws, meaning
> > that the varying texture coords are passed directly to sample(), so they
> > remain in high precision on devices like the Mali 400.
> >
> > Bug: chromium:1125298
> > Change-Id: I79f3d33246b6f897449c2a09015e1eb7a3e968b1
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439778
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Auto-Submit: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> TBR=bsalomon@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
>
> Change-Id: Iec686d90985e73f53a830a09ee675b6b8160ab85
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1125298
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440236
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
# Not skipping CQ checks because this is a reland.
Bug: chromium:1125298
Change-Id: Iab131bd256c828b633afd1c350eff099b23ab929
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440356
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This reverts commit fdde20d3ec.
Reason for revert: generation() can promise things that it can't deliver
Original change's description:
> Use generation() to detect ES3 support.
>
> Desktop GLSL 1.30 supports the things we currently consider as "ES3
> only"--nonsquare matrices, derivatives, and unsigned integers.
>
> Change-Id: I4b5a844cf3aabee6b6d2c562e78859a29efc36fc
> Bug: skia:12347
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439937
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=brianosman@google.com,johnstiles@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: I118e08da078090f404a4fdf33c3a16a48c702753
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12347
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440457
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This is part of making everything in the gpu/ops directory be v1-only.
Bug: skia:11837
Change-Id: I9709ffc140a77d4d68f3838e3d30374df0913889
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440156
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
If the passed-in shader references RTFlip (i.e., sk_FragCoord is used),
the settings must contain RTFlip layout info; otherwise, an error
occurs. Originally, the fuzzer detected this as a problem because the
error was being delivered via SK_ABORT, but it's failing more cleanly
now that Ethan's new error handling code is in place (causing the fuzzer
to report that the bug was "fixed"). With this CL, the oss-fuzz shader
will actually compile successfully in SPIR-V instead of leading to an
error.
Change-Id: I3268e84bd8e01c95a25ed0845a37324e98033c4b
Bug: oss-fuzz:35916
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439779
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:11837
Change-Id: Ifa1da88aafcaa96e0e885facaeb849cc9963bcfe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439938
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Optimization for inverse() uses some custom logic which neglected to
look up the value of a constant variable before assuming it was a
FloatLiteral; our tests were not exercising this case.
Change-Id: Idc8f2cc24f6a8df7234062f5f15e8c39a08457e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440260
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>
We don't have compile-time optimization for this intrinsic yet, but
otherwise everything is working as expected.
Change-Id: Id9c678699baa1d9867848459bf680cc40f29b4bd
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440257
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
We can use the generic $squareMat type to replace three declarations
with one, saving a bit of memory. For the non-square versions of
transpose, we need to continue using individual declarations as the
input and output types don't match.
Change-Id: I8b3046dd0eb7d976ba2b62bf04c79dcf14113c90
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440177
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This intrinsic uses non-square matrices, so it will be useful in
confirming that we can use ES3 types in sksl_public intrinsics. Bulking
up this test (which we don't run in SkSLTest today) is a good first
step.
Change-Id: I8178f13d5ca376d7cae3d1a4350b2bc0397efb1f
Bug: skia:12348
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440256
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This was accidentally missed in http://review.skia.org/403078.
Change-Id: I0eda81d8225942e1b3dfee4bfcb01ba591b40707
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440258
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
For every clear action we were performing a Clear load action and
then a Load, which is unnecessary. For clears we now create a
RenderCommandEncoder with a Clear load action, and reset the descriptor
to Load for future creation.
Bug: skia:12086
Change-Id: I3dd20a1b251d6683a8d49cc5a034716419becd91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439941
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This is the other half of making everything in gpu/ops be v1-only.
Bug: skia:11837
Change-Id: I5d77a499ef02eba69208d5bd634650433d02f6fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440216
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 628c91302d.
Reason for revert: causing layout test failures?
Original change's description:
> Correctly downgrade per-entry filter/mm local variables
>
> If skia-renderer submitted a non-AA pixel-aligned rect with local coords
> and identical texture domain, but with filter = bilerp, the batch
> ctor would correctly identify that the netFilter could be dropped to NN,
> but never updated the filter local var. Later, this value is used to
> decide if the domain/subset is necessary and since it erroneously thinks
> it's still bilerp, the subset is preserved.
>
> By changing filter to match the downgraded filter quality, these quads
> will automatically become non-AA, non-clamped texture draws, meaning
> that the varying texture coords are passed directly to sample(), so they
> remain in high precision on devices like the Mali 400.
>
> Bug: chromium:1125298
> Change-Id: I79f3d33246b6f897449c2a09015e1eb7a3e968b1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439778
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Auto-Submit: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: Iec686d90985e73f53a830a09ee675b6b8160ab85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1125298
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440236
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This reverts commit 3bce5d1397.
Reason for revert: Speculative fix for ASAN failures on waterfall
Original change's description:
> Update bots' NDK to r23
>
> Bug: skia:12273
> Bug: skia:10754
>
> The latest version (r23) includes APIs from Android 12. It also allows
> referencing enums and structs even if __ANDROID_API__ is not set to the
> level that included them. This allows code to reference them and use
> dlsym to access the methods. This will ultimately allow Skia (or client
> - in this case Flutter) to use a single build to use the NDK APIs if
> present and fail gracefully if not.
>
> With r23, the Mac version of the NDK is now in a DMG, so rewrite its
> script to properly download, mount, and eject it.
>
> Also update the path to asan_device_setup. (See
> Iae6515b7e78c7660b4fb9fe32fd969ba563c4517.)
>
> Change-Id: I4b2eb4f49a1d45a3c18d2399f6b8006668c310ea
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439336
> Reviewed-by: Eric Boren <borenet@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
TBR=borenet@google.com,djsollen@google.com,scroggo@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: I77f803c51cba6672958210b5270b8b4301e12301
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12273
Bug: skia:10754
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440176
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Previously, we hid non-ES2 numeric types from Runtime Effect code by
only including them in the private symbol table. Now, they are present
in the root symbol table, but marked with a new flag that identifies
them as disallowed in ES2.
The IR generator now enforces that strict-ES2 code doesn't contain types
that aren't allowed. This has two benefits:
- Intrinsic functions in sksl_public can now reference these types
- Error reporting is nicer
Change-Id: I32375de4efdcb57b74a8a1692fb2ee315a003336
Bug: skia:12348, skia:11115
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439997
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Change-Id: I97986c45599274441660d1e947592768960c6d27
Bug: skia:12348
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439949
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Desktop GLSL 1.30 supports the things we currently consider as "ES3
only"--nonsquare matrices, derivatives, and unsigned integers.
Change-Id: I4b5a844cf3aabee6b6d2c562e78859a29efc36fc
Bug: skia:12347
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439937
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:11837
Change-Id: Ia34f1840aaa7360ea9a3ca40fef5cb96b68c6ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439781
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Surprisingly, we didn't actually have a preexisting test covering this.
Error reporting is lackluster in this CL but will be improved in the
followup.
Change-Id: I0b1cdb5a82f066af6b9d3fd9c39748080c2e18c0
Bug: skia:12348
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439996
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: I04da5871c668b1ed9ca8db7fdcbfe06a70ee227f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440079
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Bug: skia:12273
Bug: skia:10754
The latest version (r23) includes APIs from Android 12. It also allows
referencing enums and structs even if __ANDROID_API__ is not set to the
level that included them. This allows code to reference them and use
dlsym to access the methods. This will ultimately allow Skia (or client
- in this case Flutter) to use a single build to use the NDK APIs if
present and fail gracefully if not.
With r23, the Mac version of the NDK is now in a DMG, so rewrite its
script to properly download, mount, and eject it.
Also update the path to asan_device_setup. (See
Iae6515b7e78c7660b4fb9fe32fd969ba563c4517.)
Change-Id: I4b2eb4f49a1d45a3c18d2399f6b8006668c310ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439336
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
The checks for PMUPM conversions can cause us to abanon the context when
work is submitted to the GPU for its tests. So after calling that
function we need to make sure we're still in a valid state.
Bug: chromium:1205797
Change-Id: I652da7fc9bb230fcd141c890d312fce37fc42e22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439817
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
If skia-renderer submitted a non-AA pixel-aligned rect with local coords
and identical texture domain, but with filter = bilerp, the batch
ctor would correctly identify that the netFilter could be dropped to NN,
but never updated the filter local var. Later, this value is used to
decide if the domain/subset is necessary and since it erroneously thinks
it's still bilerp, the subset is preserved.
By changing filter to match the downgraded filter quality, these quads
will automatically become non-AA, non-clamped texture draws, meaning
that the varying texture coords are passed directly to sample(), so they
remain in high precision on devices like the Mali 400.
Bug: chromium:1125298
Change-Id: I79f3d33246b6f897449c2a09015e1eb7a3e968b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439778
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>