10152 Commits

Author SHA1 Message Date
Ben Clayton
f9f48c60f7 transform/Renamer: Pass through swizzles and intrinsics
These must not be mangled.

Bug: tint:273
Change-Id: I05b02bf785c9d6ab587996bfed284e89912cd0cb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43941
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-04 23:37:25 +00:00
Ben Clayton
97b92178c5 writer/msl: Remove the renaming logic
This is now entirely handled as transforms.

Bug: tint:273
Change-Id: Ib3c0db7b5ecf024b6ae2aed7788e4b582d07c4ce
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43983
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-03-04 23:24:05 +00:00
Ben Clayton
37d2b35d59 transform::Msl: Rename reserved keywords
This change begins the work to move the reserved keyword remapping out of the writer and into the sanitizer transform.

If the transform::Renamer is in use, then these symbols should never have to be remapped - however for debugging purposes it is often nice to be able to emit code that isn't entirely mangled.

The logic in the msl writer will be removed as a followup change

Bug: tint:273
Change-Id: I76af03ff80388a48d9dd80a5b5fdfe21f3c8e7a0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43982
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-04 23:03:25 +00:00
Ben Clayton
f25d51977a Move IntrinsicType parsing to semantic/intrinsic.h
Keeps the enum / parse / print code all together.

Change-Id: I78e5e15b6a97d3aec619a94e4390ecc4a77ab478
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43980
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-04 23:00:46 +00:00
Ben Clayton
dee7d36f8a reader/wgsl: Tail-call optimize expression methods
Fixes stack overflows in complex arithmetic expressions

Fixed: chromium:1182709
Change-Id: I5f5470cf59525725a437f26672904e9653b447a7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43940
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-04 22:52:05 +00:00
Ben Clayton
d1781fd0af Remove tint::Namer
Replaced with tint::transform::Rename and was never used.

Bug: tint:273
Change-Id: Icf0b19b389377f3c9a6efcf3ca232ba294775f9b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43981
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-03-04 21:00:15 +00:00
Corentin Wallez
80915849ce Rename Buffer/TextureCopyView to ImageCopyBuffer/Texture.
This is to follow the renames in the upstream WebGPU specification.
Typedef are left in places to make a smooth deprecation period.

Bug: dawn:22

Change-Id: I5134b897930c1fa883c49dd80d2665d6684ec022
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43882
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2021-03-04 18:13:45 +00:00
Corentin Wallez
2015b2f169 DEPS: Make everything gated on dawn_standalone
And standardizes dawn_standalone to be the first condition.

Bug: tint:261
Change-Id: I1bd74becd03776b1d7cdd74a4972378b7d951057
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43880
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-04 17:37:55 +00:00
Corentin Wallez
a736d96ffb Make Extent3D::width non-optional.
This is to follow the changes in the upstream WebGPU spec.

Bug: dawn:22
Change-Id: I192c5ffe6008ac13ce466e712dd98528938b5e63
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43881
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-04 17:03:15 +00:00
Austin Eng
6e62183aa5 Statically link the dawn_end2end_tests
This allows us to enable white_box tests that use Tint. It
fixes linking with symbols from both dawn_native statically
and dynamically.

Bug: dawn:696
Change-Id: I6a002ae5ec55a27b6bf7329c9ba301ce8014d521
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43840
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-04 16:49:35 +00:00
Ben Clayton
798876e7eb Optimize demangling
Don't continually replace the string in-place.
Makes pathological fuzzer tests ~140x faster to run.

Fixed: chromium:1182606
Change-Id: I48bd39ecb8488e34c9e75da52b5e9f355ca896ee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43920
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-03-04 16:29:05 +00:00
Ryan Harrison
f76f3081af Add dumping inspected bindings for shader
Adding a flag to the tint sample binary that allows you to dump what
the inspector is reflecting about the bindings in a shader.

This has already helped me identify one blindspot in the validator.

BUG=tint:530

Change-Id: I6709f1d8f8391a1419d07abebf210e9e358e0861
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43820
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-04 15:30:35 +00:00
Ben Clayton
3b1a0c6e14 ShaderModule: Use tint::diag::List::str()
Cuts down on the noise

Change-Id: I3904b170a61e5884b4fb1479b885f188b5ea4a24
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43883
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-04 14:18:37 +00:00
Dawn Autoroller
d9a96fb286 Roll Tint from ec44eef965b6 to e18a18bc1c71 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/ec44eef965b6..e18a18bc1c71

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC rharrison@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

