This is used by Visual Studio's CMake integration. I've added configs
for targeting x64 and x86, Debug and Release, as well as the Clang
(clang-cl) variants. Choosing a Clang variant will prompt the user to
install Visual Studio's clang-cl support via the installer.
Change-Id: I6cc33ea8a3c5dced8df476d72629fdec5044663b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44883
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Auto-Submit: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This change validates that the operand types and result type of every
binary operation is valid.
* Added two unit tests which test all valid and invalid param combos. I
also removed the old tests, many of which failed once I added this
validation, and the rest are obviated by the new tests.
* Fixed VertexPulling transform, as well as many tests, that were using
invalid operand types for binary operations.
Fixed: tint:354
Change-Id: Ia3f48384256993da61b341f17ba5583741011819
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44341
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
https://chromium.googlesource.com/vulkan-deps/+log/23a4efc36ed9..105af117f053
$ git log 23a4efc36..105af117f --date=short --no-merges --format='%ad %ae %s'
2021-03-15 chromium-autoroll Roll Vulkan-Tools from d1cd2653949d to 27c21248221f (1 revision)
2021-03-15 chromium-autoroll Roll Vulkan-ValidationLayers from f648a59e1c73 to 053e2bf22dd2 (3 revisions)
2021-03-15 chromium-autoroll Roll glslang from a36d91e5acdb to b2e5b5c559e1 (1 revision)
2021-03-14 chromium-autoroll Roll SPIRV-Tools from 9e93b165c7ac to 478754c00537 (2 revisions)
2021-03-12 chromium-autoroll Roll SPIRV-Cross from 2e000a0be4d2 to 84d1f8aa2a40 (1 revision)
2021-03-12 chromium-autoroll Roll SPIRV-Cross from 60aa24566e01 to 2e000a0be4d2 (1 revision)
2021-03-12 chromium-autoroll Roll SPIRV-Tools from 5d8c40399e1a to 9e93b165c7ac (1 revision)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from 6678fcd67ed8 to f648a59e1c73 (1 revision)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from 46674d1c7a49 to 6678fcd67ed8 (2 revisions)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from 8b29a083c140 to 46674d1c7a49 (1 revision)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from be60dd27b119 to 8b29a083c140 (1 revision)
2021-03-11 chromium-autoroll Roll SPIRV-Tools from 77eb2b608e0c to 5d8c40399e1a (1 revision)
2021-03-10 chromium-autoroll Roll glslang from 84e11a858c55 to a36d91e5acdb (1 revision)
2021-03-10 chromium-autoroll Roll SPIRV-Tools from f7cf3ec2a5f6 to 77eb2b608e0c (1 revision)
2021-03-10 chromium-autoroll Roll Vulkan-Tools from 461b33cfa272 to d1cd2653949d (1 revision)
2021-03-10 chromium-autoroll Roll Vulkan-Loader from 237d3dcb5c67 to 1353e80d87b4 (1 revision)
2021-03-10 chromium-autoroll Roll SPIRV-Tools from 1746ed39d5b9 to f7cf3ec2a5f6 (1 revision)
2021-03-10 chromium-autoroll Roll SPIRV-Tools from 4a59fd47634f to 1746ed39d5b9 (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from 6fdf3d02d2be to be60dd27b119 (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from c0eb52829fe1 to 6fdf3d02d2be (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from d093e529c0e1 to c0eb52829fe1 (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from d1de19fea50f to d093e529c0e1 (1 revision)
2021-03-09 chromium-autoroll Roll SPIRV-Cross from fb1f295aaf40 to 60aa24566e01 (1 revision)
2021-03-09 chromium-autoroll Roll SPIRV-Tools from c6da5e343c60 to 4a59fd47634f (1 revision)
2021-03-09 chromium-autoroll Roll SPIRV-Cross from d57ab68a2198 to fb1f295aaf40 (3 revisions)
2021-03-09 chromium-autoroll Roll glslang from e3182379bab6 to 84e11a858c55 (1 revision)
2021-03-08 chromium-autoroll Roll glslang from c7c7982ebee9 to e3182379bab6 (1 revision)
2021-03-08 chromium-autoroll Roll Vulkan-ValidationLayers from bda4a85219e3 to d1de19fea50f (1 revision)
2021-03-08 chromium-autoroll Roll Vulkan-ValidationLayers from 2ece8add63fe to bda4a85219e3 (1 revision)
2021-03-08 chromium-autoroll Roll SPIRV-Tools from e6a9f4e4306a to c6da5e343c60 (1 revision)
2021-03-08 chromium-autoroll Roll glslang from 159b05708055 to c7c7982ebee9 (1 revision)
2021-03-08 chromium-autoroll Roll Vulkan-ValidationLayers from faa7a526b033 to 2ece8add63fe (2 revisions)
2021-03-08 chromium-autoroll Roll Vulkan-Headers from 4fe5828a0295 to 89d366355e6f (1 revision)
2021-03-05 chromium-autoroll Roll Vulkan-ValidationLayers from 392ba9fe7c98 to faa7a526b033 (4 revisions)
2021-03-05 chromium-autoroll Roll Vulkan-ValidationLayers from 0ec2c7a6935a to 392ba9fe7c98 (2 revisions)
2021-03-05 chromium-autoroll Roll SPIRV-Tools from 7d514cf1c7ab to e6a9f4e4306a (1 revision)
2021-03-05 chromium-autoroll Roll SPIRV-Tools from f7043c0de671 to 7d514cf1c7ab (1 revision)
2021-03-04 chromium-autoroll Roll Vulkan-ValidationLayers from a4cb494beeca to 0ec2c7a6935a (1 revision)
2021-03-03 chromium-autoroll Roll SPIRV-Tools from 43cfa9bc1ddb to f7043c0de671 (1 revision)
2021-03-03 chromium-autoroll Roll Vulkan-Tools from 88ea55de928a to 461b33cfa272 (2 revisions)
2021-03-03 chromium-autoroll Roll Vulkan-ValidationLayers from 030089e86335 to a4cb494beeca (2 revisions)
2021-03-03 chromium-autoroll Roll Vulkan-ValidationLayers from 79f0658e9fba to 030089e86335 (1 revision)
2021-03-03 chromium-autoroll Roll SPIRV-Tools from 939bc0260393 to 43cfa9bc1ddb (1 revision)
2021-03-03 chromium-autoroll Roll Vulkan-ValidationLayers from b95891b0b187 to 79f0658e9fba (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-ValidationLayers from 476f5e2a9f65 to b95891b0b187 (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-Loader from c5678a03db38 to 237d3dcb5c67 (2 revisions)
2021-03-02 chromium-autoroll Roll SPIRV-Tools from 0bd920eb9d44 to 939bc0260393 (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-Headers from c428484bc886 to 4fe5828a0295 (1 revision)
2021-03-02 chromium-autoroll Roll glslang from 0eca4130929e to 159b05708055 (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-ValidationLayers from bbe724bcf140 to 476f5e2a9f65 (1 revision)
2021-03-01 chromium-autoroll Roll glslang from 42ddfbd3d555 to 0eca4130929e (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-Headers from ac1702076683 to c428484bc886 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from bc87f06a1718 to bbe724bcf140 (5 revisions)
2021-03-01 chromium-autoroll Roll glslang from e04a046ce7c2 to 42ddfbd3d555 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from bf6f9a33cff0 to bc87f06a1718 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from 9b741d501968 to bf6f9a33cff0 (2 revisions)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from 94d71a5691b3 to 9b741d501968 (1 revision)
2021-03-01 chromium-autoroll Roll SPIRV-Tools from d28186db93d8 to 0bd920eb9d44 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-Headers from a6a971aa64b3 to ac1702076683 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-Headers from 1d99b835ec3c to a6a971aa64b3 (1 revision)
2021-02-27 chromium-autoroll Roll glslang from 3839066ee47a to e04a046ce7c2 (2 revisions)
2021-02-26 chromium-autoroll Roll glslang from 51d672b8a831 to 3839066ee47a (1 revision)
2021-02-26 chromium-autoroll Roll Vulkan-ValidationLayers from 4fdcd0eebfed to 94d71a5691b3 (2 revisions)
2021-02-26 chromium-autoroll Roll SPIRV-Tools from ef3290bbea35 to d28186db93d8 (1 revision)
2021-02-26 chromium-autoroll Roll SPIRV-Cross from 621884d70917 to d57ab68a2198 (1 revision)
2021-02-25 chromium-autoroll Roll Vulkan-ValidationLayers from 17708d0dc52f to 4fdcd0eebfed (1 revision)
2021-02-25 chromium-autoroll Roll glslang from 00c6d2d4a71c to 51d672b8a831 (1 revision)
2021-02-25 chromium-autoroll Roll glslang from 9801a9e42aeb to 00c6d2d4a71c (1 revision)
2021-02-24 chromium-autoroll Roll Vulkan-ValidationLayers from b1bf16e1c847 to 17708d0dc52f (2 revisions)
2021-02-24 chromium-autoroll Roll glslang from 2e99822c148c to 9801a9e42aeb (1 revision)
2021-02-24 chromium-autoroll Roll Vulkan-ValidationLayers from 521bc47360bf to b1bf16e1c847 (2 revisions)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from b1c48517987f to 521bc47360bf (3 revisions)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from dd3e73f3a025 to b1c48517987f (2 revisions)
2021-02-23 chromium-autoroll Roll glslang from 6f7a8ebf76cb to 2e99822c148c (1 revision)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from 0d7751a78305 to dd3e73f3a025 (1 revision)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from 9ce7c8e67684 to 0d7751a78305 (3 revisions)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from 7245199c91ac to 9ce7c8e67684 (1 revision)
2021-02-23 chromium-autoroll Roll glslang from c8b95db65ec3 to 6f7a8ebf76cb (1 revision)
2021-02-23 chromium-autoroll Roll glslang from 5421877c380d to c8b95db65ec3 (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from 456634a51059 to 7245199c91ac (2 revisions)
2021-02-22 chromium-autoroll Roll glslang from e56beaee7368 to 5421877c380d (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from b1106d3a41b7 to 456634a51059 (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from 7ddbb307e52b to b1106d3a41b7 (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from 1db6edcaeed2 to 7ddbb307e52b (1 revision)
2021-02-19 chromium-autoroll Roll Vulkan-ValidationLayers from a3705f43f4ea to 1db6edcaeed2 (5 revisions)
2021-02-19 chromium-autoroll Roll Vulkan-ValidationLayers from 4edde62bf0c8 to a3705f43f4ea (1 revision)
2021-02-19 chromium-autoroll Roll SPIRV-Tools from 1b35745ad1c9 to ef3290bbea35 (1 revision)
2021-02-18 chromium-autoroll Roll glslang from 51b86c1a2b77 to e56beaee7368 (1 revision)
2021-02-18 chromium-autoroll Roll SPIRV-Tools from 05cda81aba8c to 1b35745ad1c9 (2 revisions)
TBR=enga@chromium.org
Created with:
roll-dep third_party/vulkan-deps
Change-Id: I777f5dee01fc967693097497d5e1d3be3ee2aac8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44762
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Added enforcement for vector constructor type rules according to the
table in https://gpuweb.github.io/gpuweb/wgsl.html#type-constructor-expr.
This surfaced a number of existing tests that violated some of these
rules or had a type-declaration related bug, so this CL fixes those as
well (these tests either passed the incorrect number of arguments to a
vector constructor or relied on implicit conversions between numeric
types).
Fixed: tint:632
Fixed: tint:476
Change-Id: I8279be3eeae50b64db486ee7a91a43bd94fdff62
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44480
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Let's keep these for the SPIR-V reader case. The way things currently work is actually nicer than attempting to generate size / align decorations in the SPIR-V reader.
Change-Id: I83087c153e3b3056e737dcfbfd73ae6a0986bd7c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44684
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
This was broken by a rebase of the Default Struct Layout change.
This went unnoticed because there was no test coverage for these. Added.
Also replace `[[offset(n)]]` decorations with padding fields.
Bug: tint:626
Change-Id: Iad6f1a239bc8d8fcb15d18a204d3f5a78a372350
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44683
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: David Neto <dneto@google.com>
This makes it a little easier to check if an object is one of any of the
types provided. Updated Type query functions to make use of IsAnyOf.
Added tests.
Change-Id: I12ea62b32042b6675d998ab85b86f2fe15861330
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44462
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Add a sanitizing transform to collect input parameters into a
struct. HLSL does not allow non-struct entry-point parameters, so any
location- or builtin-decorated inputs have to be provided via a struct
instead.
Bug: tint:511
Change-Id: I3784bcad3bfda757ebcf0efc98c499cfce639b5e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44420
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This will allow Tint's dependent to depend on libtint without GN
discovering Tint's test and try to build them. In particular it will
help use Tint in Dawn in Skia's standalone build which doesn't have
//testing.
Bug: dawn:706
Change-Id: Idd28662b89aa75df7704eaae205328dce0b96fef
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44540
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Remove usage of the depth offset in TextureCopySplitter. Because there
is no slice pitch alignment requirement, it is simpler to express the
subresource footprint with just width and height. Fixes incorrect copies
when using WriteTexture on a texture with 64 or less width.
Bug: dawn:573
Change-Id: I51cb73b522a443b8b42d9ba290c69541211be4bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39200
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
Allow external images to specify all allowed texture usages which will
be checked by ProduceTexture. This avoids needing to assume the usage
between multiple calls to ProduceTexture is always the same.
Bug=dawn:625
Change-Id: I9fdb59af23e6c160e939ab1c51de03542248c0c8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44260
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>