All image filters are now implemented entirely on the GPU, so we never
need to read back the contents of a texture-backed special image.
Bug: skia:10202
Change-Id: I9e814d4bccde1e638f7bfc27b140e010ddcbcdb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298138
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This reverts commit 6499e7fb4c.
Reason for revert: G3 roll
Original change's description:
> [skottie] skottie_tool updates
>
> 1) plumb a precomp interceptor to support nested animations, following
> the same naming pattern as viewer and dm
>
> 2) clear background with white instead of transparent, to match other
> tools
>
> TBR=
> Change-Id: Ic1d1f8c6493a3ca98a9b75f5e2aa2230a46f54d9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298139
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>
TBR=fmalita@chromium.org,fmalita@google.com
Change-Id: Ibd320e9f7f30004e80ff4d2b2012a18703910842
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298337
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
This reverts commit f58d19a51b.
Reason for revert: Still hanging GPU
Original change's description:
> Reland "Fill in GrD3DGpu::onUpdateBackendTexture"
>
> This is a reland of 5a967f593c
>
> Original change's description:
> > Fill in GrD3DGpu::onUpdateBackendTexture
> >
> > Change-Id: I83268cf9daf62c0bab831cf5340b85f31cc941b0
> > Bug: skia:9935
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295834
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
>
> Bug: skia:9935
> Change-Id: I3c1eb65a7a734cc0169cd3d0d77d1d20126107a5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298119
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
TBR=egdaniel@google.com,jvanverth@google.com
Change-Id: I161ccaec1d83d385e73f0633b51577c8ef859364
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298296
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Without this change, the following unit test failures would occur:
StringTest.cpp:425 [String_resize_grow]
StringTest.cpp:435 [String_resize_after_assignment]
StringTest.cpp:438 [String_resize_after_assignment]
StringTest.cpp:444 [String_resize_after_copy_construction]
StringTest.cpp:446 [String_resize_after_copy_construction]
Change-Id: Ib4f63d51604e55d32f1049136b733ee905b72039
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298217
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This is a reland of 5a967f593c
Original change's description:
> Fill in GrD3DGpu::onUpdateBackendTexture
>
> Change-Id: I83268cf9daf62c0bab831cf5340b85f31cc941b0
> Bug: skia:9935
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295834
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
Bug: skia:9935
Change-Id: I3c1eb65a7a734cc0169cd3d0d77d1d20126107a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298119
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
1) plumb a precomp interceptor to support nested animations, following
the same naming pattern as viewer and dm
2) clear background with white instead of transparent, to match other
tools
TBR=
Change-Id: Ic1d1f8c6493a3ca98a9b75f5e2aa2230a46f54d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298139
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Bug: skia:10396
Change-Id: I0c117ab4d95737b76dec5bce16103b9058218fb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297065
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Serialization of typefaces for SK_PICT_TYPEFACE_TAG already have support
for custom serialization via SkSerialProcs.fTypefaceProc. This adds the
mirror side of that, to make use of SkDeserialProcs.fTypefaceProc when
it is provided.
Bug: chromium:1044996
Change-Id: I58f7f43e2668d0ca1d0821551f9ca034975ed199
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297617
Reviewed-by: Alan Screen <awscreen@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
This helps to diagnose errors in DM tests.
Change-Id: Ib585e6e78c1d0a03493befe970558e6f9c9731a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298136
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@google.com>
Implement using fixed size records and stdlib binary search.
1063 bytes object size increase:
before
text data bss dec hex filename
2589 0 0 2589 a1d out/Release/obj/src/utils/libskia.SkParseColor.o
after
text data bss dec hex filename
2112 1540 0 3652 e44 out/Release/obj/src/utils/libskia.SkParseColor.o
Bug: oss-fuzz:23595
Change-Id: Ic875345a05ab0916e0873e35bee6727472a2458c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298068
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
If a layout has no texture bindings, don't create a texture bind group
layout, and don't try to bind to them.
Fix numbering of instance attributes.
Bug: skia:10358
Change-Id: I9c7b12ffa72e6364b8b52d5299ba2efcf089fd88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298120
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit 6f1487fe80.
Reason for revert: http://crbug.com/1097620
Original change's description:
> Consolidate GrDrawingManager <-> GrRenderTask lifecycle
>
> This creates a funnel in the drawing manager (removeRenderTasks) that
> opens the door for tighter integration between the two classes. Also we
> add some assertions about the relationship and cut out duplicated code.
>
> Bug: skia:10372
> Change-Id: I0781ba7d45ac090cf7f6d430f0d56afe0f98b7e0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297195
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Adlai Holler <adlai@google.com>
TBR=robertphillips@google.com,adlai@google.com
Change-Id: I5d34ada1838d206d8a33294427d459c36ad6b740
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10372
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298137
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: Ia46404d9d71551a2e51a04b1197d9fe21aa65d07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298117
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This is a reland of 4e37751693
Original change's description:
> Make it easier to test rectangle textures by using createBackendTexture.
>
> Also allows internal creation of rectangle textures, only used by unit
> tests currently.
>
> Previously GrContext::createBackendTexture() would ignore the request
> for RECTANGLE or EXTERNAL and always make 2D. Now it makes RECTANGLE if
> supported and always fails for EXTERNAL.
>
> Change-Id: Iafbb3f5acddb37bfb8d39740f2590177a07dae78
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297472
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
Change-Id: Ibf6921c97278c9f0f71c46883cfbaa04f229affa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297865
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 5a967f593c.
Reason for revert: Bot failures
Original change's description:
> Fill in GrD3DGpu::onUpdateBackendTexture
>
> Change-Id: I83268cf9daf62c0bab831cf5340b85f31cc941b0
> Bug: skia:9935
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295834
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:9935
Change-Id: I991e25647fa7d339caaedc09bac4b74422658878
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298067
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This is a reland of 0426947243
Original change's description:
> Centralize geometry processor vertex shader transform code
>
> GrGLSLGeometryProcessors no longer have to call emitTransforms() in
> their onEmitCode() function. Instead, the GpArgs struct allows them to
> set a GrShaderVar that holds the computed or explicitly provided local
> coordinates in the vertex shader.
>
> The base GrGLSLGeometryProcessor now automatically uses that to collect
> all of the transforms that can then be lifted out of FPs to the vertex
> shader, and base their computation on the GP provided local coordinate.
>
> As part of this, there is no more built-in magic concatenation of a
> local matrix / inverse view matrix to these coordinate transforms. GP
> implementations that relied on this now manage their own uniform for this
> matrix and compute the local coordinate before assigning to GpArgs.
>
> The base GrGLSLGeometryProcessor is updated to provide helpers for this
> pattern.
>
> Bug: skia:10396
> Change-Id: I56afb3fff4b806f6015ab13626ac1afde9ef5c2b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297027
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:10396
Change-Id: If1347bcacb7c405a66f9d4c5b0059e9d735b3f9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298062
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
GrReducedClip will now combine both analytic and CCPR FPs using child
FPs instead of via RunInSeries. (There is still an fShader component
which, if present, is combined via RunInSeries for now.)
Change-Id: Ia7e0ced1e64927b94a8e64adfb5a773c2c175963
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297808
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
c81f0b7b92..b772a955e7
2020-06-20 syoussefi@chromium.org Vulkan: Make texture syncState aware of upcoming generateMipmap
2020-06-20 courtneygo@google.com Add immutable samplers to descriptor set layout
2020-06-19 jonahr@google.com Fix TSAN build error
2020-06-19 tobine@google.com Vulkan: Fix FramebufferVk cache
2020-06-19 jmadill@chromium.org Test Runner: Stub histogram writer.
2020-06-19 jmadill@chromium.org Suppress failing XFB tests on Intel/Win/Vulkan.
2020-06-19 nguyenmh@google.com Automate testing of capture_replay
2020-06-19 m.maiya@samsung.com Prefer retrieval of TLS values through ASM code on Android
2020-06-19 cnorthrop@google.com Tests: Update traces to include draw surface width/height
2020-06-19 courtneygo@google.com Download restricted trace data
2020-06-19 syoussefi@chromium.org Add a test for generateMipmap after modify
2020-06-19 cnorthrop@google.com Capture/Replay: Track the draw surface width/height
2020-06-19 syoussefi@chromium.org Vulkan: Non-zero memory initialization for all images
2020-06-19 jonahr@google.com GL: Workaround NVIDIA issue in glLinkProgram
2020-06-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 99651228b238 to 545d158a2ff9 (2 revisions)
2020-06-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 7a1d99d0be42 to eb6824408d08 (3 revisions)
2020-06-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 24a17f5fe4ef to 7942c0830780 (1 revision)
2020-06-19 syoussefi@chromium.org Vulkan: ANGLE_copy_texture_3d support
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 lovisolo@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
Bug: chromium:1094869,chromium:1096577,chromium:1097082
Tbr: lovisolo@google.com
Test: Test: CopyTexImage*Vulkan:Texture3DCopy*Vulkan:Texture2DArrayCopy*VulkanTest: Test: angle_perftestsTest: Test: angle_perftests --gtest_filter="*Trace*"Test: Test: dEQP.KHR_GLES3/copy_tex_image_conversions_required_cubemap*cubemap*Test: Test: run_tests_with_framecapture.py
Change-Id: If3facc21df65305b7e2047d3a2c2deda4e37e819
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298018
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This reverts commit 9eb89bac85.
Reason for revert: Repeated Android trybot failures
Encountering ASAN failures of the form:
=================================================================
==10276==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0xc3d2c5c0 in thread T5
#0 0xf0e43b58 (/system/lib/libclang_rt.asan-arm-android.so+0xbeb58)
#1 0xb2157736 (/data/local/tmp/dm+0x2df4736)
#2 0xb0de3b3c (/data/local/tmp/dm+0x1a80b3c)
#3 0xb0e0d036 (/data/local/tmp/dm+0x1aaa036)
#4 0xb0e0983e (/data/local/tmp/dm+0x1aa683e)
#5 0xb0e093ba (/data/local/tmp/dm+0x1aa63ba)
#6 0xb0e0cf6a (/data/local/tmp/dm+0x1aa9f6a)
#7 0xb0e09ca8 (/data/local/tmp/dm+0x1aa6ca8)
#8 0xb0e09420 (/data/local/tmp/dm+0x1aa6420)
#9 0xb0e0cf6a (/data/local/tmp/dm+0x1aa9f6a)
#10 0xb0e0983e (/data/local/tmp/dm+0x1aa683e)
#11 0xb0e14416 (/data/local/tmp/dm+0x1ab1416)
#12 0xb0e259a6 (/data/local/tmp/dm+0x1ac29a6)
#13 0xb0dcd37e (/data/local/tmp/dm+0x1a6a37e)
#14 0xb0dcc004 (/data/local/tmp/dm+0x1a69004)
#15 0xb02030ec (/data/local/tmp/dm+0xea00ec)
#16 0xaff381a8 (/data/local/tmp/dm+0xbd51a8)
#17 0xaff1eade (/data/local/tmp/dm+0xbbbade)
#18 0xaff255f4 (/data/local/tmp/dm+0xbc25f4)
#19 0xb0bea1e4 (/data/local/tmp/dm+0x18871e4)
#20 0xb0a46c30 (/data/local/tmp/dm+0x16e3c30)
#21 0xb0a45c9e (/data/local/tmp/dm+0x16e2c9e)
#22 0xb0a467b0 (/data/local/tmp/dm+0x16e37b0)
#23 0xf0e2cf8c (/system/lib/libclang_rt.asan-arm-android.so+0xa7f8c)
#24 0xf0c6f502 (/system/lib/libc.so+0x63502)
#25 0xf0c29f26 (/system/lib/libc.so+0x1df26)
Address 0xc3d2c5c0 is a wild pointer.
SUMMARY: AddressSanitizer: bad-free (/system/lib/libclang_rt.asan-arm-android.so+0xbeb58)
Thread T5 created by T0 here:
#0 0xf0e2cdc8 (/system/lib/libclang_rt.asan-arm-android.so+0xa7dc8)
#1 0xb0a4651a (/data/local/tmp/dm+0x16e351a)
==10276==ABORTING
Caught signal 6 [Aborted] (173MB RAM, peak 180MB), was running:
unit test Codec_PngRoundTrip
unit test AAClip
unit test Codec_Dimensions
unit test Codec_raw
unit test crbug_ossfuzz_21688_interfaceblock
unit test crbug_ossfuzz_21688_interfaceblock
Caught signal 6 [Aborted] (173MB RAM, peak 180MB), was running:
unit test Codec_PngRoundTrip
unit test AAClip
unit test Codec_Dimensions
unit test Codec_raw
unit test crbug_ossfuzz_21688_interfaceblock
Likely culprit:
unit test crbug_ossfuzz_21688_interfaceblock
+ >/data/local/tmp/rc
+ echo 1
Original change's description:
> Enable _LIBCPP_DEBUG in Clang for non-Xcode-based debug builds.
>
> Unlike _GLIBCXX_DEBUG, this is meant to not break the ABI.
> The libc++ bundled with Xcode does not contain debug symbols so we need
> to disable these checks on Mac/iOS.
>
> Change-Id: Ie4f18e247db9c405b2ce45f388c41dcac8104815
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297874
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,bsalomon@google.com,johnstiles@google.com
Change-Id: I3f717de26428abf9cb26f983b1e82379924419c2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297840
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
So apparently I did all the work to allow us to not submit in
updateBackendTexture, but then I never actually removed the submit...
Bug: chromium:1087124
Change-Id: Id08a9c5e116cff57dbbeada74186f94da6e28656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297866
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Unlike _GLIBCXX_DEBUG, this is meant to not break the ABI.
The libc++ bundled with Xcode does not contain debug symbols so we need
to disable these checks on Mac/iOS.
Change-Id: Ie4f18e247db9c405b2ce45f388c41dcac8104815
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297874
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This reverts commit 0426947243.
Reason for revert: unblock chrome roller
Original change's description:
> Centralize geometry processor vertex shader transform code
>
> GrGLSLGeometryProcessors no longer have to call emitTransforms() in
> their onEmitCode() function. Instead, the GpArgs struct allows them to
> set a GrShaderVar that holds the computed or explicitly provided local
> coordinates in the vertex shader.
>
> The base GrGLSLGeometryProcessor now automatically uses that to collect
> all of the transforms that can then be lifted out of FPs to the vertex
> shader, and base their computation on the GP provided local coordinate.
>
> As part of this, there is no more built-in magic concatenation of a
> local matrix / inverse view matrix to these coordinate transforms. GP
> implementations that relied on this now manage their own uniform for this
> matrix and compute the local coordinate before assigning to GpArgs.
>
> The base GrGLSLGeometryProcessor is updated to provide helpers for this
> pattern.
>
> Bug: skia:10396
> Change-Id: I56afb3fff4b806f6015ab13626ac1afde9ef5c2b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297027
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,brianosman@google.com,michaelludwig@google.com
Change-Id: I203b7c72591d39b159e0405716fe8cdc28b083af
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10396
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297917
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Previously, DM destroyed a large number of non-trivial objects at
shutdown time. Because no shutdown order is promised across translation
units by the standard, this can lead to bugs which only reproduce
capriciously, at the whim of the linker.
http://go/totw/110#the-fix-safe-initialization-no-destruction
"Destruction issues are usually solved by defining your static data
in such a way that the destructor never runs. The most common way to do
this is to heap allocate the static object - pointers don't have
destructors."
http://go/cstyle#decision_on_destruction
"Global and static variables that use dynamic initialization or have
non-trivial destructors create complexity that can easily lead to hard-
to-find bugs. Dynamic initialization is not ordered across translation
units, and neither is destruction (except that destruction happens in
reverse order of initialization). When one initialization refers to
another variable with static storage duration, it is possible that this
causes an object to be accessed before its lifetime has begun (or
after its lifetime has ended). Moreover, when a program starts threads
that are not joined at exit, those threads may attempt to access objects
after their lifetime has ended if their destructor has already run."
Change-Id: I54eedcd813295a23923deb925b0ca2adfff69f7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297872
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Some users of Skia want to build these with -I instead of -isystem, and
until now we've piggybacked it on werror, but it's still kind of
annoying to see warnings even if they're not fatal.
Change-Id: I5a349b2571adc2f94c75dc17317666ddc2dec373
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297788
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Change-Id: I83268cf9daf62c0bab831cf5340b85f31cc941b0
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295834
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Raster backend now draws the bump-mapped cube sample!
Change-Id: I4ad74c50a329dcd0c9b56f2a18b1e32fd5c5eccd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297815
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
We made these functions return nullptr but several
call sites were not updated to expect nullptr.
This is my best guess for the attached fuzzer bug.
I haven't looked deeply but will if this doesn't fix it.
Bug: chromium:1097084
Change-Id: Id57d402dea5f007d886d852be8035b13f62be9a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297820
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
GrGLSLGeometryProcessors no longer have to call emitTransforms() in
their onEmitCode() function. Instead, the GpArgs struct allows them to
set a GrShaderVar that holds the computed or explicitly provided local
coordinates in the vertex shader.
The base GrGLSLGeometryProcessor now automatically uses that to collect
all of the transforms that can then be lifted out of FPs to the vertex
shader, and base their computation on the GP provided local coordinate.
As part of this, there is no more built-in magic concatenation of a
local matrix / inverse view matrix to these coordinate transforms. GP
implementations that relied on this now manage their own uniform for this
matrix and compute the local coordinate before assigning to GpArgs.
The base GrGLSLGeometryProcessor is updated to provide helpers for this
pattern.
Bug: skia:10396
Change-Id: I56afb3fff4b806f6015ab13626ac1afde9ef5c2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297027
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: Ibf68103e8e47d3cd13b12a97da3b9131dbdbfd38
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297857
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This allows users to create their context with {antialias: true} and
*hope* for MSAA. This CL also updates viewer.html achieve MSAA with this
method, and if the browser doesn't give an MSAA, we simply abort.
Change-Id: Ia242d266123c4b08f15a357e1fedc449642d88d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297597
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This reverts commit 4e37751693.
Reason for revert: breaking some mac test bots
Original change's description:
> Make it easier to test rectangle textures by using createBackendTexture.
>
> Also allows internal creation of rectangle textures, only used by unit
> tests currently.
>
> Previously GrContext::createBackendTexture() would ignore the request
> for RECTANGLE or EXTERNAL and always make 2D. Now it makes RECTANGLE if
> supported and always fails for EXTERNAL.
>
> Change-Id: Iafbb3f5acddb37bfb8d39740f2590177a07dae78
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297472
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Ia14c60ae996757369f1711ec0851e199cbbd4157
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297812
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
If the address is known statically, prefer to use multiple fixed loads,
so that we can translate these kinds of programs to SkVM.
Change-Id: I0e0f126f5a1538fdc54a9c953f67b93a37a500c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297803
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I83d9148b6f651c3d518b3add4cb160c0860dc281
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297802
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
On slower machines, invoking |chrome.gpuBenchmarking.printToSkPicture|
too early after the headless browser is launched leads to no .skp
files being captured. Adding a sleep after the launch of the headless
browser rectifies the issue.
Bug: NONE
Change-Id: I39178f8336b794a6f293bd337aca0b6f85a07360
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297805
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is a reland of 907f34bfc1
This version avoids calling vector::front() on an empty vector, which
is undefined behavior and can cause some versions of libc to trigger a
SIGABRT when debug is enabled. (GrReducedClip.cpp:939)
Original change's description:
> Replace analytic clip stack with chained fragment processors.
>
> We no longer need to maintain a vector of analytic FPs and run them in
> series. (CCPR and fShader do not support chaining in this CL, so we do
> need to assemble a vector of FPs at the last instant.)
>
> Change-Id: I1f7a64cf617d577e05e1fe41c740361f702a76b0
> Bug: skia:10217
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296861
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Bug: skia:10217
Change-Id: Ibd562c31160414143e396b24c879eefaefe3967b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297151
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Previously the test checked two clones against each other. It seems
more useful to test an original against a clone.
Change-Id: Ie49a39829a0f5ee24724e4acefad50e539104f48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297460
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This is a reland of 4e68ec693f
Original change's description:
> Snap coordinates for shader nearest-neighbor decal filtering
>
> Bug: skia:10403
> Change-Id: I875b1a4bb7cacbe6721a69aa8ed02118b989729d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297596
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Bug: skia:10403
Change-Id: Idcf0b9a2d85410901a6d6fc2bedf628122cf9ae4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297799
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>