Commit Graph

4612 Commits

Author SHA1 Message Date
Ryan Harrison 6afd872dfd Revert "Revert "Vulkan: honor bufferImageGranularity the simplest way.""
This reverts commit 7fc0c0519a.

Include fix for issues that caused initial revert

BUG=dawn:950

Change-Id: If1d095d19dd771fd7a608bc54f1bd908562d332c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55682
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-06-22 21:24:29 +00:00
Ryan Harrison 7fc0c0519a Revert "Vulkan: honor bufferImageGranularity the simplest way."
This reverts commit 48183b8f58.

Reason for revert: Part of Dawn->Chromium breakage

BUG=dawn:950

Original change's description:
> Vulkan: honor bufferImageGranularity the simplest way.
>
> Vulkan requires that linear and opaque resources be placed in different
> "pages" of bufferImageGranularity size, as some hardware uses the page
> table to contain some compression bits or other stuff. Make Dawn honor
> this limit by aligning all allocations to bufferImageGranularity. This
> is pretty bad and should be improved later.
>
> Also does some cleanups:
>  - Add kMappableBufferUsage to represent all mappable usages.
>  - Remove the proxy function for resource management from
>    vulkan::Device and call ResourceMemoryAllocator directly.
>  - Use an enum to make the difference between mappable, linear and
>    opaque resources.
>
> This issue was found while doing a change of the memory type selection
> in Vulkan, that started failing some unrelated tests on Nvidia. Without
> knowing the details of the HW or the driver it is really hard to write
> tests, except by copy-pasting a failing test. This is why there is no
> test added in this CL, and instead will rely on tests not failing with
> the follow-up CL.
>
> Bug: dawn:659
>
> Change-Id: Ib7c1f3f1949457e04ca8e23d212dc60af7046213
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/52920
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>

TBR=cwallez@chromium.org,senorblanco@chromium.org,enga@chromium.org,dawn-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I133f6a44227819bf262ad2b6e8e9d0d7bfaaefaa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:659
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55642
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2021-06-22 19:00:44 +00:00
Dawn Autoroller 650c2accc2 Roll Tint from 3c9086d6a5 to 35b514ff06 (1 revision)
https://dawn.googlesource.com/tint.git/+log/3c9086d6a5e3..35b514ff06d2

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/main/autoroll/README.md

Bug: None
Tbr: rharrison@google.com
Change-Id: I30d6451305ea5d1e9bf33d47b8e669acabb8fad7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55601
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-22 17:53:53 +00:00
Corentin Wallez 7149c017b6 Vulkan: Fix FindBestType logic for device-local preference.
Previously when comparing a "bestType" that's device-local with a
"current" that's non-device-local, the logic to favor device-local
memory would be skipped and the types compared on their size. This lead
to incorrect memory types selection on some configurations (where the
small device local heap was selected).

Bug: dawn:659
Change-Id: Ie764815082ebeef845b70077fe630df05bcdb92b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39500
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-06-22 14:59:26 +00:00
Corentin Wallez 61b40d2c50 Roll third_party/vulkan-deps/ 6cbd7212a..85e758a22 (4 commits)
https://chromium.googlesource.com/vulkan-deps/+log/6cbd7212ad42..85e758a22b7a

$ git log 6cbd7212a..85e758a22 --date=short --no-merges --format='%ad %ae %s'
2021-06-21 chromium-autoroll Roll Vulkan-ValidationLayers from 16db45029320 to f12691a7fca2 (1 revision)
2021-06-21 chromium-autoroll Roll Vulkan-Tools from a680671d95bf to dbd221b2bc7a (1 revision)
2021-06-21 chromium-autoroll Roll SPIRV-Tools from 5dd2f76918bb to f8eafd4d838c (2 revisions)
2021-06-21 chromium-autoroll Roll SPIRV-Cross from 2e1b5fb39ebc to 9cdeefb5e322 (1 revision)

TBR=enga@chromium.org

Created with:
  roll-dep third_party/vulkan-deps

Change-Id: I48507a976b620ff5416130161ee1cf741498866c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55581
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-06-22 14:01:15 +00:00
Corentin Wallez 48183b8f58 Vulkan: honor bufferImageGranularity the simplest way.
Vulkan requires that linear and opaque resources be placed in different
"pages" of bufferImageGranularity size, as some hardware uses the page
table to contain some compression bits or other stuff. Make Dawn honor
this limit by aligning all allocations to bufferImageGranularity. This
is pretty bad and should be improved later.

Also does some cleanups:
 - Add kMappableBufferUsage to represent all mappable usages.
 - Remove the proxy function for resource management from
   vulkan::Device and call ResourceMemoryAllocator directly.
 - Use an enum to make the difference between mappable, linear and
   opaque resources.

This issue was found while doing a change of the memory type selection
in Vulkan, that started failing some unrelated tests on Nvidia. Without
knowing the details of the HW or the driver it is really hard to write
tests, except by copy-pasting a failing test. This is why there is no
test added in this CL, and instead will rely on tests not failing with
the follow-up CL.

Bug: dawn:659

Change-Id: Ib7c1f3f1949457e04ca8e23d212dc60af7046213
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/52920
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-06-22 13:41:35 +00:00
Dawn Autoroller 48cc1549e3 Roll Tint from b96ed7bda4 to 3c9086d6a5 (17 revisions)
https://dawn.googlesource.com/tint.git/+log/b96ed7bda4ee..3c9086d6a5e3

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: dawn:947
Tbr: rharrison@google.com
Change-Id: Idf2b25dcf2293939feaff8149d59c0e7788cfcf8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55600
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-22 12:45:15 +00:00
Yunchao He 987fbed32c Add 3D Texture T2T copy tests on non-zero mip levels
After adding some e2e tests for 3D texture T2T copy on non-zero mip
levels, it turns out that there is a bug in the e2e test itself.
The 3D texture copy splitter works well.