Bug: None
Tbr: rharrison@google.com
Change-Id: Ib1375774af31fa6db834a77a2635cda77a4e702e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43901
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-04 11:49:05 +00:00
Ben Clayton
e18a18bc1c Add transform::Renamer
Renames symbols.
Currently only supports renaming to a symbol with a monotonic increasing suffix.

Change-Id: I7ae67a7b1740ac0e83c1821643cf7b8b1959f84d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42842
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-03-04 11:12:45 +00:00
Ben Clayton
5ca9741b69 CloneContext: Add support for transforming symbols
Will be used by a Renamer transform

Change-Id: Ic0e9b69874f51103f0beec7745d32a9f8419e93a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42841
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-03-04 10:42:55 +00:00
Stephen White
637d947937 Roll third_party/angle/ 0e11e49d1..d8557cc88 (25 commits)
0e11e49d19..d8557cc88f

$ git log 0e11e49d1..d8557cc88 --date=short --no-merges --format='%ad %ae %s'
2021-03-03 senorblanco Fix for readPixels() to PBO fast path.
2021-03-02 cnorthrop Tests: Add Rope Hero: Vice Town trace
2021-03-03 penghuang Workaround a GL_OES_depth32 bug on Android emulator
2021-03-03 lexa.knyazev Update DEP actions for Python 3
2021-03-03 cnorthrop Tests: Skip car_parking_multiplayer on Nvidia
2021-03-02 syoussefi Overlay: Widget for vk::DynamicBuffer allocations
2021-03-03 angle-autoroll Roll Chromium from 2a5fa9108962 to 143c12daa39f (878 revisions)
2021-03-03 jonahr Skip TransformFeedbackTest.MultiContext on Metal
2021-02-27 cnorthrop Tests: Add Talking Tom Hero Dash trace
2021-03-03 angle-autoroll Roll vulkan-deps from 64e40ae7572f to 6c3f8d8c39b9 (7 revisions)
2021-03-02 cnorthrop Tests: Add Car Parking Multiplayer trace
2021-03-02 ynovikov Pull buildtools DEPS directly instead of via recursedeps
2021-03-02 cnorthrop Test: Add Standoff 2 trace
2021-02-03 j.vigil EGL: implement EGL_EXT_buffer_age
2021-03-02 lubosz.sarnecki capture_replay_tests: Fix MemoryObjectTest.
2021-02-25 lexa.knyazev Add Chrome Canary ANGLE injection steps
2021-03-02 jonahr VK: Suppress VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979
2021-03-01 cnorthrop Tests: Add Among Us trace
2021-03-02 penghuang Include a Makefile which contains some useful command lines
2021-02-26 cnorthrop Tests: Use context version from trace
2021-03-01 angle-autoroll Roll vulkan-deps from 3ca55e802f5b to 64e40ae7572f (14 revisions)
2021-02-25 ianelliott Vulkan: Always write to swapchain alpha channel
2021-02-12 gert.wollny build: Add -Wdeprecated-copy to the C++ build flags
2021-02-28 ynovikov Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Win AMD
2021-02-12 gert.wollny libANGLE: Declare copy operator if copy constructor is defined

Created with:
  roll-dep third_party/angle

Bug: dawn:447
Change-Id: Ib8cd1b410dd6eee020b25c277bf2b966969cf327
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43800
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-03-03 22:42:15 +00:00
Dawn Autoroller
4bd88f7927 Roll Tint from e879143801a1 to ec44eef965b6 (5 revisions)
https://dawn.googlesource.com/tint.git/+log/e879143801a1..ec44eef965b6

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC rharrison@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

Bug: None
Tbr: rharrison@google.com
Change-Id: Ie55255b10e63d9eceea76295a27d66ccb9310b70
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43780
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-03 21:51:45 +00:00
David Neto
ec44eef965 spirv-reader: handle OpUndef at module scope
Fixed: tint:523
Change-Id: I47639c8f701ca049c7215874cdea27f86d8a415b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43760
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-03-03 19:58:04 +00:00
Ben Clayton
5a13258981 TD: Fix O(2^n) of reachable-by-entry-point
Re-jig the code so that this can be performed in O(n).

