Aleksi Sapon
58ec60ea23
CMake: add dependency to dawncpp_headers on dawn_common
...
common/VertexFormatUtils.h includes dawn/webgpu_cpp.h
Change-Id: Id9f56c8d1344467ba84093b5da7d6997e34c1c22
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50620
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
2021-05-17 16:04:28 +00:00
Corentin Wallez
3148e83cff
Use Tint as much as possible in fuzzers.
...
Force the use_tint_generator toggle so that Tint is used as much as
possible in fuzzers to get coverage of the relevant code.
This will also fix a recurring fuzzer issue that required a code
transform that only exists in the Tint path: bindings must be renumbered
otherwise we hit an integer overflow in Swiftshader's descriptor set
writes.
Bug: chromium:1209602
Change-Id: Ie868fb07306f96a8ecf42a687313e0a466041a45
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/51240
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
Auto-Submit: Corentin Wallez <cwallez@chromium.org >
Commit-Queue: Ryan Harrison <rharrison@chromium.org >
2021-05-17 15:37:18 +00:00
Yunchao He
e8c271dab7
Rename some data structures in TextureCopySplitter
...
The change renames Texture2DCopySplit and copies2D to
TextureCopySubresource and copySubresources respectively.
Because they are not used for 2D only.
I didn't change Texture2DCopySplit to TextureCopySplit in order
to reflect its meaning and distinguish it from TextureCopySplits.
TextureCopySubresource is a collection of copy regions for either a
single layer of a 1D/2D texture or all depth slices on the same
mip level of a 3D texture (They are exactly what subresources are).
It also renames function ComputeTextureCopySplit to
ComputeTextureCopySubresource, and a couple similar renaming.
Bug: dawn:547
Change-Id: I17f8b349e209af0ed1ccaee4634be1e8235a63b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50920
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
2021-05-17 10:35:57 +00:00
Qin Jiajia
75de553398
Use the device maximum supported shader model
...
Use the device maximum supported shader model for DXC compiler.
Bug: None
Change-Id: I05f66d499405a3512a43daca35bb20be84f1f6c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/51080
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
2021-05-16 17:11:17 +00:00
Dawn Autoroller
53abfc95f4
Roll Tint from df8b2783a4 to 31d761329a (4 revisions)
...
https://dawn.googlesource.com/tint.git/+log/df8b2783a446..31d761329a5f
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 kainino@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: kainino@google.com
Change-Id: I55793d1cfb69222762efb9c3bf198b8744487b28
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/51160
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-14 19:28:20 +00:00
Dawn Autoroller
dc3b066f39
Roll Tint from 222fae1c8c to df8b2783a4 (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/222fae1c8c2f..df8b2783a446
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 kainino@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: kainino@google.com
Change-Id: If2f99689885380f54e8022c9f3c003e0460137c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/51100
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-14 13:14:20 +00:00
Dawn Autoroller
5542afcd02
Roll Tint from 26e0312de2 to 222fae1c8c (3 revisions)
...
https://dawn.googlesource.com/tint.git/+log/26e0312de2da..222fae1c8c2f
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 kainino@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: kainino@google.com
Change-Id: I7709023f95edb6a5486300dea86a5086108241f2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/51060
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-14 05:58:59 +00:00
Dawn Autoroller
1b0c8a6fd5
Roll Tint from 09587e1d86 to 26e0312de2 (3 revisions)
...
https://dawn.googlesource.com/tint.git/+log/09587e1d862b..26e0312de2da
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 kainino@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: kainino@google.com
Change-Id: I95171b77dca8909a62db0bc00d3107969b52a69b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50980
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-14 00:27:59 +00:00
Dawn Autoroller
73c0190b4d
Roll Tint from 688fe4477d to 09587e1d86 (4 revisions)
...
https://dawn.googlesource.com/tint.git/+log/688fe4477dff..09587e1d862b
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 kainino@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: kainino@google.com
Change-Id: I09c70c2e921e1107a54598dc77323b1a0fa5629e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50940
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-13 18:49:39 +00:00
Brandon Jones
76e5a9f6dd
Remove deprecated API surface, Pt. 1
...
- Remove Device.getDefaultQueue()
- Remove Extent3D.depth
- Remove setIndexBufferWithFormat
- Remove TextureUsage::OutputAttachment
Change-Id: If1c39b5630c88c3b87b37e317aafe7442419f7d0
Bug: dawn:22
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50700
Reviewed-by: Kai Ninomiya <kainino@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
Commit-Queue: Brandon Jones <bajones@chromium.org >
2021-05-13 17:51:23 +00:00
Dawn Autoroller
82ba34a941
Roll Tint from 9b1ee6bdea to 688fe4477d (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/9b1ee6bdeafd..688fe4477dff
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 kainino@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: kainino@google.com
Change-Id: I62fa1209f46e9471aee13892be1987912dffcfa7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50860
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-13 14:04:19 +00:00
Dawn Autoroller
c2a2818621
Roll Tint from 884a4e2172 to 9b1ee6bdea (2 revisions)
...
https://dawn.googlesource.com/tint.git/+log/884a4e2172ef..9b1ee6bdeafd
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 kainino@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: kainino@google.com
Change-Id: I4cc557b1bdb52e5133e44f9a6914791b49255d7d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50806
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-13 02:33:03 +00:00
Qin Jiajia
72ee6ade31
Add MatMul with 2-dimensional shared array shader
...
The previous matmul is using 1-dimensional shared array. This PR
adds the 2-dimensional shared array. The perf result shows that:
1. For 1-dimensional shared array, enabe-robustness wil bring almost 2x
regression both for matmulFloat and matmulVec4 on Intel CFL.
2. For 2-dimensional shared array, enabe-robustness will bring almost 2x
regression on matmulFloat. But have little impact on matmulVec4 on Intel
CFL.
Tested on Intel_R_UHD_Graphics_630.
shader enable robustness disable robustness
MatMulFloatOneDimSharedArray 5383 us 3105 us
MatMulFloatTwoDimSharedArray 4788 us 2608 us
MatMulVec4OneDimSharedArray 3070 us 1743 us
MatMulVec4TwoDimSharedArray 1840 us 1802 us
Bug: dawn:594
Change-Id: Ia29a78cf70649ef8d3ba8476db1ad4d6ded80840
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50481
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com >
Reviewed-by: Austin Eng <enga@chromium.org >
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com >
2021-05-13 00:55:41 +00:00
Dawn Autoroller
044b188990
Roll Tint from 3103a1f666 to 884a4e2172 (3 revisions)
...
https://dawn.googlesource.com/tint.git/+log/3103a1f666f8..884a4e2172ef
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 kainino@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: kainino@google.com
Change-Id: I222d73435f7cce5c3fd3448639311218d975d6c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50802
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-12 20:16:51 +00:00
Austin Eng
81addb75cb
Pass mayCollide argument to Tint's BindingRemapper
...
Added in https://dawn-review.googlesource.com/c/tint/+/50742
Bindings may not collide except on the D3D12 backend where we use
the register offset as the binding number. Offsets may alias if
they are for different HLSL register types (buffer, texture, etc.)
Bug: tint:797
Change-Id: I020e3b5cd1d35fdf5678b587225507e0cf24f5b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50801
Commit-Queue: Austin Eng <enga@chromium.org >
Commit-Queue: Ben Clayton <bclayton@google.com >
Auto-Submit: Austin Eng <enga@chromium.org >
Reviewed-by: Ben Clayton <bclayton@google.com >
2021-05-12 17:01:01 +00:00
Dawn Autoroller
88d3afe19c
Roll Tint from 9fdfa1e323 to 3103a1f666 (39 revisions)
...
https://dawn.googlesource.com/tint.git/+log/9fdfa1e32374..3103a1f666f8
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 kainino@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: dawn:728
Tbr: kainino@google.com
Change-Id: I32c1c86f74fdb9c484728a5279c2c32fb40d4f5a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50780
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-12 14:50:21 +00:00
Ben Clayton
f0fdfa0d61
ShaderModule: Keep the tint::Source::File alive
...
Certain backends performs transformations on the tint::Program in the ShaderModule.
These transformations may raise diagnostics.
Tint diagnostics generated from an underlying tint::Source::File need that File kept alive.
Change-Id: I32deceb4cedb419e914631d342884fc27972b5cb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50581
Auto-Submit: Ben Clayton <bclayton@google.com >
Commit-Queue: Austin Eng <enga@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
2021-05-11 15:07:01 +00:00
Austin Eng
e2f083e4b0
Add tests for copies between 3D and 2D array textures
...
Skip these tests on D3D12 because it is not implemented yet.
Bug: dawn:547
Change-Id: I0a009b00bd26bb04794bb627c53f4540462f1ca7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50243
Commit-Queue: Austin Eng <enga@chromium.org >
Reviewed-by: Yunchao He <yunchao.he@intel.com >
2021-05-11 01:26:13 +00:00
Austin Eng
2a7d0ac828
Implement 3D texture copies on OpenGL/ES
...
Bug: dawn:783
Change-Id: I3c7f0ffc3f45a0d67b411a39342e89c710604d54
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50244
Commit-Queue: Austin Eng <enga@chromium.org >
Reviewed-by: Yunchao He <yunchao.he@intel.com >
Reviewed-by: Stephen White <senorblanco@chromium.org >
2021-05-11 00:50:53 +00:00
Austin Eng
5230c6bd93
Implement 3D texture copies on Metal
...
Bug: dawn:782
Change-Id: I204bfb087b9b7584d7d0f1964bcb3ea8b0a41d38
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50242
Commit-Queue: Austin Eng <enga@chromium.org >
Reviewed-by: Yunchao He <yunchao.he@intel.com >
2021-05-11 00:04:13 +00:00
Austin Eng
d066d17ef6
Implement 3D texture copies on Vulkan
...
Bug: dawn:781
Change-Id: I5a1b3cc906b2bcb89c0ba3b202bacd16e012efe8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50241
Commit-Queue: Austin Eng <enga@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Yunchao He <yunchao.he@intel.com >
2021-05-10 18:58:51 +00:00
Austin Eng
67851d9021
Validate that 3D texture copies cannot be between the same subresource
...
Bug: dawn:547
Change-Id: I747ccdb895121292e527acc385d69697bc86d8b2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50240
Commit-Queue: Austin Eng <enga@chromium.org >
Reviewed-by: Yunchao He <yunchao.he@intel.com >
2021-05-10 17:42:41 +00:00
Dawn Autoroller
5200c8158c
Roll Tint from 6a56744b55 to 9fdfa1e323 (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/6a56744b557c..9fdfa1e32374
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 kainino@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: kainino@google.com
Change-Id: I45055d0e0a7811278fe154cedb83bdbc268b3f46
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50520
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-10 15:50:41 +00:00
Austin Eng
26468c4071
Metal: Add CommandRecordingContext argument to ClearTexture
...
This is more consistent with the other backends that have a
CommandRecordingContext.
Bug: dawn:780
Change-Id: Icb689d00cc4d873a489fc4d4c247feeb15f8797c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50120
Commit-Queue: Stephen White <senorblanco@chromium.org >
Auto-Submit: Austin Eng <enga@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Stephen White <senorblanco@chromium.org >
2021-05-08 16:01:16 +00:00
Dawn Autoroller
26b3915b54
Roll Tint from 25df959dad to 6a56744b55 (9 revisions)
...
https://dawn.googlesource.com/tint.git/+log/25df959dadb0..6a56744b557c
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 bajones@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: bajones@google.com
Change-Id: I8484c83befcf57d69cd69a83b86e22cac4f7362e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50480
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-08 01:24:15 +00:00
Brandon Jones
23f77074bf
Suppress specific Vulkan validation messages
...
Adds UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (0x4dae5635)
initially, since we can see that it's causing issues with the WebGPU CTS
tests.
Change-Id: I862e3986d59ae590458f9011a16cc824bf752e72
Bug: dawn:785
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50423
Commit-Queue: Brandon Jones <bajones@chromium.org >
Reviewed-by: Kai Ninomiya <kainino@chromium.org >
2021-05-07 22:15:45 +00:00
Dawn Autoroller
27bcdc7440
Roll Tint from 698d01383c to 25df959dad (7 revisions)
...
https://dawn.googlesource.com/tint.git/+log/698d01383cda..25df959dadb0
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 bajones@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: bajones@google.com
Change-Id: I64b7bb0fcd69b2a8a1058d572bd49779ce0a43dd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50422
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-07 20:17:05 +00:00
Jiawei Shao
a91b3f938b
Skip CopyTests_T2B/CopyOneRowWithDepth32Float on D3D12
...
This patch skips CopyTests_T2B/CopyOneRowWithDepth32Float on all
D3D12 backends because it fails on many D3D12 drivers.
See https://crbug.com/dawn/727 for more details.
BUG=dawn:727
TEST=dawn_end2end_tests
Change-Id: I3d2c4cf363772939796a71c7efa165e57ed6ba41
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50280
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
2021-05-07 10:41:55 +00:00
James Price
b8c7724079
Remove use of EmitVertexPointSize transform
...
This is now handled inside the SPIR-V sanitizing transform and can be
enabled via a transform config option.
Fixed: tint:753
Change-Id: I897c60dd304dd4643cc905a8ca3001dd963c5fb0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50060
Auto-Submit: James Price <jrprice@google.com >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
2021-05-07 07:18:05 +00:00
Dawn Autoroller
09a97ad446
Roll Tint from fe5c305891 to 698d01383c (3 revisions)
...
https://dawn.googlesource.com/tint.git/+log/fe5c3058919c..698d01383cda
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 bajones@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: bajones@google.com
Change-Id: Icf37c1ed2a587c655a2cdfd644b633388299da38
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50247
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-07 03:21:15 +00:00
Yan
47652564e6
Add validation rules for CopyTextureForBrowser
...
This CL complete the validation rules for CopyTextureForBrowser by:
- Restrict source texture must have |CopySrc| and |Sampled| usage.
- Restrict destinaton texture must have |CopyDst| and
|RenderAttachment| usage.
- Restrict sample counts of source texture and destination texture
must be 1.
- Restrict source copy origin.z must be 0.
- Restrict CopyTextureForBrowser() can only copy to single slice.
A validation unittest is added to check.
BUG=dawn:465
Change-Id: I5e645a4b69edeaf97ce1231bd7c8036027524ba8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49306
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com >
2021-05-07 01:48:14 +00:00
Dawn Autoroller
09a458f94e
Roll Tint from d2be7cea90 to fe5c305891 (8 revisions)
...
https://dawn.googlesource.com/tint.git/+log/d2be7cea9058..fe5c3058919c
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 bajones@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: bajones@google.com
Change-Id: I34445f3294aaa5b915c530947365ed133317db33
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50245
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-06 22:01:24 +00:00
Corentin Wallez
76732abfe5
Properly implement per-dispatch synchronization scopes.
...
Below are the list of all the individual changes, which are a good order
in which to review this CL.
Core changes:
- Change the tracking in the frontend to produce a synchronization
scope per dispatch instead of per compute pass. Some bindgroups might
not be part of any synchronization scopes so we also track all the
referenced resources on the side so they can be checked during
Queue::Submit validation.
- Fix clearing in the GL and Metal backends to use the per-dispatch
synchronization scopes.
- Fix the Vulkan backend to use the per dispatch synchronization scopes
to produce the correct pipeline barriers. This allows the removal of
previous logic that was subtly incorrect for Indirect buffer. This
allows the merging of the Compute and Render DescriptorSetTracker into
a single small helper class.
- D3D12 changes are similar to Vulkan, but the simplification is just a
the suppression of a branch with a lot of code in
BindGroupStateTracker.
Test changes:
- Fixup all the ResourceUsageTracking tests to follow the WebGPU spec
for synchronization scopes (fixing a lot of TODOs).
- Add additional tests checking that Indirect buffers are not allowed
to be used as a writeable storage in the same synchronization scope.
- Add tests for Queue::Submit validation correctly taking into account
resources that are bound but unused in compute passes.
- Add an end2end test for using a buffer as Indirect and Storage at the
same time in a DispatchIndirect, which would previously produce
incorrect barriers in the Vulkan and D3D12 backends.
Other small changes (that I was to lazy to put in a different CL):
- Add the utils::MakePipelineLayout helper function.
- Fix Indirect not being in the list of readonly buffer usages (caught
by a test added in this CL).
Bug: dawn:632
Change-Id: I77263c3535a4ba995faccbf26255da9a2f6ed3b5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49887
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Stephen White <senorblanco@chromium.org >
2021-05-06 19:20:14 +00:00
Stephen White
d0ebcbac7a
Fixes for OpenGL loader generator.
...
Add extensions to the appropriate (desktop or ES) LoadProc generation.
Extensions have no removed_procs, so don't check for them.
Bug: chromium:1205155
Change-Id: I705ef3fb700318f59fdbc6415fcf3909c62e39f4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50180
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
Commit-Queue: Stephen White <senorblanco@chromium.org >
2021-05-06 18:34:14 +00:00
Dawn Autoroller
3b229bd4d4
Roll Tint from 0aeb77c40f to d2be7cea90 (4 revisions)
...
https://dawn.googlesource.com/tint.git/+log/0aeb77c40f89..d2be7cea9058
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 bajones@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: bajones@google.com
Change-Id: I54d9625f8f806cbfb95f5f812e1ccc1e6e6583f5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50160
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-06 16:23:04 +00:00
Corentin Wallez
de5bd3fe28
Only run the BoundArrayAccessors transform when robustness is on.
...
Bug: None
Change-Id: I40b94eb2a900a7d60529edb4ffa8f707e603a50d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49965
Auto-Submit: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com >
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com >
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com >
2021-05-06 13:55:34 +00:00
Corentin Wallez
9dad30d926
Move noop dispatch handling to the Metal backend
...
This workaround was only necessary in the Metal backend but it was easy
to put it in the frontend so it was put there. However, this simplification
gets in the way of a validation change in the follow-up CL. So we move
the nooping to the Metal backend.
Bug: dawn:632
Change-Id: I0a9957a1bc9bdd7867eb8c60fcab710832c13af2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49886
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Stephen White <senorblanco@chromium.org >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
2021-05-06 11:30:34 +00:00
Dawn Autoroller
063ea17f68
Roll Tint from b4a8a15bd2 to 0aeb77c40f (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/b4a8a15bd216..0aeb77c40f89
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 bajones@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: bajones@google.com
Change-Id: I882c97db700931e97de39d06d5c0f1dc53b088ac
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50140
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-06 10:49:44 +00:00
陈俊嘉
e7a5fabf48
Remove unnecessary "#if def"s and type conversion in windows compilation.
...
Remove unnecessary "#if def"s.
Forward declare IUnknown in Surface.h.
Change Surface.GetCoreWindow's return type to IUnknown*.
Remove unnecessary type conversion in SwapChainD3D12.cpp.
Bug: dawn:766
Change-Id: Id9f4ae20a5ed52fe8338d4e1673588c828c4c5df
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50080
Commit-Queue: 陈俊嘉 <cjj19970505@live.cn >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
2021-05-06 08:28:44 +00:00
Dawn Autoroller
26f4383c6a
Roll Tint from ba08d7bca3 to b4a8a15bd2 (3 revisions)
...
https://dawn.googlesource.com/tint.git/+log/ba08d7bca3c9..b4a8a15bd216
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 bajones@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: bajones@google.com
Change-Id: I0e9c110a34d052cda7e9c150ee006cb83ecde02e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50100
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-06 04:59:44 +00:00
Dawn Autoroller
f3e4779031
Roll Tint from bd7e8442b8 to ba08d7bca3 (11 revisions)
...
https://dawn.googlesource.com/tint.git/+log/bd7e8442b8c3..ba08d7bca3c9
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 bajones@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: dawn:728
Tbr: bajones@google.com
Change-Id: I180b76070fca3b4f609200b7dd5cfe05b8451d29
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/50025
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-05 22:48:04 +00:00
Corentin Wallez
ec7ea6aaaa
Separate the types for compute and render pass usage data
...
This change is a preparation for making the compute pass track the
synchronization scope usages per dispatch instead of for the whole pass.
This CL just separates the Compute and RenderPassResourceUsage types.
This requires making the difference between
SyncScope/ComputePass/RenderPass ResourceUsageTracker instead of having
a single combined tracker.
This change also duplicates SetBindGroup by removing the common handling
in ProgrammablePassEncoder and putting it in ComputePassEncoder and
RenderEncoderBase. This is necessary because the UsageTracker types are
now split, but it will also help have different handling of SetBindGroup
for compute and render in follow-up CLs.
There are no functional changes.
Bug: dawn:632
Change-Id: I482c04483d8b734fb10e44e717071eedcff2f15f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49884
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
2021-05-05 19:55:23 +00:00
Corentin Wallez
d98b3076f5
EncodingContext: Forward the backtrace of stored errors.
...
This makes error messages from command buffers more useful because they
keep the whole stack trace instead of just showing that the error was
created in the CommandBuffer::Finish call.
Bug: dawn:632
Change-Id: I23e66045c3caa1ad086003a04eed78c40aefc562
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49885
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Stephen White <senorblanco@chromium.org >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
2021-05-05 17:37:43 +00:00
Dawn Autoroller
c8f0b6d633
Roll Tint from 02ebf0dcae to bd7e8442b8 (4 revisions)
...
https://dawn.googlesource.com/tint.git/+log/02ebf0dcae51..bd7e8442b8c3
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 bajones@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: bajones@google.com
Change-Id: I699171bb8a79bc2ce7e3bb60454761022e37f8e2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49920
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-05 17:08:23 +00:00
Corentin Wallez
615d6ea5ce
Fix missing dependency for the OpenGL loader generator.
...
This was causing the GL loader to not be rebuilt when
supported_extensions.json was written.
Bug: None
Change-Id: I1f085403ebabe3a4cf52a80bcc7d23217603c28b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49888
Reviewed-by: Stephen White <senorblanco@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
2021-05-05 16:06:23 +00:00
Corentin Wallez
2dd2d67dbc
CommandBufferResourceUsage: track render and compute separately.
...
This change is a preparation for making the compute pass track the
synchronization scope usages per dispatch instead of for the whole pass.
- Split the tracking of render and compute passes usages.
- Rename PassTextureUsage to TextureSubresourceUsage since is it not
per-pass
- Add SyncScopeResourceUsage as a subclass of PassResourceUsage to
start modifying some of the code to work with synchronization scopes
(even if syncscope == pass at the moment).
There are no functional changes.
Bug: dawn:632
Change-Id: Ieeb6d70a44dc1c726f26989eebcd87e63e732785
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49883
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
2021-05-05 15:41:13 +00:00
Corentin Wallez
c63ac30826
Remove unused utils::SingleShaderStage enum
...
Bug: None
Change-Id: I760cc7710f4438c7cbd2cc209df744090698ec78
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49749
Commit-Queue: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
2021-05-05 11:49:43 +00:00
Dawn Autoroller
e4c37926b6
Roll Tint from 781de097eb to 02ebf0dcae (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/781de097ebbc..02ebf0dcae51
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 bajones@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: bajones@google.com
Change-Id: I539f3b251e2cdbefb1465d20f9be5132a6cc66a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49860
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-05 10:52:43 +00:00
Dawn Autoroller
3dddab2dd5
Roll Tint from df48b955b2 to 781de097eb (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/df48b955b2e5..781de097ebbc
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 bajones@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: bajones@google.com
Change-Id: I3cfae24579568af863804e1eb3f54a80f15a2a31
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49840
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-05 04:17:23 +00:00
Dawn Autoroller
a7f1c50f49
Roll Tint from ca992196d2 to df48b955b2 (8 revisions)
...
https://dawn.googlesource.com/tint.git/+log/ca992196d255..df48b955b2e5
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 bajones@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: bajones@google.com
Change-Id: Ie4b397050e2f418d489a411e6ed23155c135085e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/49820
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-05-04 22:48:02 +00:00