Bug: dawn:547

Change-Id: I51aef7aaca4caf9c86bfb0590eb0288d17731ba5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55144
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-06-21 20:09:37 +00:00
James Price 3a1a0397d3 Metal: Generate storage buffer lengths with Tint
Tint now matches the behavior of spirv-cross for shaders to use the
arrayLength builtin, and so needs a uniform buffer containing storage
buffer lengths to be passed to shaders that use this builtin.

Fixed: tint:256
Change-Id: Ib51cc4a3c6f7c2cdea867a23ed868d9d3740d734
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55181
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-06-21 20:08:18 +00:00
Dawn Autoroller f2d1d55e99 Roll Tint from 663271dca4 to b96ed7bda4 (1 revision)
https://dawn.googlesource.com/tint.git/+log/663271dca4c3..b96ed7bda4ee

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: I416eaab88b4e5d5761f86b0733305d8c6998b5e6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55460
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-21 18:26:57 +00:00
Corentin Wallez 8c1f0e6d8c Roll third_party/vulkan-deps/ 3d799e0e9..6cbd7212a (118 commits)
https://chromium.googlesource.com/vulkan-deps/+log/3d799e0e9b08..6cbd7212ad42

$ git log 3d799e0e9..6cbd7212a --date=short --no-merges --format='%ad %ae %s'
2021-06-21 chromium-autoroll Roll Vulkan-Headers from 9d10a96f2d57 to 37164a5726f7 (2 revisions)
2021-06-18 chromium-autoroll Roll SPIRV-Tools from bcef913745e3 to 5dd2f76918bb (1 revision)
2021-06-17 chromium-autoroll Roll Vulkan-ValidationLayers from d1071c19a85c to 16db45029320 (4 revisions)
2021-06-17 chromium-autoroll Roll glslang from e74b35f3f5f8 to b38100f6bc00 (1 revision)
2021-06-17 chromium-autoroll Roll glslang from b9d06bdb0108 to e74b35f3f5f8 (1 revision)
2021-06-17 chromium-autoroll Roll Vulkan-Tools from 1c9e13dea32d to a680671d95bf (2 revisions)
2021-06-17 chromium-autoroll Roll glslang from 71612a7e5d6a to b9d06bdb0108 (1 revision)
2021-06-17 chromium-autoroll Roll Vulkan-ValidationLayers from ae3d0c321731 to d1071c19a85c (1 revision)
2021-06-17 chromium-autoroll Roll Vulkan-Tools from ec76459d6fdf to 1c9e13dea32d (1 revision)
2021-06-17 chromium-autoroll Roll SPIRV-Tools from 4d22f58a812e to bcef913745e3 (1 revision)
2021-06-16 chromium-autoroll Roll Vulkan-ValidationLayers from adb3eb0e78e3 to ae3d0c321731 (1 revision)
2021-06-16 chromium-autoroll Roll glslang from c830b26b5f7a to 71612a7e5d6a (1 revision)
2021-06-16 chromium-autoroll Roll glslang from a23e1436367f to c830b26b5f7a (1 revision)
2021-06-16 chromium-autoroll Roll Vulkan-Tools from 02897e9cb615 to ec76459d6fdf (1 revision)
2021-06-16 chromium-autoroll Roll Vulkan-Tools from f1f5bdbd1b60 to 02897e9cb615 (1 revision)
2021-06-15 chromium-autoroll Roll Vulkan-Tools from 7501ad708eaf to f1f5bdbd1b60 (1 revision)
2021-06-15 chromium-autoroll Roll glslang from b848fd6a9452 to a23e1436367f (1 revision)
2021-06-15 chromium-autoroll Roll Vulkan-ValidationLayers from e82c237574e0 to adb3eb0e78e3 (1 revision)
2021-06-15 chromium-autoroll Roll Vulkan-ValidationLayers from dafb955601bb to e82c237574e0 (2 revisions)
2021-06-15 chromium-autoroll Roll SPIRV-Tools from ecdd9a3e6bd3 to 4d22f58a812e (1 revision)
2021-06-14 chromium-autoroll Roll Vulkan-ValidationLayers from 7397d2636a3d to dafb955601bb (1 revision)
2021-06-14 chromium-autoroll Roll Vulkan-ValidationLayers from d867d21eb247 to 7397d2636a3d (1 revision)
2021-06-14 chromium-autoroll Roll Vulkan-Tools from 0143cbebff88 to 7501ad708eaf (1 revision)
2021-06-14 chromium-autoroll Roll glslang from fe1515867665 to b848fd6a9452 (1 revision)
2021-06-14 chromium-autoroll Roll Vulkan-Tools from ac9393317a5c to 0143cbebff88 (1 revision)
2021-06-14 chromium-autoroll Roll Vulkan-Tools from 53231a96c0a6 to ac9393317a5c (1 revision)
2021-06-14 chromium-autoroll Roll Vulkan-ValidationLayers from b82d4bc69296 to d867d21eb247 (1 revision)
2021-06-14 chromium-autoroll Roll Vulkan-Headers from 07c4a37bcf41 to 9d10a96f2d57 (1 revision)
2021-06-11 chromium-autoroll Roll Vulkan-Tools from bbdf584b4f62 to 53231a96c0a6 (3 revisions)
2021-06-11 chromium-autoroll Roll Vulkan-Tools from 1021540dc2d2 to bbdf584b4f62 (1 revision)
2021-06-10 chromium-autoroll Roll SPIRV-Tools from bbc660edabf9 to ecdd9a3e6bd3 (2 revisions)
2021-06-09 chromium-autoroll Roll SPIRV-Tools from 9dbca316aac1 to bbc660edabf9 (1 revision)
2021-06-09 chromium-autoroll Roll glslang from 3d935ea2243b to fe1515867665 (1 revision)
2021-06-09 chromium-autoroll Roll SPIRV-Tools from c1a75bfabf6e to 9dbca316aac1 (1 revision)
2021-06-09 chromium-autoroll Roll SPIRV-Tools from d07505c761f5 to c1a75bfabf6e (1 revision)
2021-06-08 chromium-autoroll Roll Vulkan-ValidationLayers from cf7757488619 to b82d4bc69296 (4 revisions)
2021-06-08 chromium-autoroll Roll glslang from cb2c7fd674b9 to 3d935ea2243b (1 revision)
2021-06-08 chromium-autoroll Roll SPIRV-Tools from fb02131cb4ac to d07505c761f5 (1 revision)
2021-06-08 chromium-autoroll Roll Vulkan-ValidationLayers from 24f70cac5d64 to cf7757488619 (1 revision)
2021-06-08 chromium-autoroll Roll Vulkan-ValidationLayers from 55a3fc242217 to 24f70cac5d64 (1 revision)
2021-06-08 chromium-autoroll Roll Vulkan-ValidationLayers from 7cc35d372606 to 55a3fc242217 (2 revisions)
2021-06-08 chromium-autoroll Roll Vulkan-ValidationLayers from 8ce298d4d287 to 7cc35d372606 (1 revision)
2021-06-08 chromium-autoroll Roll SPIRV-Tools from 87a28679762f to fb02131cb4ac (1 revision)
2021-06-07 chromium-autoroll Roll Vulkan-ValidationLayers from 159b3cc24003 to 8ce298d4d287 (1 revision)
2021-06-07 chromium-autoroll Roll Vulkan-ValidationLayers from 46de0cdb7445 to 159b3cc24003 (12 revisions)
2021-06-07 chromium-autoroll Roll Vulkan-Tools from a8e96342e57d to 1021540dc2d2 (1 revision)
2021-06-07 chromium-autoroll Roll glslang from 1fa21491bc20 to cb2c7fd674b9 (1 revision)
2021-06-07 chromium-autoroll Roll Vulkan-Tools from 3ae088978f21 to a8e96342e57d (1 revision)
2021-06-07 chromium-autoroll Roll Vulkan-ValidationLayers from 5573a8ccfc9d to 46de0cdb7445 (1 revision)
2021-06-07 chromium-autoroll Roll SPIRV-Tools from c05f74415425 to 87a28679762f (1 revision)
(...)
2021-06-01 chromium-autoroll Roll Vulkan-ValidationLayers from 5d97074c3a01 to faea0bb06837 (2 revisions)
2021-06-01 chromium-autoroll Roll Vulkan-ValidationLayers from 5919c92a5bf2 to 5d97074c3a01 (1 revision)
2021-06-01 chromium-autoroll Roll Vulkan-ValidationLayers from 1dfbd1790542 to 5919c92a5bf2 (1 revision)
2021-06-01 chromium-autoroll Roll SPIRV-Tools from 0861a8fa21bd to 8b3dc6bbed46 (1 revision)
2021-06-01 chromium-autoroll Roll SPIRV-Tools from 9646c733e91d to 0861a8fa21bd (1 revision)
2021-06-01 chromium-autoroll Roll SPIRV-Tools from ec1bc3e2e567 to 9646c733e91d (1 revision)
2021-05-31 chromium-autoroll Roll Vulkan-ValidationLayers from 94787b19f5f1 to 1dfbd1790542 (1 revision)
2021-05-31 chromium-autoroll Roll Vulkan-ValidationLayers from 7176ec2ec8b6 to 94787b19f5f1 (2 revisions)
2021-05-31 chromium-autoroll Roll Vulkan-Tools from daa3490ea48a to 6149e30699b3 (1 revision)
2021-05-31 chromium-autoroll Roll Vulkan-ValidationLayers from 4ce9838c233c to 7176ec2ec8b6 (1 revision)
2021-05-28 chromium-autoroll Roll Vulkan-ValidationLayers from 299187b140d1 to 4ce9838c233c (1 revision)
2021-05-28 chromium-autoroll Roll Vulkan-Tools from 4e4619ae690a to daa3490ea48a (1 revision)
2021-05-28 chromium-autoroll Roll Vulkan-ValidationLayers from 93883725f2d9 to 299187b140d1 (1 revision)
2021-05-28 chromium-autoroll Roll Vulkan-ValidationLayers from 3a5976ccf876 to 93883725f2d9 (2 revisions)
2021-05-28 chromium-autoroll Roll Vulkan-ValidationLayers from 8a22bcf6bf74 to 3a5976ccf876 (2 revisions)
2021-05-27 chromium-autoroll Roll glslang from 6fe560f74f47 to 6bdcb4be344d (1 revision)
2021-05-27 chromium-autoroll Roll SPIRV-Cross from ff61890722a9 to a6ce49ca2420 (1 revision)
2021-05-27 chromium-autoroll Roll SPIRV-Tools from 94f570d7aa88 to ec1bc3e2e567 (1 revision)
2021-05-26 chromium-autoroll Roll SPIRV-Tools from 00ce2bb474e8 to 94f570d7aa88 (1 revision)
2021-05-26 chromium-autoroll Roll Vulkan-ValidationLayers from 67b22bff6c6f to 8a22bcf6bf74 (3 revisions)
2021-05-26 chromium-autoroll Roll Vulkan-ValidationLayers from 527470176179 to 67b22bff6c6f (1 revision)
2021-05-25 chromium-autoroll Roll SPIRV-Tools from e2ac64bdf003 to 00ce2bb474e8 (1 revision)
2021-05-25 chromium-autoroll Roll SPIRV-Tools from 91931ffcd22a to e2ac64bdf003 (1 revision)
2021-05-24 chromium-autoroll Roll Vulkan-ValidationLayers from b0d5e59282a3 to 527470176179 (1 revision)
2021-05-24 chromium-autoroll Roll Vulkan-Tools from 72c2d5f0b0e5 to 4e4619ae690a (1 revision)
2021-05-24 chromium-autoroll Roll Vulkan-Loader from a132dee142c0 to 3bdb32d29f2d (1 revision)
2021-05-24 chromium-autoroll Roll Vulkan-ValidationLayers from c7cd7dd80597 to b0d5e59282a3 (1 revision)
2021-05-24 chromium-autoroll Roll Vulkan-ValidationLayers from 00cc43d56498 to c7cd7dd80597 (1 revision)
2021-05-24 chromium-autoroll Roll SPIRV-Tools from 0afe1f2b3fa2 to 91931ffcd22a (1 revision)
2021-05-24 chromium-autoroll Roll Vulkan-Headers from 9af411e83fb0 to 7fe877c90abf (1 revision)
2021-05-22 chromium-autoroll Roll SPIRV-Tools from f0d110e3058b to 0afe1f2b3fa2 (1 revision)
2021-05-21 chromium-autoroll Roll Vulkan-ValidationLayers from 9326420ac7ef to 00cc43d56498 (1 revision)
2021-05-21 chromium-autoroll Roll SPIRV-Cross from faec1a8643d2 to ff61890722a9 (1 revision)
2021-05-21 chromium-autoroll Roll Vulkan-ValidationLayers from bcc40ac73917 to 9326420ac7ef (1 revision)
2021-05-21 chromium-autoroll Roll SPIRV-Cross from 9ea0e8b859da to faec1a8643d2 (1 revision)
2021-05-21 chromium-autoroll Roll SPIRV-Cross from a6c951485604 to 9ea0e8b859da (1 revision)
2021-05-21 chromium-autoroll Roll SPIRV-Cross from 0214990e7caa to a6c951485604 (1 revision)
2021-05-21 chromium-autoroll Roll SPIRV-Cross from 418542eaefdb to 0214990e7caa (1 revision)
2021-05-21 chromium-autoroll Roll Vulkan-ValidationLayers from c8b831c8282e to bcc40ac73917 (1 revision)
2021-05-20 chromium-autoroll Roll glslang from e71278cc927f to 6fe560f74f47 (1 revision)
2021-05-20 chromium-autoroll Roll Vulkan-ValidationLayers from cf0476d422aa to c8b831c8282e (24 revisions)
2021-05-20 chromium-autoroll Roll Vulkan-ValidationLayers from 9c5f59d1777c to cf0476d422aa (2 revisions)
2021-05-19 chromium-autoroll Roll Vulkan-ValidationLayers from 27cda2ec97d6 to 9c5f59d1777c (8 revisions)
2021-05-19 chromium-autoroll Roll Vulkan-Tools from f89f72e10562 to 72c2d5f0b0e5 (4 revisions)
2021-05-19 chromium-autoroll Roll Vulkan-ValidationLayers from 0bbc61128c85 to 27cda2ec97d6 (1 revision)
2021-05-19 chromium-autoroll Roll Vulkan-ValidationLayers from 65bde5b6634a to 0bbc61128c85 (1 revision)
2021-05-19 chromium-autoroll Roll Vulkan-ValidationLayers from cfd1a0935879 to 65bde5b6634a (5 revisions)
2021-05-19 chromium-autoroll Roll Vulkan-ValidationLayers from db3f43f84989 to cfd1a0935879 (1 revision)
2021-05-18 chromium-autoroll Roll Vulkan-ValidationLayers from 1d86b3235b42 to db3f43f84989 (2 revisions)
2021-05-18 chromium-autoroll Roll glslang from 202c8abae0a3 to e71278cc927f (1 revision)