Fixed: tint:245
Change-Id: I6dc341c0313e3a1c808f15c66e0c70a7339640e5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43641
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
2021-03-03 19:54:44 +00:00
Rafael Cintron
c36a9e8579 Protect Texture::DestroyImpl against multiple calls for D3D12
Calling Texture::DestroyImpl will cause a crash when passing a
nullptr D3D12 resource to the Present method of
ID3D12SharingContract.

Protect against crashes by checking whether the allocation we're
destroying is valid before proceeding.

Change-Id: Ifb68c1f85383db5027006cf435f43c84d1a463d9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42580
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
2021-03-03 18:42:34 +00:00
Ryan Harrison
04d93c88a0 Add inspector support for DepthTexture reflection
BUG=tint:527

Change-Id: I4f017993ffa85515b5b646bd9cf15c4b6d50c441
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43700
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-03 13:46:43 +00:00
Austin Eng
9b5f442c78 Add XlibXcbFunctions to the CMake build
Bug: none
Change-Id: I6987e99822d5a417c1ceac2f0a1f939d1c85cfb8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43720
Auto-Submit: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-03 08:21:47 +00:00
Dawn Autoroller
f9d75ead9e Roll Tint from 5cfd4f5a073e to e879143801a1 (1 revision)
https://dawn.googlesource.com/tint.git/+log/5cfd4f5a073e..e879143801a1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC rharrison@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

Bug: None
Tbr: rharrison@google.com
Change-Id: I19d4a5b1b5b93ddd2e756a6c609ce0b5eeefc5a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43660
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-02 21:07:47 +00:00
Ben Clayton
7732ca51c4 Rename TINT_INSTANTIATE_CLASS_ID()
to TINT_INSTANTIATE_TYPEINFO()

ClassID isn't a thing any more.

Change-Id: Ie1c0d4a95e58ef7166d3cab5ef733a2dfc702345
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42921
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-03-02 20:51:18 +00:00
Ryan Harrison
2f8df72930 Reland "Remove deprecated textureLoad overloads with no level param"
This is a reland of cc4c22ebaa72a2365dc196c4a1496e5a36452cdc

Original change's description:
> Remove deprecated textureLoad overloads with no level param
>
> BUG=tint:516
>
> Change-Id: I7004e0dbd44d703c684118136b05b84cf609c6ba
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42703
> Reviewed-by: Ben Clayton <bclayton@google.com>
> Commit-Queue: Ryan Harrison <rharrison@chromium.org>

Bug: tint:516
Change-Id: Ic52893c78046cd54575cea51c244f6df5a4f843c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43620
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-02 20:31:58 +00:00
Ben Clayton
e879143801 Pull Is() out of castable and into a new TypeInfo
Allows you to query type inheritance without having an instance of the type.

Also add TypeInfo::name. Helpful for decent error messages. Strings can be removed from NDEBUG builds if we consider them too large.

Change-Id: Ie501b37f46e63d956cc020f8c9b68e91737472f0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42920
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-02 20:30:08 +00:00
Stephen White
9b9e7b293e Skip SNORM formats on unsupported platforms.
Bug: dawn:447 dawn:667

Change-Id: I66d5a33febeee6a5ea4efd7c4e97461accce22ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43580
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-03-02 17:54:19 +00:00
Ryan Harrison
b9eec93172 Add missed level value to textureLoad
Caught by the bots running SwiftShader

BUG=tint:516

Change-Id: I4e93c2f73cf48242b49c8aea1f5f29a21ac6b8e7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43600
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-02 17:53:39 +00:00
Dawn Autoroller
29f0bd7e6a Roll Tint from 05d9bffdbda1 to 5cfd4f5a073e (7 revisions)
https://dawn.googlesource.com/tint.git/+log/05d9bffdbda1..5cfd4f5a073e

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC rharrison@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

Bug: None
Tbr: rharrison@google.com
Change-Id: I91d41c58a1eb66edbf6944c57877648fa2d8a71d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43560
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-02 13:17:39 +00:00
Ryan Harrison
5cfd4f5a07 Revert "Remove deprecated textureLoad overloads with no level param"
This reverts commit cc4c22ebaa72a2365dc196c4a1496e5a36452cdc.

Reason for revert: Broke Dawn e2e tests w/ SwiftShader

Original change's description:
> Remove deprecated textureLoad overloads with no level param
>
> BUG=tint:516
>
> Change-Id: I7004e0dbd44d703c684118136b05b84cf609c6ba
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42703
> Reviewed-by: Ben Clayton <bclayton@google.com>
> Commit-Queue: Ryan Harrison <rharrison@chromium.org>

