923c30fba1..f116aa9c15
git log 923c30fba116..f116aa9c158b --date=short --no-merges --format='%ad %ae %s'
2019-06-28 lujc@google.com Vulkan: detect swapchain recreation passively
2019-06-28 jmadill@chromium.org Pull angle-internal for internal ANGLE devs.
2019-06-28 jonahr@google.com Update KHR GLES31 expectations to get bots running.
2019-06-28 jmadill@chromium.org Roll dEQP (June 2019)
2019-06-28 dongja@google.com Vulkan: improve handling of RGB texture formats
2019-06-28 dongja@google.com Test out-of-bounds writes in glCopyTexSubImage2D
2019-06-28 jmadill@chromium.org Re-land "Cleanup angle_libs_suffix in BUILD.gn."
2019-06-28 m.maiya@samsung.com Added end2end tests for GL_EXT_texture_rg
2019-06-28 syoussefi@chromium.org Add suppression for test failing on old MESA
2019-06-28 syoussefi@chromium.org Vulkan: Enable numerous deqp texture tests
2019-06-28 jmadill@chromium.org Revert "Cleanup angle_libs_suffix in BUILD.gn."
2019-06-28 geofflang@chromium.org GL: Clamp uniform array access on Android and AMD devices.
2019-06-28 fei.yang@arm.com Vulkan: pipeline cache not populated as blob cache is not set
2019-06-28 jmadill@chromium.org Cleanup angle_libs_suffix in BUILD.gn.
Created with:
gclient setdep -r third_party/externals/angle2@f116aa9c158b
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=jvanverth@google.com
Change-Id: I7f6fb06d4bb11065a4194631b869df2202d03cfa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224698
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 9b2defc3d5.
Reason for revert: Likely broke chrome layout tests
Original change's description:
> Switch drawTexture calls to use attemptQuadOptimization
>
> Before the quad-rendering op refactor, regular filled rectangles and
> textured rectangles used an internal crop_filled_rect function to crop
> to the bounding box of the clip. As the quad op refactor progressed,
> regular filled rectangle drawing went through the new attemptQuadOptimization
> function that supported more cropping to the exact clip when axis-aligned,
> and could be better handle complex paints.
>
> Following the generalized factories added to GrTextureOp in earlier CLs,
> it is now possible to route all textured rectangle draws through the same
> optimizations. While there are a number of public interfaces for drawing
> rectangles and textures on GrRTC, internally there is now just drawFilledQuad
> (for complex paints) and drawTexturedQuad(for textures, avoids GrPaint use).
> Both of these are very similar, and share attemptQuadOptimization(), which
> makes all rectangle-drawing code, regardless of shader/paint/etc., handled
> in a consistent manner.
>
> This doesn't entirely resolve the complexities of non-AA clipping and non-AA
> axis-aligned rectangle drawing. That needs additional logic added to the
> GrQuadUtils::CropToRect function, but this CL is the last structural change
> to how the ops are created, and to GrRTC to get Ganesh to that stage.
>
> Change-Id: Icfbd223eef6e3da0054699334725b5084aaee58a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223934
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,michaelludwig@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ide21002c336dbc3831a2b042acfec92a509ebacf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224639
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@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.
depot_tools:
https://crrev.com/dc37feb99d46bdf499715ceb467d341d24524e0b Make it clear in the help message that my_activity.py dates are mm/dd/yy (mheikal@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia31e374763b118d7531cfc0175d94e26b056d2f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224567
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>
This call is only used by the bitmap drawing. Just use SkStrike
for bitmap drawing.
Change-Id: Ib9313b21bb2f9c7de2b8ac084d905538ba45f51b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224576
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@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.
depot_tools:
https://crrev.com/6095d4006152c956759c24af5466f47b1a0ab1d3 Make sure PresubmitResult can be converted to a json. (debrian@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie73b4614260176f15a8a46d086c8206554499cf3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224513
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>
Before the quad-rendering op refactor, regular filled rectangles and
textured rectangles used an internal crop_filled_rect function to crop
to the bounding box of the clip. As the quad op refactor progressed,
regular filled rectangle drawing went through the new attemptQuadOptimization
function that supported more cropping to the exact clip when axis-aligned,
and could be better handle complex paints.
Following the generalized factories added to GrTextureOp in earlier CLs,
it is now possible to route all textured rectangle draws through the same
optimizations. While there are a number of public interfaces for drawing
rectangles and textures on GrRTC, internally there is now just drawFilledQuad
(for complex paints) and drawTexturedQuad(for textures, avoids GrPaint use).
Both of these are very similar, and share attemptQuadOptimization(), which
makes all rectangle-drawing code, regardless of shader/paint/etc., handled
in a consistent manner.
This doesn't entirely resolve the complexities of non-AA clipping and non-AA
axis-aligned rectangle drawing. That needs additional logic added to the
GrQuadUtils::CropToRect function, but this CL is the last structural change
to how the ops are created, and to GrRTC to get Ganesh to that stage.
Change-Id: Icfbd223eef6e3da0054699334725b5084aaee58a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223934
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This is a temporary fix until I can figure out where these errors are
coming from.
Bug: skia:9213
Change-Id: Iac21415bf26f39f5237e12ec146769252e833d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223981
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: I526cd01be501bf356307f00deb2c3067ab16de8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223927
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
As described in the comments, this is a workaround for a rare situation
when trying to use cached program binaries in conjunction with ANGLE and
path rendering.
Change-Id: Ief5bb0042f5ec13cbea2242ff9c4f0b9f9e65641
Bug: angle:3619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224258
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
We used to rely solely on visual bounds for vertical alignment. That
had the downside of leading/trailing empty lines being ignored.
Then https://skia-review.googlesource.com/c/skia/+/220916 switched to
using typographical bounds. This approach produces results in line
with AE, but allows some glyphs to overflow the alignment boundary.
This CL introduces a hybrid approach:
1) for standard AE text alignment, continue to use typographical bounds
2) for Skottie VAlign extensions (sk_vj), use the union of typographical
and visual bounds - this should mitigate both issues mentioned above
Change-Id: Ifd3ccae3d721728ce67942206160ebe92056d3a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224188
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Avinash Parchuri <aparchur@google.com>
Bodymovin exports an explicit ascent for each font, as a percentage of
the text size.
Change-Id: I25708944b2b79b42a6ccb05abbe002685e36dfa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223986
Reviewed-by: Ben Wagner <bungeman@google.com>
a9dfb3ba5d..923c30fba1
git log a9dfb3ba5db1..923c30fba116 --date=short --no-merges --format='%ad %ae %s'
2019-06-27 jonahr@google.com Update test expectations for vulkan gles31 bots.
2019-06-27 syoussefi@chromium.org Vulkan: Emulate Transform Feedback with vertex shader output
2019-06-27 geofflang@chromium.org BlitGL: Support CL readback from non-renderable textures.
2019-06-27 ynovikov@chromium.org Fix skip Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions
2019-06-27 yunchao.he@intel.com Test RGB32F texture format on Intel Linux
2019-06-27 jmadill@chromium.org Vulkan: Remove flaky test suppression.
2019-06-27 jmadill@chromium.org Add std::ostream output for packed enums.
2019-06-27 timvp@google.com Support NaN conversion in Float32ToFloat16
2019-06-27 syoussefi@chromium.org Vulkan: Initial support for ES3.1
Created with:
gclient setdep -r third_party/externals/angle2@923c30fba116
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=djsollen@google.com
Change-Id: Ia1a346f983c7628e3deea3ba06f49cac305de179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224418
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
1fffa01394..9ef8c105f0
Created with:
gclient setdep -r ../src@9ef8c105f0
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=djsollen@google.com
Change-Id: Id548fe2f29f028881f121a11739c59470e19d851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224417
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Crashing Nexus5x GPU Perf bots, who knows why...
Cq-Include-Trybots: skia.primary:Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android
Change-Id: I351bb15651015561cd54b13c6e3732fd79c53cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224287
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I20f19f09d778b5599fed61889bf2afb1d38d7f3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224279
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Just realized the mapping from our bytes() control nibble
to vpshufb's control byte is even easier than we thought.
Change-Id: I86fec8d3ca091ecc3fbbd59fe51ac128f0cef2fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224316
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 838c8f65ca.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Revert "Refactor of GrGLCaps to move some code around."
>
> This reverts commit ed03e5f34b.
>
> Reason for revert: breaking win10 angle srgb
>
> Original change's description:
> > Refactor of GrGLCaps to move some code around.
> >
> > The big changes here are that in initConfigTable we were setting a few
> > member variables (srgb support and compression related) whereas all other
> > member variables were set elsewhere. So this change moves the logic out
> > of initConfigTable and places it with other similar code.
> >
> > Next setting of fSRGBWriteControl was affected by a driver workaround. We
> > need to apply this workaround before calling the initConfigTable. Thus I
> > moved the call to applyDriverWorkarounds above the initConfigTable. The
> > end result is that by the time initConfigTable is called we've now made all
> > decisions about what we will enable and disable (in terms of member variables),
> > and the only values writted in the function is setting values of the ConfigTable
> > itself.
> >
> > Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com
>
> Change-Id: Ib9ea36b8cba28df3fdf5fcdd828315cccfcc6ce3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224256
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com
Change-Id: I04d3399e021a9eed98940061f9cb4c720580dee8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224259
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
There are a few places that have been checking whether the *proxy*
needs stencil, in order to determine if the current render target
context needs stencil. This is problematic since a render target
context can not require stencil itself, but wrap an existing proxy
that already has stencil.
Bug: skia:
Change-Id: I2719dd3a9df15fef3d64f991cda4fadea23266bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223970
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This adds a new factory for GrTextureOp that generalizes the current
Make() and MakeQuad(). A following CL will remove those calls.
This also moves the texture-op emulation with GrFillRectOp into this
factory call. I found this to make more sense, both because it makes
op creation callsites simpler (drawTexturedQuad, drawTexture, and
drawTextureSet don't have to check the blend mode anymore). Additionally
the logic for matching the texture op shading behavior to a GrPaint
now lives inside GrTextureOp.
To allow for this, the to-be-removed existing factories have had the
blend mode added to their arguments as well.
Change-Id: Icda346cd203ae8caa7f5ed762ed4e0a214084dda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223924
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
- this is enough to run some of the test programs
- a couple instructions TODO: load8, store8, bytes,
so I32_SWAR and I32 are not yet JIT'd, but F32
and I32_Naive are
Change-Id: I1d97cff24aa7307726c722cce45896ed319877e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224194
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
... as opposed to Skia Task Scheduler ID. The latter causes the command
to be different at every task invocation, which prevents deduplication.
Use the Swarming task ID from the environment instead.
Change-Id: Ied59bb0a0f45570f425cccd5ed707bfdd550893c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223976
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This reverts commit ed03e5f34b.
Reason for revert: breaking win10 angle srgb
Original change's description:
> Refactor of GrGLCaps to move some code around.
>
> The big changes here are that in initConfigTable we were setting a few
> member variables (srgb support and compression related) whereas all other
> member variables were set elsewhere. So this change moves the logic out
> of initConfigTable and places it with other similar code.
>
> Next setting of fSRGBWriteControl was affected by a driver workaround. We
> need to apply this workaround before calling the initConfigTable. Thus I
> moved the call to applyDriverWorkarounds above the initConfigTable. The
> end result is that by the time initConfigTable is called we've now made all
> decisions about what we will enable and disable (in terms of member variables),
> and the only values writted in the function is setting values of the ConfigTable
> itself.
>
> Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com
Change-Id: Ib9ea36b8cba28df3fdf5fcdd828315cccfcc6ce3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224256
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Change-Id: I37eadc5800665af5ee862c4f108fa7c1f5000fa3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224195
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: Ic6da2d71b4e45fe67bc32942a87d41426bc9d05b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224189
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
The big changes here are that in initConfigTable we were setting a few
member variables (srgb support and compression related) whereas all other
member variables were set elsewhere. So this change moves the logic out
of initConfigTable and places it with other similar code.
Next setting of fSRGBWriteControl was affected by a driver workaround. We
need to apply this workaround before calling the initConfigTable. Thus I
moved the call to applyDriverWorkarounds above the initConfigTable. The
end result is that by the time initConfigTable is called we've now made all
decisions about what we will enable and disable (in terms of member variables),
and the only values writted in the function is setting values of the ConfigTable
itself.
Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: chromium:979178
Change-Id: I2cacba922c1efb0bc9fce6dfc13bd1119fc4676c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224193
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Previously, the metadata for an op entry stored the src rect and a bool.
When true, the src rect represented both the source texture coordinates
and the domain rectangle. In addition, if the real source coordinates
were actually a quadrilateral, they were stored as an optional local quad
in the buffer.
This changes it so that the metadata rect represents only the domain and
the source texture coordinates are always stored in the quad buffer.
This is slightly more storage overhead for the simple case but did not
lead to performance issues locally. It also lets us (in a later CL), fix
a bug where the src rect gets clipped in GrRTC and that clipped rect is
used as both the domain and src (when it should be used just as the src
and the original, unclipped rect is the domain).
Change-Id: Id1bcdf7c3045c330a51973a006411a9169777a91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223922
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
In the code prior to this change, if the compiler evaluated the arguments
from left to right everything would work. If the compiler evaluated the
arguments from right to left the the data was released before the calls
to get the location and size of the data. Since the compiler saw that
the release could happen before the other fields were read, it emitted
instructions like 'mov edx,dword ptr [20h]', directly inlining the
nullptr dereference.
BUG: chromium:979161
Change-Id: I0c45d9f6b8c8cd7b6c751f2b03f10aa5ea9d685c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224192
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
This is a reland of c0519233cd
Original change's description:
> Reland "Separate compressed and uncompressed texture functions"
>
> This is a reland of 9acfb33ad8
>
> Original change's description:
> > Separate compressed and uncompressed texture functions
> >
> > Change-Id: Iccf31e1e4dbebde8aab4bb9b57cfb0341bb05912
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223802
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
>
> Change-Id: I9f212b7d34cf43216f7d2ec63b959b75fd6a71b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223992
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I0654a49dadfb56ad276051c8632b91da05bf24cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224181
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This backports a little bit of the work we've done in SkVM
to the pre-compiled blit_row_s32a_opaque routine for AVX2.
Mostly I've just rewritten the function with new comments for clarity.
The key improvement is to use _mm256_shuffle_epi8 to create two copies
of the src alpha. The old version mimicked the idiom from the SSE2 code
where a byte-shuffle was not possible, instead using a shift-shift-or
pattern to construct it in three instructions. Despite being a slower
instruction, using one vpshufb does seem to beat the compound operation
by a little bit, both in practice (nanobench) and theory (llvm-mca).
This is pretty small stuff, about 0.01ns per pixel saved of ~0.15ns.
Change-Id: Ic7206e391844becab2a79a7ba6ddf4be2f82a06e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224185
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
This reverts commit a7b224d3a3.
Reason for revert: Failures on some ANGLE bots
Original change's description:
> DM: Add a per-sink MemoryCache to all GPU sinks
>
> This isolates the caches per config, so we don't try to reuse cached
> binaries across different GL versions (or different D3D backend versions
> on ANGLE bots, etc).
>
> Locally, this sped up ANGLE significantly Looking at a sample bot
> (NUC6i5SYK), it dropped DM from 36m to 31m.
>
> Change-Id: I95db18c6ea85041e6adbc972f0118233c82818fb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223985
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,brianosman@google.com
Change-Id: I8c9af65d89fddb28e5f1395a6c946312f27ba48a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224186
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This is a reland of 076e5d3a4c
Original change's description:
> add operator "" _mask() to make Assembler clearer
>
> Change-Id: I145f0f60288eef368fc7648b25661356cb6e9f12
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223980
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>
Change-Id: I10f8301888d83ba186a32c251b25a3fbe297a6a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224183
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I0dfe0f6f809f2910a142f5e2eb34fffc749404ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223933
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
It's a bit too easy to trip up the MSRTC bots with size_t.
(The only reason I used size_t in the first place is that
these really are byte offsets... kind of the one place we
use size_t.)
Cq-Include-Trybots: skia.primary:Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All-MSRTC
Change-Id: I3426cec68af298a18139118b866b70b33ee34d9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224182
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Also remove "rack" dimension. The os dimension now aligns with the rack
dimension, so we don't need to worry about it.
Bug: chromium:919950
Change-Id: I6ec2dee501ebe7b34cd1a52b68141abb3b133c84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215087
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This isolates the caches per config, so we don't try to reuse cached
binaries across different GL versions (or different D3D backend versions
on ANGLE bots, etc).
Locally, this sped up ANGLE significantly Looking at a sample bot
(NUC6i5SYK), it dropped DM from 36m to 31m.
Change-Id: I95db18c6ea85041e6adbc972f0118233c82818fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223985
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>