TBR=enga@chromium.org

Created with:
  roll-dep third_party/vulkan-deps

Change-Id: I5a00ff7e4ef3e6237d8a0ed92168c6506656de26
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55255
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-06-21 12:19:27 +00:00
Dawn Autoroller 3c82996a8c Roll Tint from e6d171ac66 to 663271dca4 (16 revisions)
https://dawn.googlesource.com/tint.git/+log/e6d171ac668e..663271dca4c3

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 alanbaker@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: alanbaker@google.com
Change-Id: Ib2f43d31c28ab4e0316566adedecb23364c9c9a9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55421
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-21 10:09:57 +00:00
Yan, Shaobo 55e08d567f CopyTextureForBrowser(): Support Alpha Ops
This CL adds the support ofwgpu::CopyTextureForBrowserOptions::alphaOps
for CopyTextureForBrowser(), which allows the user to specify the alpha
operations (DontChange, Premultiply, Unpremultiply) when calling
CopyTextureForBrowser().

BUG=chromium:1217153

Change-Id: Idb5dd4482b33f2ada9aafc24380afeb48f2e26bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54800
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
2021-06-21 10:05:37 +00:00
Ben Clayton e4f4a3711f wgsl: Disable broken tests
ShaderRobustnessPerf:
SPIRV-Cross apparently generates incorrect code for MSL and OpenGL, when
attempting to initialize workgroup memory. Disable these tests when not
running with use_tint_generator.