Bug: tint:516
Change-Id: I6b7857304872fd0048c23999ac223ce9dcaf7fe1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43540
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
2021-03-02 12:39:34 +00:00
Ben Clayton
1653668355 Remove deprecated transform APIs
Change-Id: I330b52ed6b485690a64c74fe34bebfe02fb52598
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42265
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-03-02 11:53:42 +00:00
Yan, Shaobo
fbda46da44 Refactor CopyTextureForBrowserTests to use compute shader
CopyTextureForBrowserTests will cover incoming color format conversion
cases. While it is OK for |unorm| formats to compare their pixel values
on the CPU side, we cannot do such comparisons for the |float| formats
because we may meet the precision issues when comparing a value
generated at the CPU side to the one from the GPU side.

Refactor this test suites by using compute shader and do bit-by-bit
comparison from source texture and destination texture.

BUG=dawn:465

Change-Id: I979fcf1a1d96bbe9f8a4cf2f1a305d488e88b257
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36140
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-02 03:00:27 +00:00
Jiawei Shao
642ec1c30e D3D12: Clear texture with RecordCopyBufferToTextureFromTextureCopySplit
This patch uses RecordCopyBufferToTextureFromTextureCopySplit() to
record the D3D12 commands in Texture::ClearTexture() so that we can
remove some redundant code in that function.

BUG=dawn:145, dawn:693

Change-Id: Ifd0ba319c335fdf13e60bf748163451d71dad962
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42760
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-03-02 02:02:21 +00:00
Bryan Bernhart
ec3f482422 D3D12: Fix ASSERT for external image tests
Replaces use of EXPECT_EQ with ASSERT_EQ and allows
ASSERT_EQ to propagate to caller so the test returns
early.

BUG=dawn:625

Change-Id: I6c12aad201f1821fa8c7c1f9a9b735910049cdcf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42940
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2021-03-02 00:56:51 +00:00
James Price
a349e54149 Remove unused testing files
Change-Id: I0af37c775a818a5a76baa48fb8e55b38c6b40eee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43480
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-01 23:22:19 +00:00
James Price
9062f13202 Rename test file for consistency
We use _test.cc for everything else, so this makes globbing for test
sources simpler.

Change-Id: I6d1a3ad0f3bbeaabe981fbce66967de7e2f9e4d5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43481
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-01 22:51:39 +00:00
Antonio Maiorano
364b30f7de spirv builder: allow unsigned int cases for switch statements
Change-Id: If7a8955961b56925cae538249d4e17495d3f8e1b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42901
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
2021-03-01 22:44:19 +00:00
Ryan Harrison
cc4c22ebaa Remove deprecated textureLoad overloads with no level param
BUG=tint:516

Change-Id: I7004e0dbd44d703c684118136b05b84cf609c6ba
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42703
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2021-03-01 21:54:49 +00:00
Ryan Harrison
8ed0630d35 Add level value to textureLoad
The level-less variants have been removed from the WGSL spec, so will
be removed from Tint soon.

BUG=tint:516

Change-Id: Ic09ffadc2902ca9cdb3198b91f8ad694887258d4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42704
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-01 20:29:20 +00:00
Stephan Hartmann
6e5edc9a69 IWYU: add missing type_traits for std::is_unsigned
Bug: None
Change-Id: Ib39829c39e800534510afb2fb0651d77ba29a2a6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43440
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
2021-03-01 20:24:11 +00:00
Antonio Maiorano
fe2b417f83 Validate swizzles don't mix between rgba and xyzw
Added test.

Bug: tint:79
Change-Id: Ibb17cc2d9198403cdf6a2e456ad29d906deac9f7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43460
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-01 20:01:39 +00:00
Stephen White
9311824855 Roll third_party/angle/ f4cd17472..0e11e49d1 (443 commits; 2 trivial rolls)
f4cd17472a..0e11e49d19

