The index API are no longer needed now that the Geometries
hold pointers instead of indexes.
Change-Id: I940520816ca58959f2c7c415a8f356ea5bf3d293
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255816
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Still reasoning through that bitfield one, but this is unrelated, and
exactly like the other version. Clang may decide to branch on `0 ==
strcmp(kChromium, suffix)` before it branches on the result of `3 ==
sscanf(..., suffix)` that only has initialized suffix when it is true.
Change-Id: If76e7b9087b59ddae4249d9f2828c881fa649c8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255418
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
if a filename ends with `.py` and the file begins with '#!.*python.*',
make it executable.
Change-Id: I41de516ff37343d3b0979bde9fd61813aec7365c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254439
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
- BUILD.gn `gif` optional source_set: use new skia_libgifcodec_path
code, not third_party/gif code.
- SkCodec.cpp: use third_party version of SkGifCodec.h.
- rm src/codec/SkGifCodec.* third_party/gif/*
Original CL: https://review.skia.org/254582
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Bug: skia:9654
Change-Id: Ia0379af70a5ec5656a7d123b8b6816b9fa24eaee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255780
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
I started adding more _imm Ops like mul_f32_imm and noticed that there
was some low hanging peephole fruit here that we can harvest first.
Each of these peepholes I've added is sound in the way that I've
documented, and the div_f32 and mul_f32 peepholes are actively being
hit. I think it's inevitable that the add_f32 and sub_f32 ones will be
hit eventually too as we expand how skvm is used.
The easiest place to see this in action is
when SkColorFilter_Matrix::program() is passed an opaque color:
skvm::F32 invA = p->div(p->splat(1.0f), *a)
now leaves invA as splat(1.0f) directly, skipping the premul divide.
We still do the next part checking to see if invA is infinity; more
on that at the end of the CL description.
In this way I think we ought to never need to thread through a
shader_is_opaque parameter to color filters, instead letting the program
builder simply look and see if it is, among any number of other similar
optimizations.
Interestingly, though we may know sometimes the input to
SkColorFilter_Matrix::program() is opaque, as written today we'll never
know if the output is. Since we don't specialize the code based on the
0/1 values of the matrix, we lose the knowledge that alpha is 1.0f as it
goes through the matrix. There are two good ways to fix this:
1) do specialize on 0/1 values of the matrix so that the program
sees alpha is not changed when alpha is not changed;
2) wrap today's virtual program() with a base-class non-virtual
that queries getFlags() & kAlphaUnchanged_Flag to save and restore
the input alpha, essentially marking any code that changes alpha
as dead code.
2) is kind of the brute force, trusting version of 1), but does have
the advantage that the generated code need not change. Still, in this
case of a matrix, I think we'll want to look at 0/1 values anyway...
they'll come up more often than just for the alpha channel.
You can see a mul_f32 peephole happen when the blitter goes to store any
known-opaque color to memory. We go through some logic like
alpha_as_byte = round(mul(alpha, splat(255.0f)))
and if alpha is known to be splat(1.0f), we'll now skip that mul(),
alpha_as_byte = round(splat(255.0f))
I think this is all the strictly viable float peepholes where one
argument is a constant. Obviously there are lots of peepholes we can
write for int32, int16, and bitwise instructions, and then there's a
whole untapped world of peepholes to explore when _all_ arguments are
constant. These all-constant peepholes let our program notice that,
e.g., 1.0f < infinity and we can skip that part of the unpremul too, or
that round(splat(255.0f)) == 0xff and we can skip that work.
These all-constant peepholes may not be super important, as anywhere
they can trigger, the instruction must be hoistable: since all arguments
are constant, none depend on loop variables. But still, nicer to run
once ever at compile time than once per invocation at runtime. And it's
less code to analzye, less code to JIT, fewer instructions to interpret,
etc.
Change-Id: Ia2dc5af2cfff71a12693a2903f579a57c9302d12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255616
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Something is breaking client code in unexpected ways. Let's try this
piecemeal.
- skia_libgifcodec_path gn var. Default is
third_party/externals/libgifcodec. Anfroid framework uses
third_party/libgifcodec.
- skia_use_libgifcodec gn var; defaults to !skia_use_wuffs. Allow
disabling both codecs.
- GN template("optional"): add public_include_dirs, similar to
public_defines.
- SK_USE_LIBGIFCODEC, ifdef for skia_use_libgifcodec.
- SkCodec.cpp: use SK_USE_LIBGIFCODEC
Original CL: https://review.skia.org/254582
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Bug: skia:9654
Change-Id: I70561f5f945656065e4b318d5fff505961fb0b6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255578
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
This reverts commit 190157bff2.
Reason for revert: regression in arithmode
Original change's description:
> Fixed some GrSkSLFP limitations.
>
> This makes it possible to pass more types as uniforms / inputs and fixes an
> issue with non-main functions calling other non-main functions.
>
> Change-Id: I6b5623b3c967d8219b992a455cc68bb0a29706b8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255300
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
TBR=bsalomon@google.com,brianosman@google.com,ethannicholas@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I85d1a10fab072b82f35c9caf2c27b07d380a7bf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255776
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Bug: skia:9603
Change-Id: I8571150bb7efe2f127c00d1a06e77ec8fa905d8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255526
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
99bd10b704..b8e748be6b
git log 99bd10b70422..b8e748be6b94 --date=short --no-merges --format='%ad %ae %s'
2019-11-21 b.schade@samsung.com Vulkan: Add an end2end test to log GLES capabilities
2019-11-20 jmadill@chromium.org Update dEQP KHR-GLES31 expectations.
2019-11-20 jmadill@chromium.org Work around dEQP KHR-GLES31 bug with tess/geom support.
2019-11-20 jmadill@chromium.org GN: Make dEQP import libEGL/libGLESv2 as data_deps.
2019-11-20 tobine@google.com Vulkan:Add Swiftshader configs
2019-11-20 jonahr@google.com Clean up dontUseLoopsToInitializeVariables condition
2019-11-20 b.schade@samsung.com Vulkan: Accelerate Texture PBO updates
2019-11-20 jonahr@google.com Add ability to disable all ANGLE features
2019-11-20 courtneygo@google.com Revert "Metal: Enable end2end tests."
2019-11-20 courtneygo@google.com Update expecatations for Program Pipeline tests
2019-11-20 lehoangq@gmail.com Mac: Add dsymutil to DEPS
2019-11-20 jiawei.shao@intel.com OpenGL: Port all Intel-related workaround conditions from gpu_driver_bug_list.json
2019-11-20 syoussefi@chromium.org Vulkan: Remove duplicate shader variation
2019-11-20 lehoangq@gmail.com Metal: Enable end2end tests.
2019-11-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 79afb7620a69..2377845dd216 (6 commits)
2019-11-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 57b4cb40b21d..2ee9aaa288d9 (3 commits)
2019-11-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src c2bd11586919..720c5deb0244 (11 commits)
Created with:
gclient setdep -r third_party/externals/angle2@b8e748be6b94
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 robertphillips@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=robertphillips@google.com
Change-Id: Ie82f5b417c56a6fe31e48190e16c22c05573ce5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255724
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
The ability to have device paths was removed a while ago.
Remove the code for device paths.
Change-Id: I09418eaa464b040c7bb13eac2e167997363e49d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255530
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
We support ops with up three arguments today, all three of which can be
registers, or one can be an immediate. Extend this to allow up to two
immediates, fitting the uniform?? ops much better than my old 16-bit
hack.
(The next thing on my mind is adding Op::extract_imm where both the
shift and now too the mask are known to be immediates.)
This refactor lets me straighten out the kinks of some ops, mainly the
uniform?? ops and extract. Things should generally now use x,y,z in
that order: most of the old immediates are now immy, and we use immz
only where we've already used the y register or immy immediate.
Small renaming isImm() -> isSplat(). I think this helps mutually
distinguish splat instructions, constants held by skvm instructions
(immy,immz), and constants as used by the JIT or assembler (still
generally `imm`).
Change-Id: I540a22a01459a39a499801362023ced7f2d6f49c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255538
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
I broke this adding VTune support.
Change-Id: I53399a8717c86cce9864a0fe96decec828c75737
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255617
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 3e0aa84a55.
Reason for revert: try to fix g3 roll
Original change's description:
> public.bzl: update to replace Gif with Wuffs
>
> Also, do away with complex exclude rules. Explicit is often better.
>
> Change-Id: I1d945c237a179f6db2552742fdf9e067d6d9eaf9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254578
> Commit-Queue: Hal Canary <halcanary@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Auto-Submit: Hal Canary <halcanary@google.com>
TBR=halcanary@google.com,scroggo@google.com
Change-Id: I7909840ef9d206718c3ac0483b555f5d2306a04f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255581
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
This CL is 100% plumbing. We ultimately want all GrPrimitiveProcessor-derived objects to not be refCounted. This will make several helper objects POD and, by putting them into an arena, will make managing their lifetime easier (e.g., for DDL prePreparing).
Note: the CCPR GrGeometryProcessor-derived classes only ever appear on the stack so aren't forced into arenas.
Bug: skia:9455
Change-Id: Ib9be503d2fbf8c2578642df93fc301156629829d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255304
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Change-Id: I723902c552541a7c8db70f153c73a51d2e29a5bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255397
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
If none of the families in the requested list are available, then use the
platform default font family.
Change-Id: If0c69febb112c660f96a768cea8d3ae6b35ea68a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255311
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
We've just been getting lucky that the char[] was 4-byte aligned.
Change-Id: I550be24b0e6f074a38ef002b6b10fbdc5cdfcf2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255557
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Change-Id: I204f04596809e1e33f20b67b454cdd0e1f269630
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255303
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Bug: skia:9603
Change-Id: I971852cc913382ee17fdc9c8b3dfc04f7fe8c14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255518
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
- skia_libgifcodec_path gn var. Default is
third_party/externals/libgifcodec. Anfroid framework uses
third_party/libgifcodec.
- skia_use_libgifcodec gn var; defaults to !skia_use_wuffs. Allow
disabling both codecs.
- BUILD.gn `gif` optional source_set: use new skia_libgifcodec_path
code, not third_party/gif code.
- GN template("optional"): add public_include_dirs, similar to
public_defines.
- SK_USE_LIBGIFCODEC, ifdef for skia_use_libgifcodec.
- SkCodec.cpp: use third_party version of SkGifCodec.h.
- src/codec/SkGifCodec.*, third_party/gif/*: remove files.
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Bug: skia:9654
Change-Id: Ie22d2bb7e52322fd3eedb97015f3aec2ce5e3402
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254582
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Also deleted GrVkBufferView which isn't used anywhere.
Bug: skia:9603
Change-Id: Ia5a2cefe06a1e27a7d126990ea20a9d663d89c0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255308
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
We can't create a GrMtlTextureRenderTarget in any situation where
framebufferOnly is true as we can't sample or copy from it. Creating
it as a plain GrMtlRenderTarget still allows the resolve while
restricting any other read.
Bug: skia:9573
Change-Id: I3316cb7402ddf12ddc7a7dab0efb16c1e5b3d804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255527
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Also, do away with complex exclude rules. Explicit is often better.
Change-Id: I1d945c237a179f6db2552742fdf9e067d6d9eaf9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254578
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Bug: chromium:1023191
Bug: skia:8235
Chromium has detected a performance regression on the Nexus 5x when
switching to Wuffs. Benchmark Wuffs on Nexus 5x to help isolate and
fix the problem.
Change-Id: I36a13845ec83290d640263499ec4e5aca7b1239a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255080
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This reverts commit c6a278aa71.
Reason for revert: Trying to get Chrome to roll
Original change's description:
> Block MSAA CCPR on NVIDIA without mixed samples
>
> We are still seeing problems on the GTX660. It's not crashing, but
> still is producing incorrect renderings. For now let's just block MSAA
> CCPR completely on non-mixed-sampled NVIDIA.
>
> Change-Id: I505281cc0731f3c106cbb4c685d41f801955d648
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255416
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
TBR=egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
Change-Id: Ice3995e8a87be084bc5847dd4b3ada1de1a1aaf1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255522
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
e4b3136913..99bd10b704
git log e4b3136913c6..99bd10b70422 --date=short --no-merges --format='%ad %ae %s'
2019-11-20 tobine@google.com Vulkan:Disable AtomicCounterBuffer tests on Vulkan
2019-11-19 flibitijibibo@gmail.com Headers: Add EGLAPI to SwapBuffersWithFrameTokenANGLE
2019-11-19 courtneygo@google.com Vulkan: Ensure consistent limits for texture & framebuffer
2019-11-19 mihu@microsoft.com EXT_multisampled_render_to_texture clean up and prep for 2DMultisampleArray.
2019-11-19 syoussefi@chromium.org Skip crashing KHR tests on Nvidia
2019-11-19 shrekshao@google.com Skip TextureNorm16Test on Nexus6P
2019-11-19 tobine@google.com Add support for gl_HelperInvocation
2019-11-19 courtneygo@google.com Add suppressions for failures on Intel/Linux
2019-11-19 flibitijibibo@gmail.com GN: Make X11 optional, based on a user-defined variable.
2019-11-19 lehoangq@gmail.com Metal: support texture's incomplete image definitions.
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src c3f22f7cba60..57b4cb40b21d (1 commits)
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src e2441190bb0c..c2bd11586919 (2 commits)
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader aba1020d3914..79afb7620a69 (5 commits)
Created with:
gclient setdep -r third_party/externals/angle2@99bd10b70422
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 robertphillips@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=robertphillips@google.com
Change-Id: I5b55452cc4ecfa45702a621508a7485dd2574932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255448
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
I think we may not need this limit since 3.15.0 added f16c support.
Cq-Include-Trybots: skia.primary:Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext,Perf-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext
Change-Id: I4de547069ca0c77f2208c86f995496880df75d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255342
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This makes it possible to pass more types as uniforms / inputs and fixes an
issue with non-main functions calling other non-main functions.
Change-Id: I6b5623b3c967d8219b992a455cc68bb0a29706b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255300
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
These are really designed around x86, so forcing them
on ARM where our existing non-immediate ops work better
is kind of silly.
Change-Id: I6b66ed0b0a71b335becdcb1d67dec471620542b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254440
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/8143132bb9539bb3ab7ba8dc222941c6a0a2f51f [buildbucket] Expose DEFAULT_FIELDS (olivernewman@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I76f132a95714da35422f35e7493579f5e6088060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255357
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>
We are still seeing problems on the GTX660. It's not crashing, but
still is producing incorrect renderings. For now let's just block MSAA
CCPR completely on non-mixed-sampled NVIDIA.
Change-Id: I505281cc0731f3c106cbb4c685d41f801955d648
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255416
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
CCPR clip masks are never cached, and the clip FP proxies need to
ignore any unique keys that atlas textures use for path mask caching.
Change-Id: I40d0f40c8b1cebbae6798ff95c88cb32616c84a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255143
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
I don't think it makes things any slower, less clear, or less safe to
initialize this `isClosed` variable. I'd be inclined to leave it this
way even if hypothetically we roll to a newer Valgrind that can analyze
this correctly.
For background see
https://internals.rust-lang.org/t/valgrind-memcheck-false-positive-fixes-for-rust/11166
Change-Id: Ifef9417733824b857d4407c45c92c017d189a8fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255354
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:9603
Change-Id: I04bacda40383667b0655c14fba0181fe7d0a51da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255147
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Currently GrFence is used only to determine if the current command
buffer is completed, so we don't need the granularity of MTLSharedEvent.
This makes the implementation of GrFence the same across all versions.
Bug: skia:9589
Change-Id: I2556304362a99a67d12e38144e08e8066a6850a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255302
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>