D3D12DescriptorHeapTest:
The UBO layout for a mat2x2 was incorrect, but the test relied upon this.
Temporarily disable the test so we can roll the fix.

Bug: dawn:945
Bug: dawn:946
Change-Id: I810249b26a8a0b583796c0ba63b8a703eb9540e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55248
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-06-21 07:55:57 +00:00
Dawn Autoroller cea106a1c2 Roll Tint from 567f2e4f3b to e6d171ac66 (7 revisions)
https://dawn.googlesource.com/tint.git/+log/567f2e4f3b08..e6d171ac668e

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 alanbaker@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: alanbaker@google.com
Change-Id: Idb157580f60a4cd68ae6a69ded9263f4f3368314
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55300
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-18 20:27:18 +00:00
Zhaoming Jiang f21d1f4d7a Refer TODO to Dawn issue 944
Refer the TODO in ShaderModuleBase::InjectCompilationMessages to
issue dawn:944 for further tracking.

Bug: dawn:753
Change-Id: I2ff09ba5914f2df0182bf26e9001a66782811f06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55223
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2021-06-18 16:46:40 +00:00
Dawn Autoroller aef81d7406 Roll Tint from e55e2109b3 to 567f2e4f3b (1 revision)
https://dawn.googlesource.com/tint.git/+log/e55e2109b33b..567f2e4f3b08

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 alanbaker@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: alanbaker@google.com
Change-Id: I06e2dab7ce751fa0c4ee4ce0391cd3d156d7eba3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55222
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-18 15:24:50 +00:00
Zhaoming Jiang fdc35e604e Emit tint warning when creating shader module
Add the formatted tint messages in OwnedCompilationMessages, which will be emit after creating the shader module succeeds of fails.
This patch also change the compilation messages handling in creating shader modules. Now the compilation messages are separated from sparseResult, and should be handled manually. A new method, ShaderModuleBase::InjectCompilationMessages, is introduced to move a given OwnedCompilationMessages into the shader module, and emit the formatted tint errors and warnings. This method should be called explicitly on a valid or error shader module.