$ git log f4cd17472..0e11e49d1 --date=short --no-merges --format='%ad %ae %s'
2021-03-01 angle-autoroll Roll SwiftShader from 349abccec8f7 to 106e01583a3a (2 revisions)
2021-03-01 angle-autoroll Roll Chromium from 61aec087e2f8 to 2a5fa9108962 (430 revisions)
2021-01-25 cnorthrop Capture/Replay: Support CaptureGetQueryObject
2021-02-27 ynovikov Fix Ozone backend build flags.
2021-02-26 ynovikov Add EGL_WINDOW_BIT to all Ozone configs' EGL_SURFACE_TYPE
2021-02-25 m.maiya Vulkan: Avoid using assign with BitSets
2021-01-29 shrekshao Reland "Workaround for Mac Intel drawArraysInstanced with first > 0"
2021-02-25 syoussefi Vulkan: Move SPIR-V validation function to common/
2021-02-25 m.maiya Vulkan: Check texture type before calling into feedbackloop check
2021-02-24 m.maiya Vulkan: No need to unmap buffer when adding to mInFlightBuffers
2021-02-25 stha09 GCC: add missing static constexpr member definition
2021-02-24 senorblanco Check that pixel store params are 0 for fastUnpack path on D3D.
2021-02-25 cnorthrop Capture/Replay: Add CubeMapArray support
2021-02-26 ynovikov Skip 3 SimpleStateChangeTestES31
2021-02-24 lubosz.sarnecki gles_ext_params: Implement CaptureGetTexLevelParameterivANGLE.
2021-02-17 ddavenport Query revision id for GPU devices
2021-02-24 lubosz.sarnecki gl_angle_ext: Add param groups to glGetTexLevelParameterivANGLE.
2021-02-26 angle-autoroll Roll vulkan-deps from 55434360b05d to 3ca55e802f5b (6 revisions)
2021-02-26 angle-autoroll Roll SwiftShader from 22186f076bf3 to 349abccec8f7 (6 revisions)
2021-02-26 angle-autoroll Roll Chromium from b90646417bd3 to 61aec087e2f8 (994 revisions)
2021-02-25 lubosz.sarnecki gl.xml: Annotate glDiscardFramebufferEXT with param groups.
2021-02-19 syoussefi Vulkan: Generate xfb support code in SPIR-V for emulation path
2021-02-22 ianelliott Vulkan: Add GPU memory report and analysis documentation
2021-02-24 ynovikov Cleanup EGLMakeCurrentPerfTest instantiation
2021-02-25 ynovikov Suppress 1 VulkanExternalImageTest on Linux AMD Vulkan
2021-02-25 lubosz.sarnecki gen_vk_internal_shaders: Don't include full path on Python 3.4+.
2021-02-24 m.maiya Vulkan: Handle vertex count and primitive mode error cases in TS
2021-02-24 m.maiya Vulkan: Shader support for EXT_shader_framebuffer_fetch_non_coherent
2021-02-23 syoussefi Vulkan: Fix missing visibility barrier for glReadPixels
2021-02-23 syoussefi Vulkan: Fix PBO read pixels with unaligned output pitch
2021-02-18 syoussefi Vulkan: Optimize glMemoryBarrier more
2021-02-23 cnorthrop Capture/Replay: Fix compressed texture level caching
2021-02-23 cnorthrop Docs: Update ANGLE trace creation steps
2021-02-20 amy.liu Fix crash of MultithreadingTest end2end tests.
2021-02-19 jmadill Stubs for OpenCL entry points.
2021-02-11 lubosz.sarnecki Remove redundant (c) from license headers.
2021-02-24 angle-autoroll Roll vulkan-deps from ca177df9b948 to 55434360b05d (16 revisions)
2021-02-24 angle-autoroll Roll Chromium from d163fd7c6905 to b90646417bd3 (481 revisions)
2021-02-18 syoussefi Add a test for sample after deferred clear
2021-02-17 syoussefi Vulkan: Don't break the render pass on dispatch calls
2021-02-18 syoussefi Remove incorrect memory barrier tests
2021-02-11 lubosz.sarnecki Add Collabora, Ltd. to AUTHORS and CONTRIBUTORS
2021-02-23 angle-autoroll Roll VK-GL-CTS from 1a524349f06b to 9cdde06fb38a (1 revision)
2021-02-22 syoussefi Assert valid when using SPIR-V ids
2021-02-12 lubosz.sarnecki capture_replay_tests: Fix repository path retrieval.
2021-02-11 lubosz.sarnecki Generators: Use fixed year in license headers.
2021-02-22 ynovikov Remove old Win x64 bots from CQ
2021-02-19 jmadill Clean up entry point generation script.
2021-02-23 angle-autoroll Roll SwiftShader from d85a7a27b272 to 22186f076bf3 (4 revisions)
2021-02-23 angle-autoroll Roll VK-GL-CTS from a075fac2c633 to 1a524349f06b (4 revisions)
(...)
2021-01-14 jmadill Revert "Vulkan: Prefer host cached memory for Buffers"
2021-01-12 natsu Update roll AOSP scripts to reflect vulkan-deps subdirectory
2021-01-12 timvp Fix call to getImageFormatFeatureBits() in SurfaceVk.cpp
2021-01-14 angle-autoroll Roll SwiftShader from 3549479dc4cc to 5255c465bbba (6 revisions)
2021-01-14 angle-autoroll Roll vulkan-deps from 50bcbaad4cbf to 5869a809d551 (4 revisions)
2021-01-14 angle-autoroll Roll Chromium from 451c64aaec04 to fabc0b0b129a (518 revisions)
2020-08-06 sunnyps Support importing NV12/P010/P016 D3D textures as EGLImage
2021-01-13 ynovikov Don't build angle_end2end_tests_mac_sources on iOS
2021-01-11 m.maiya Allow attributes and uniforms to have the same name
2021-01-13 jmadill infra: Fix win-trace-rel bot typo.
2020-12-30 jmadill Program: Support multiple varying packings.
2021-01-12 cnorthrop Capture/Replay: Add DrawBuffer state to MEC
2021-01-12 jmadill Test Runner: Add a slow tests list.
2021-01-12 jmadill Remove Sleep() from PrimitivesWrittenAndGenerated test.
2021-01-13 jmadill infra: Fixes for config.
2021-01-13 jwata Use CAS in scripts/trigger.py
2021-01-12 jmadill Add configuration for trace test bots.
2021-01-13 angle-autoroll Roll vulkan-deps from e59ae1af7571 to 50bcbaad4cbf (7 revisions)
2021-01-13 angle-autoroll Roll Chromium from 2a7e78c75a37 to 451c64aaec04 (494 revisions)
2021-01-12 cnorthrop State: Provide reference to image unit binding vector
2021-01-12 jmadill Vulkan: Add YUV G8_B8_R8_3PLANE_420_UNORM format.
2020-12-02 cnorthrop Allow GL_OES_shader_image_atomic when non-conformant
2021-01-11 jmadill Vulkan: Index mandatory support table by ANGLE format.
2021-01-12 syoussefi Vulkan: Increment buffer view serials only when used
2021-01-11 syoussefi Vulkan: Notify ContextVk when UtilsVk binds compute pipelines
2021-01-12 angle-autoroll Roll SwiftShader from 348ba200aa29 to 3549479dc4cc (3 revisions)
2020-06-25 jonahr GL: Clean up Display code related to multithreading
2021-01-12 syoussefi Reland "Use is_apple instead of is_mac and is_ios everywhere"
2021-01-12 angle-autoroll Roll Chromium from 734de1a6b288 to 2a7e78c75a37 (67 revisions)
2021-01-12 angle-autoroll Roll Chromium from 193bb22c8c9d to 734de1a6b288 (311 revisions)
2021-01-08 natsu Default roll_aosp.sh to copy artifacts to vendor partition
2021-01-08 jmadill Vulkan: Use angle::FormatID instead of VkFormat.
2021-01-11 stha09 libstdc++: fix incomplete type for FramebufferCache
2020-11-04 vantablack Reland "Created test and fixed texture storage bug in d3d11"
2021-01-07 lfy Vulkan: Prefer host cached memory for Buffers
2021-01-11 ynovikov Fix iOS build
2021-01-11 ynovikov Enable building angle_white_box_tests on Fuchsia
2021-01-08 ianelliott dEQP: Avoid undefined right-shift behavior for GLhalf
2021-01-11 jmadill Remove obsolete build flag.
2021-01-11 angle-autoroll Roll Chromium from 29d2d6a2d436 to 193bb22c8c9d (106 revisions)
2021-01-11 angle-autoroll Roll vulkan-deps from e395b66ed41c to e59ae1af7571 (5 revisions)
2021-01-11 angle-autoroll Roll SwiftShader from 937395c1ed5d to 348ba200aa29 (6 revisions)
2021-01-11 angle-autoroll Roll Chromium from 28ecef438c2c to 29d2d6a2d436 (82 revisions)
2021-01-09 ynovikov Roll chromium_revision 1e679b773d..28ecef438c (841389:841845)
2021-01-08 syoussefi Revert "Use is_apple instead of is_mac and is_ios everywhere"
2020-12-30 timvp Tests: Add Saint Seiya Awakening: Knights of the Zodiac trace
2021-01-07 syoussefi Vulkan: Add a perf test for pre-rotation code injection
2021-01-08 syoussefi Fix translator fuzzer
2021-01-06 timvp Tests: Add World War Doh trace
2021-01-08 jmadill Add OWNERS info for Vulkan test utils.

