This is needed to roll Tint into Dawn, and makes sense for this to be
optional anyway.
Bug: tint:387
Change-Id: Ia3a42f8add36dfba954dd0a5e06f2f84d8e95464
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55684
Commit-Queue: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This reverts commit 7fc0c0519af2b695a6da3738596e8d1f7323e43f.
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>
This fixes the SPIR-V and MSL tests for these intrinsics.
Change-Id: Id6f48682285ff17cb1fa7ef618f34b02f553332b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55681
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
The feature is not yet finished in WGSL.
Fixed: tint:804
Change-Id: I5268126f68316e57ee60d099f2000223703845df
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55500
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: David Neto <dneto@google.com>
The CanonicalizeEntryPointIO transform now takes an optional config
option for a fixed sample mask. If there was no sample mask in the
authored shader, add one and return the fixed mask, otherwise AND the
fixed mask with the authored value.
Add a config option to the MSL sanitizer to receive a fixed sample
mask and pass it through to CanonicalizeEntryPointIO.
Bug: tint:387
Change-Id: I1678d915b19a718005d5832c5d624809ee432587
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55520
Auto-Submit: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This reverts commit 48183b8f58a293d3eaf5f9eec72519bf60e5df85.
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>
This reverts commit 6330260f7d0e7322d1162fdd84ff2e6a8db76ab9.
Reason for revert: Need by this CL which was also reverted:
https://dawn-review.googlesource.com/c/tint/+/55402
Original change's description:
> Validate that in/out storage classes are not used
>
> Use a DisableValidationDecoration to allow these storage classes only
> for variables generated by the SPIR-V sanitizer.
>
> Fix or delete all of the tests that were wrongly using these storage
> classes.
>
> Bug: tint:697
> Change-Id: Ife1154f687b18529cfcc7a0ed93407fd25c9868e
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55404
> Reviewed-by: Ben Clayton <bclayton@google.com>
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Auto-Submit: James Price <jrprice@google.com>
> Commit-Queue: James Price <jrprice@google.com>
TBR=bclayton@google.com,jrprice@google.com,noreply+kokoro@google.com,tint-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I54db99d6d0fdf28c27a1f2b9858b84f5cd197409
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: tint:697
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55660
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
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>
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>
This reverts commit 055901b3cd406c6f3d35a331813f2674a604839a.
Reason for revert: Is causing a *lot* of test failures in the tint -> dawn roll
Original change's description:
> inspector: Remove legacy shader IO support
>
> Bug: tint:697
> Change-Id: Ifa01fa459daa5c2f4b47833cd14ea1b303455c34
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55402
> Reviewed-by: Ben Clayton <bclayton@google.com>
> Commit-Queue: James Price <jrprice@google.com>
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Auto-Submit: James Price <jrprice@google.com>
TBR=rharrison@chromium.org,bclayton@google.com,jrprice@google.com,noreply+kokoro@google.com,tint-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I692a09eeda8e9e7271f032aa6d4cf0630d54c26a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: tint:697
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55580
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
VectorInsertDynamic normaly inserts a temporary variable.
But if the source vector is already a hoisted variable, then
reuse that instead. This avoids defining the same name twice.
Bug: tint:804
Change-Id: I69c20c11d462c148261bb0646db698dc7850495d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55362
Auto-Submit: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Use a DisableValidationDecoration to allow these storage classes only
for variables generated by the SPIR-V sanitizer.
Fix or delete all of the tests that were wrongly using these storage
classes.
Bug: tint:697
Change-Id: Ife1154f687b18529cfcc7a0ed93407fd25c9868e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55404
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
Composite insert normally inserts a temporary variable.
But if the composite value is already a hoisted variable,
then reuse that instead. This avoids defining the same name twice.
Also add AddressOfIfNeeded and use it when processing the operand
of an OpCopyObject or when making a let-declaration. Only take the
address in these cases when the corresponding SPIR-V type is a
pointer.
Bug: tint:804
Change-Id: I44f4289a557db919d8f1805e187a9b2a95c1efe0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55361
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
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>
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>
Also remove the unreachanble constructor logic in EmitHandleVariable.
Variables of the handle storage class cannot have initializers.
Fixed: tint:173
Change-Id: I7c997a8b6a70308ff9b5c42fa1198810ee365bac
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55258
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
We shouldn't be calculating array strides with the packed element size.
Bug: tint:180
Bug: tint:649
Bug: tint:898
Change-Id: Ifa23517480435610b20c1597c2fc2c2837f4280a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55257
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Remove special case handling of pointers and values related
to builtins SampleId, VertexIndex, and InstanceIndex.
These map to private variables with store type matching the
type stated in the SPIR-V code. There is no need to generate
special case code for user-written functions accessing those variables.
Therefore:
- Remove SkipReason enums associated with those builtin inputs
- Remove newly unreachable code.
Bug: tint:508
Change-Id: I22ea86d49e14f171a92863d9f02145606ad37683
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55321
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: David Neto <dneto@google.com>
Varaibles can infer types now, in which case the type_ field is null.
Fixed: chromium:1221120
Change-Id: I0cb2a6a2e8128c56625f48940cf73cf4cadb22ce
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55252
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
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>
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>
Inline the `continuing` block in the places where `continue` is called.
Simplifies the emission, and fixes emission of `let` statements in the loop.
This fix matches the same approach in writer/hlsl.
See: https://dawn-review.googlesource.com/c/tint/+/51784
Fixed: tint:833
Fixed: tint:914
Change-Id: If4d8cde62dfaf8efa24272854ca7ff5edc0a8234
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55341
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
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>
Mostly just deleting unneeded code, and a few additional cleanups as a
result.
Bug: tint:697
Change-Id: I31ceea93feb34994f51a1b6d294a35cf0c127447
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55282
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Generate a uniform buffer that will receive the lengths of all storage
buffers, and use this to implement calls to arrayLength(). The
transform is provided with a set of mappings from storage buffer
binding points to the corresponding index into the array of buffer
lengths. The transform reports whether it generated the uniform
buffers or not.
Use this transform from the MSL sanitizer, using the binding number as
the index into the array. This matches the behavior of spirv-cross,
and so works with how Dawn already produces this uniform buffer.
Bug: tint:256
Change-Id: I2682d2d024e8daa30f78270b8cfb6bbb32632133
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54480
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Zero the workgroup memory for all backends.
We can probably disable this for the backends that support workgroup zeroing, but that's an optimization we can perform later.
Fixed: tint:280
Change-Id: I9cad919ba3a15b8cedfe6939317d1f6b95425453
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55244
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: James Price <jrprice@google.com>
Zero initializes all referenced workgroup storage classed variables used by each entry point.
Bug: tint:280
Fixed: tint:911
Change-Id: I3fca26a10f015f08fedef404720bbe6fd7b343a9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55243
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: James Price <jrprice@google.com>
Instead of a ConstantBuffer.
HLSL requires that each structure field in a UBO is 16 byte aligned.
WGSL has much looser constraints with its UBO field alignment rules.
Instead generate an array of uint4 vectors, and index into this, much
like we index into [RW]ByteAddressBuffers for SSBOs.
Extend the DecomposeStorageAccess transform to support uniforms too.
This has been renamed to DecomposeMemoryAccess.
Change-Id: I3868ff80af1ab3b3dddfbf5b969724cb87ef0744
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55246
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
If during clone, we register a type, function or global declaration, we could end up with the declaration held twice by the AST Module.
AST nodes must only be referenced once.
Change-Id: I5c517699ea80422800639088b97a50ba9ac27b70
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55245
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>