Bug: dawn:753
Change-Id: I5825186c6d9c4aa7725aebd0c302bfce5e1f37cf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/53890
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-06-18 13:29:39 +00:00
Corentin Wallez bc245fcdef Roll third_party/swiftshader/ df17a7610..4a304244d (330 commits)
https://swiftshader.googlesource.com/SwiftShader/+log/df17a76102df..4a304244dd86

$ git log df17a7610..4a304244d --date=short --no-merges --format='%ad %ae %s'
2021-05-27 mikko.tiusanen Skip wait on already signalled timeline semaphore
2021-06-02 jari.komppa Remove assert to enable indexless access chains
2021-06-17 sugoi Increase maximum framebuffer size
2021-06-15 pkasting Fix -Wdeprecated-copy.
2021-06-15 capn Disable -warn-stack-size for LLVM older than version 12
2021-06-15 capn Regres: Fix testing external contributions if reviewed by Googler
2021-06-10 nicolascapens Revert "Remove git submodules before rolling into Android"
2021-06-07 srisser Prevent BC6h decoder from using global constructor
2021-06-08 swiftshader.regress Regres: Update test lists @ 3da42a3a
2021-06-07 swiftshader.regress Regres: Update test lists @ efe254de
2021-06-03 capn Remove git submodules before rolling into Android
2021-02-20 capn Value-initialize all vk::GraphicsState members
2021-05-20 capn Explicitly initialize VkSpecializationInfo fields
2021-05-31 srisser Make clang-format-all.sh only look at source files
2021-05-27 srisser Pass unclamped fragcoord.z to shader
2021-05-29 capn Regres: Roll dEQP to 1.2.6-master revision 8010f59
2021-05-29 swiftshader.regress Regres: Update test lists @ 21f81124
2021-05-26 capn Regres: Use 'default' dEQP target and skip GLES daily tests
2021-05-27 srisser Update git-hooks to latest revision
2021-05-27 capn Marl: Suppress MemorySanitizer false-positive
2021-05-25 srisser Bring git-hooks in as a submodule
2021-05-26 capn Regres: Recursively load chunked mustpass lists
2021-05-25 chonggu Update references for ANGLE submodule
2021-05-22 swiftshader.regress Regres: Update test lists @ cbfa971a
2021-05-20 johnstiles Revert "Fix error in mat4x2(scalar) construction."
2021-01-29 capn Update llvm::ConstantVector::getSplat() usage to take ElementCount
2021-05-18 srisser Make fragDepth clamping conditional
2021-05-20 swiftshader.regress Regres: Update test lists @ bbe1b996
2021-05-19 johnstiles Fix error in mat4x2(scalar) construction.
2021-05-18 srisser Remove assert on unrestricted depth range
2021-05-10 srisser Fix EmitImageWrite using wrong active lane mask
2021-05-10 capn Update Android build files with license info
2021-05-14 capn Unpoison Reactor Call() arguments when MSan instrumentation is disabled
2021-05-13 capn Update Vulkan headers to version 1.2.178
2021-05-12 capn Work around MemorySanitizer scalar SSE false positives
2021-05-12 capn Work around MemorySanitizer movmsk false positives
2021-05-11 swiftshader.regress Regres: Update test lists @ dcb33711
2021-05-07 srisser Allow unrestricted depth bounds
2021-05-05 srisser Make clang-format-all.sh git aware
2021-05-07 sugoi Reduce size of SampledImageDescriptor
2021-05-07 sugoi Obtain all sampler parameters through SamplingRoutineCache::Key
2021-05-06 swiftshader.regress Regres: Update test lists @ 04c037ac
2021-05-06 sugoi Revert "Obtain all sampler parameters through SamplingRoutineCache::Key"
2021-04-09 srisser Implement depthClamp
2021-04-19 srisser Implement VK_EXT_depth_clip_enable
2021-02-19 sugoi Obtain all sampler parameters through SamplingRoutineCache::Key
2021-02-16 sugoi Obtain ImageView state uniquely from its identifier
2021-04-28 sugoi Silence warning for MacOS
2019-12-13 capn Format switch statements consistently
2021-04-20 capn Fix pedantic Clang warning/error
(...)
2020-11-02 capn Implement MemorySanitizer instrumentation of Reactor routines
2020-08-25 nicolascapens Fix backslash interpreted as part of URL
2020-10-26 srisser Implement VK_KHR_shader_float_controls
2020-11-10 amaiorano Subzero: clang-format crosstest, pnacl-llvm, runtime, and unittest
2020-11-10 amaiorano Subzero: clang-format src
2020-11-02 capn Fix LLVM host triple for ORCv2 JIT
2020-11-11 srisser Add SPIR-V tools dependency to BUILD.gn files
2020-11-10 natsu Fix Android build
2020-11-06 amaiorano Add a unit test for bug fixed by swiftshader-cl/50008
2020-11-09 srisser Track SPIR-V version in VkConfig.hpp
2019-04-24 vhau Modify gralloc0 implementation
2020-11-05 jaebaek SpirvShaderDebugger: Correct member index for DebugValue
2020-11-05 capn Fix Android.bp build after SPIRV-Tools update
2020-11-04 amaiorano Subzero: fix invalid arg access on Windows x86 for split variables
2020-11-03 amaiorano Subzero: fix non-deterministic stack layout and code-gen
2020-11-05 srisser Squashed 'third_party/SPIRV-Tools/' changes from f7da52775..a61d07a72
2020-11-04 capn Fix Vulkan benchmarks build
2020-10-02 capn Fix unaligned access on depth values
2020-11-02 capn Fix LLVM alloca array size type
2020-11-02 capn Resolve MSan symbols dynamically
2020-11-02 capn Switch Chromium/Fuchsia to use the LLVM ORCv2 JIT
2020-11-03 nicolascapens Clarify the ICD/loader compatibility
2020-11-03 swiftshader.regress Regres: Update test lists @ b5bf8269
2020-11-03 capn Set LLVM_ENABLE_ABI_BREAKING_CHECKS for Debug builds only
2020-10-30 jari.komppa Add script to verify proper Memset template use
2020-11-02 capn Set the LLVM module's target triple
2020-10-30 capn Consistently remove double colon from llvm namespace
2020-10-30 capn Emulate gather/scatter for MSan builds
2020-10-30 capn Prevent 'most vexing parse' issue
2020-11-02 sugoi Squashed 'third_party/SPIRV-Tools/' changes from 82b378d671..f7da527757
2020-10-23 amaiorano Subzero: fix Ice::BitVector::grow not copying old to new data
2020-10-30 jari.komppa Ignore third party libraries during presubmit
2020-10-28 jari.komppa Add check for vtable in memset template
2020-10-29 sugoi Squashed 'third_party/SPIRV-Tools/' changes from 8a5500656..82b378d67
2020-10-29 sugoi Squashed 'third_party/SPIRV-Headers/' changes from 979924c8b..7845730ca
2020-10-23 capn Fix LLVM pointer element type
2020-10-29 capn Avoid false-positive MSan error for thread_local
2020-10-29 capn Squashed 'third_party/marl/' changes from f1c446ccd..3285a2dfb
2020-10-28 capn Temporarily support both ORCv1 and ORCv2
2020-10-26 amaiorano Apply google3 upstream fixes for latest LLVM
2020-10-22 amaiorano LLVMJIT: fix asserts in latest LLVM
2020-10-08 capn Support MemorySanitizer builds with CMake
2020-10-15 srisser Implement VK_KHR_shader_subgroup_extended_types
2020-10-19 srisser Update VkStringify to use vulkan.hpp to_string
2020-10-21 bclayton LLVMJIT: Fix memory leak
2020-10-10 natsu Update SwiftShader VK AHB to support generic gralloc
2020-10-21 amaiorano Fix when built against latest LLVM (11)
2020-10-20 amaiorano Fix Android build
2020-10-19 amaiorano Subzero: workaround bad codegen for Windows x86 at Om1 optimization level
2020-10-19 bclayton LLVM: Replace legacy ORC JIT with new API