Created with:
  roll-dep third_party/angle

Bug: dawn:447
Change-Id: I3653ae78cad4503d29cecad9a8c8184ef4eb25a6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43420
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-01 18:39:20 +00:00
Dawn Autoroller
19f111f69c Roll Tint from e5c105d40a49 to 05d9bffdbda1 (5 revisions)
https://dawn.googlesource.com/tint.git/+log/e5c105d40a49..05d9bffdbda1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC dsinclair@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

Bug: None
Tbr: dsinclair@google.com
Change-Id: I1f7b80fab40434db510b8ca605ccaf951a089c56
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43405
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-01 09:05:20 +00:00
Jiawei Shao
60d6d0acd6 Add regression test for the Intel D3D12 driver bug about T2T copy
This patch adds a regression test to dawn_end2end_tests for an
Intel D3D12 driver bug about the T2T copies with specific texture
formats when the source mipmap level is greater than 0.

This patch also does several clean-ups in CopyTests.cpp to support
testing arbitrary texture formats:
1. Initialize the source textures with device.WriteTexture().
2. Set default values for TextureSpec.copyLevel (0),
   TextureSpec.levelCount (1) and TextureSpec.copyOrigin ({0, 0, 0}).
3. Add TextureSpec.format and set the default value for it (RGBA8Unorm).
4. Support initializing and comparing the texture data with arbitrary
   texture format instead of RGBA8Unorm only in CopyTests_T2T.