TBR=kainino@chromium.org

Created with:
  roll-dep third_party/swiftshader

Change-Id: I2be40936d266442f76e88092b806bd7d74c35257
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55242
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-06-18 13:26:40 +00:00
Dawn Autoroller 5746f7fceb Roll Tint from 944c5617ca to e55e2109b3 (30 revisions)
https://dawn.googlesource.com/tint.git/+log/944c5617caa6..e55e2109b33b

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 alanbaker@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: alanbaker@google.com
Change-Id: Ie0736f7af864d4de9f72d17600a4d4b527829996
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55220
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-18 10:32:34 +00:00
Corentin Wallez 3a3952c4f5 Suppress ShaderRobustnessPerf when using Tint + FXC
Also tighten previous suppressions to only apply when using the Tint
generator.

TBR=bclayton@google.com

Bug: tint:904
Change-Id: I22210227c428eb38901904966ec2c3bd70ce607b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55200
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-06-18 08:52:12 +00:00
Yunchao He aee22d142b Implement copies b/w 3D and 2DArray textures on D3D12
Copies between 3D and 2DArray textures need to be done depth/array
slice by slice via CopyTextureRegion() API on D3D12 because this
API can copy one single subresource every time.

However, if both src and dst textures are 3D texture, we can copy
all depth slices in one shot, which is a fast path for this
copy scenario.

Bug: dawn:547

Change-Id: I950ed58319fb0f30dfc8a2de3e57e8a64406f7e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55140
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-06-18 07:44:12 +00:00
Corentin Wallez b86e45f8ca Omit types in most WGSL `var` statements.
Bug: None
Change-Id: Id6ed10d98a550d912784b688c5473f67f1889a8c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54882
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-06-17 21:36:11 +00:00
Ben Clayton fecd5a5977 wgsl: Suppress all VertexFormatTests when using FXC
Disabling the one test clearly wasn't enough

Bug: tint:904
Change-Id: I23f448d2f3028fff13e4eb406b08a7175166ea9d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/55100
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com>
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com>
2021-06-17 20:54:15 +00:00
Corentin Wallez 95aa7c5b29 Add SetIndex/VertexBuffer offset argument alignment constraints
The vertex buffer alignment in particular is helps make the
implementation of programmable pulling much easier on Metal since the
vertex data will be able to be represented as array<u32>.

Bug: dawn:805
Change-Id: I2bf2742db3b8fa478be620c892925b8b75dc514c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54659
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2021-06-17 17:48:45 +00:00
Corentin Wallez 75f554d973 WireCmd: disallow optional members with length="otherMember"
This didn't make sense since these members can be specified to have no
data by setting the length to 0.

 - Prevent uses of this patten by adding an assert in WireCmd.cpp's
   generator.
 - Fix SetBindGroup dynamicOffset to not be optional but default to
   nullptr instead.

This issues would cause a read of uninitialized pointers becaus the
generator code looked like this:

  SetBindGroupCmd cmd;
  cmd.dynamicOffsetCount = record.dynamicOffsetCount; // 1
  bool has_dynamicOffset = record.has_dynamicOffsetl // false
  if (has_dynamicOffset) {
    cmd.dynamicOffsets = ...;
  }
  // Oh no! dynamicOffsets contains garbage even if dynamicOffsetCount
  // is set to 1. dawn_native will happily read it.

Bug: chromium:1220036
Change-Id: I5c468b639f671cef3be2fa64667a0bf114fc902b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54643
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-06-17 16:04:29 +00:00
Ben Clayton 36edf8d850 wgsl: Fixes for new validation failures
Values of array and matrix can now only be indexed by a constant value.
Dynamic indexing requires the value to be held in memory.

See: https://github.com/gpuweb/gpuweb/issues/1782

Bug: tint:867
Change-Id: I2b9ad6e40fc8121e7aca3a71c190639b39b0b862
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54652
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
2021-06-17 11:25:09 +00:00
James Price dcb82432fb Metal: Remap vertex buffers when using Tint
Otherwise bindings with non-zero groups get through to the Tint MSL
backend and break assumptions.

Bug: tint:104, dawn:571
Change-Id: I8d95ba142a386ff0d992ffe5f88a7acf93057ce1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54960
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-06-17 08:08:58 +00:00
Yunchao He 5b6c1ebce7 Enable CopySplitTests unittests for 3D texture copy splitter on D3D12
CopySplitTests unittests were added for 2D texture copy splitter.
Now that we have added 3D texture copy splitter recently, it's time
to enable these unittests for 3D texture copy splitter.

This change enables the CopySplitTests unittests for 3D texture copy
splitter, with some fixes:
  - Footprint depends on bufferOffset and copySize, not bufferSize,
  - Copy regions overlap validation incorrectly added 1 extra pixel,
  - For 2D texture copy regions, there is one empty row at most in
    a copy region. However, it is not true for 3D texture copy
    regions when we are copying the last row of each slice.

It also adds a few more tests for 3D texture copy splitter when the
copySize.height is 1 and there is an empty row in the copy region.

Bug: dawn:547

Change-Id: I5381993ed5c656da0f82395e7c7bccc54d784767
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54500
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-06-17 03:22:48 +00:00
Yunchao He 9288ea605d Fix a bug in 3D texture copy splitter for D3D12
TextureOffset should respect both origin and copySize when we are
addressing the empty first row issue. So textureOffset in copy 1
should just move/add (copySize.height - blockInfo.height) rows
in order to copy the last row of all depth slices but the last one.

Bug: dawn:547

Change-Id: I6a1acf656651869c8934897d5c7e8974f1a5eb9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54441
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-06-17 02:36:48 +00:00
Ben Clayton cd417bc9a1 Disable test where FXC emits bad output
Bug: tint:904
Change-Id: Ibefd0d83914e39b5a2db942153f183e6f334fcc8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54880
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2021-06-16 20:18:08 +00:00
James Price ff7eb1641e Metal: Run vertex pulling when using Tint
The config was already being set, but the transform itself was not
being added to the manager.

Bug: dawn:571
Change-Id: I850d5b0f37635598427b4a3a3285d243b89fad46
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54721
Commit-Queue: James Price <jrprice@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-06-16 16:58:39 +00:00
James Price 142108fc8e Metal: Remap resource bindings when using Tint
Use the BindingRemapper transform to remap resources binding numbers
to the indices chosen in the pipeline layout.

Bug: dawn:571
Change-Id: I548f063f09970222dea289f05285764fc3ea1b46
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54520
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-06-16 15:42:59 +00:00
Li Hao b936d23364 Implement internal storage for buffer usage and buffer binding type
In the timestamp internal pipeline, the ResolveQuery buffer cannnot be
binded as Storage buffer in binding group layout due to it has not
Storage usage.
Add InternalStorageBuffer for buffer usage and
InternalStorageBufferBinding for buffer binding type, make the
QueryResolve buffer implicitly get InternalStorageBuffer and only
compatible with InternalStorageBufferBinding in BGL, not Storage buffer
binding type.