5. Check all the texels in the related destination texture subresources
   instead of only the copied texels.

BUG=chromium:1161355
TEST=dawn_end2end_tests

Change-Id: Ib32aac57dc7bdc9a4c2edc96093afa945aa08a5c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42240
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-01 01:23:30 +00:00
Antonio Maiorano
05d9bffdbd Make IntLiteral store and return a u32 value
With this change, the base IntLiteral class now stores a u32, and
derived UintLiteral and SintLiteral are implemented in terms of it. This
will allow us to improve the current pattern of casting down to each
derived type to retrieve the value.

Change-Id: I0c1e56c5e04333a0d3d5f30a3fb28e784f785843
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42900
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-02-26 22:56:16 +00:00
Bryan Bernhart
9c3aefa4bd D3D12: Enable external texture reuse
This change allows multiple Dawn textures to be created from the same
D3D11 resource. This avoids re-opening the shared handle by caching the
D3D12 resource outside of the Dawn texture.

Re-opening the handle costs 5-10% of CPU cycles per frame, which far
exceeded syncronization costs.

In a future change, WrapSharedHandle will be depreciated.

BUG=dawn:625

Change-Id: If0d2dc9b7445ec3ae718bc5305164db88057c4ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42140
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-02-26 22:44:48 +00:00
Ben Clayton
4d9f2ca07d tint: Move to new transform API
tint::transform::Transform::Output::diagnostics is deprecated.
Diagnostics are now all in the Output::program.

Use the VertexPulling(const Config&) constructor instead of the setters. These are deprecated.

Change-Id: Icefb84719d4915550c1e554e6d0c6e06ebb05f5c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42266
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-02-26 20:25:38 +00:00
Ben Clayton
a8b20bec7b CloneContext: Drop the first CloneContext* parameter from the ReplaceAll() callback
You have to have the CloneContext in order to call ReplaceAll() in the first place. The overhead of capturing the pointer in the closure is negligible.

Cleans up the callsites.

Change-Id: I3a0fd808517d69f19756f590f3426e5ba226c57e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42840
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-02-26 19:33:56 +00:00
Ben Clayton
d5638c93c5 BoundArrayAccessors: Add more tests
Bug: tint:521
Change-Id: I0a9ea7f487b052d1ee6ffa5be079d18633acc72c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/42844
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-02-26 18:53:36 +00:00