Bug: dawn:797
Change-Id: I286339e703e26d3786c706ded03f850ca17355fb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54400
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2021-06-16 14:33:27 +00:00
Dawn Autoroller 46ed96336a Roll Tint from 4daac0e64b to 944c5617ca (4 revisions)
https://dawn.googlesource.com/tint.git/+log/4daac0e64b34..944c5617caa6

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 alanbaker@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: alanbaker@google.com
Change-Id: I464223dafe7e68e1b17ca412afa913df0e1ef701
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54683
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-16 03:45:18 +00:00
Dawn Autoroller b03adf3747 Roll Tint from 3184544182 to 4daac0e64b (1 revision)
https://dawn.googlesource.com/tint.git/+log/3184544182de..4daac0e64b34

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 alanbaker@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: alanbaker@google.com
Change-Id: Ie00e0d54e1b3d317fedc5c07548f2f7965077bea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54682
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-15 22:41:38 +00:00
Dawn Autoroller 7d17f0e0ff Roll Tint from d80bb9d997 to 3184544182 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/d80bb9d997dd..3184544182de

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 alanbaker@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: alanbaker@google.com
Change-Id: I0bdbee1050610decd435515284859bc2d6ce4918
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54681
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-15 17:47:48 +00:00
Dawn Autoroller eb96a5284f Roll Tint from 1a14f2093c to d80bb9d997 (1 revision)
https://dawn.googlesource.com/tint.git/+log/1a14f2093c61..d80bb9d997dd

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 alanbaker@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: alanbaker@google.com
Change-Id: If03c4277ba3dad489f96fd7152e170fe81cf888e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54680
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-15 11:48:57 +00:00
Dawn Autoroller 9dc36cadc9 Roll Tint from 9ac271371e to 1a14f2093c (1 revision)
https://dawn.googlesource.com/tint.git/+log/9ac271371e81..1a14f2093c61

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 alanbaker@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: alanbaker@google.com
Change-Id: I40f420ee70c39999650ce6241d72f3cf6f2e2d42
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54624
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-15 00:52:17 +00:00
Dawn Autoroller 6500481db9 Roll Tint from 3dbfbc9460 to 9ac271371e (5 revisions)
https://dawn.googlesource.com/tint.git/+log/3dbfbc946076..9ac271371e81

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 alanbaker@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: alanbaker@google.com
Change-Id: I149ea99dcc6fd2ae9eac4946bb24670fb0221a33
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54622
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-14 19:54:07 +00:00
Ryan Harrison 8c584a1f4c Make usage of overridable constants a validation error
This feature is not yet implemented in Tint and it not planned for OT.

BUG=dawn:799

Change-Id: Ib97dcd39e8ae956aa6fdc4cc1b148ec7f101b061
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54280
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-06-14 19:07:17 +00:00
Ryan Harrison 3a9174a4c9 Revert "Enable Tint running Dawn try jobs on its CQ"
This reverts commit f102e1138b.

Reason for revert: Continuing to get permissions issues

Original change's description:
> Enable Tint running Dawn try jobs on its CQ
>
> Set ACLs to allow calling the builders and create uniquely named
> builders, so there isn't a name collision.
>
> BUG=tint:734
>
> Change-Id: Ic3e61eac6fcc2f097f8be778abaecde642bdd665
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54100
> Auto-Submit: Ryan Harrison <rharrison@chromium.org>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: tint:734
Change-Id: I5d7688771b83a97493ecbfaafed54fa817a25ade
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54564
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
2021-06-14 17:32:52 +00:00
Dawn Autoroller 39ec1b7d3c Roll Tint from 906c9cafbb to 3dbfbc9460 (1 revision)
https://dawn.googlesource.com/tint.git/+log/906c9cafbb95..3dbfbc946076

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 jrprice@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: jrprice@google.com
Change-Id: Ibfd9ee61508696707ff7402ae1cb41e350deab37
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54540
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-14 09:58:52 +00:00
James Price 6681114e5e Update usage of arrayLength() intrinsic
The runtime array parameter is now passed as a pointer, instead of by
value.

Change-Id: I632814d2a2890dbe4476c2b01023a5ff8de42d21
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54485
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-06-14 08:39:02 +00:00
Dawn Autoroller 2ee28d304f Roll Tint from c58738a49e to 906c9cafbb (22 revisions)
https://dawn.googlesource.com/tint.git/+log/c58738a49eda..906c9cafbb95

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 jrprice@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: jrprice@google.com
Change-Id: Ibf89c12085d1c7f07eda7c189f5e77a271d0ffea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54445
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-12 02:16:05 +00:00
Corentin Wallez 5a53eb3113 Validate that DS attachment must cover all aspects of the texture.
It isn't clear if this should be a limitation of the WebGPU
specification. Until further investigation is done, disallow it in Dawn
to avoid undefiend behavior.

Bug: dawn:812
Change-Id: Iab8208f1ea479263b08ede41374ce1a680ce191e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/53387
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-06-11 14:25:29 +00:00
Ben Clayton 6133e5cf3d Wrap call stmts with non-void rets, with ignore()
We have a new validation rule that states that all calls to functions that return a value must use that value. ignore() is the escape hatch.

Bug: tint:886
Change-Id: I9ab8d288b3c54ad4b7e46feda129c36c9136c20b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54200
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-06-11 14:01:29 +00:00
Ryan Harrison f102e1138b Enable Tint running Dawn try jobs on its CQ
Set ACLs to allow calling the builders and create uniquely named
builders, so there isn't a name collision.

BUG=tint:734

Change-Id: Ic3e61eac6fcc2f097f8be778abaecde642bdd665
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54100
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-06-11 08:43:35 +00:00
Yunchao He 74f0c02044 Refactor CopySplitTests.cpp in unittest D3D12
The log output code snippet duplicates again and again in this test.
So this change put it into a function and all tests can call that
function without duplicated code. It names the new function as
DoTest(), which calls DoTest2D() (the original DoTest()). The new
function can add DoTest3D() into the test in order to test 3D
texture splitter if needed and all tests don't need to change
anything.

It also removes TexelBlockInfo instance in DoTest2D(), which provide
no new info, just as Origin3D instance (for origin) and Extent3D
instance (for copySize).

Bug: dawn:547

Change-Id: I668682c5bdbae56dcdc8cf0e232f27233e17b883
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/54221
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2021-06-10 17:04:04 +00:00
Austin Eng f8a0f82fad Move zero-size copy skips from the frontend to the backend
Bug: chromium:1217741
Change-Id: Ib4884b5aa80124ed9da48262fcae11cf6d605034
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/53883
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-06-10 02:40:18 +00:00