Integer literals need to be suffixed with `u` in order to be unsigned. This also includes 0.
Tint has new validation that now checks for this.
Bug: tint:632
Change-Id: I1af07590d93620561df1a0084521eb071d4af7ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44766
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
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>
Don't return error code 1 when some invocations return with no errors.
Change-Id: I4eec555bc188bcfaa3424dbb70a3391062ba87f6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44782
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
BUG=tint:641
Change-Id: I49c2e59e1555c839665cde9d30bb8181c4b28814
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44802
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
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>
These errors were captured, but not printed.
Fix the lint error that was not being displayed.
Change-Id: I56da5c3a044b8a8e41695883ce780aca6245ad04
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44780
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Two changes merged that were not compatible (44681 and 44603).
Change-Id: Ib35c4d738e4749b904c0c83626de730de63b8417
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44800
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This allows for a more optimal way to filter the result of To(). Updated
Type query functions to make use of it. Added tests.
Change-Id: If3a65259345fbe6b92c6d367ab01fa718bb7cfee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44463
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@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>
These can now also be called with nullptr and will return false or
nullptr respectively.
Change-Id: I5fcf292503dd718f8d3771c7c39c204ce03ff4f7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44461
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Add a return type decoration list field to ast::Function.
Bug: tint:513
Change-Id: I41c1087f21a87731eb48ec7642997da5ae7f2baa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44601
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Avoid cloning parameters until we know we are going to rewrite the
function.
Change-Id: I0b0e2513d8652a0f2e561419848f77875d67591b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44600
Commit-Queue: James Price <jrprice@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>
Move the RoundUp() and IsPowerOfTwo() methods from Resolver.cc to this file.
Add tests
Change-Id: Ib7af53dfa5e69083ec4fc2484da92a84c9468818
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44682
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
It was causing issues building Dawn in Skia. The error message helpfully
suggests using WideCharToMultiByte instead.
Bug: dawn:706
Change-Id: I87dee1192123f49cc8e7243a29df446389454df4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44560
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Implements https://github.com/gpuweb/gpuweb/pull/1447
SPIR-V Reader is still TODO, but continues to function as the offset
decoration is still supported.
Bug: tint:626
Bug: tint:629
Change-Id: Id574eb3a5c6729559382812de37b23f0c68fd406
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43640
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
Otherwise the public_configs of the proxied targets don't correctly get
propagated, causing Dawn to fail compilation due to missing include
directories.
Bug: 706
Change-Id: Ib8acfb06105e77ad005c3900975e8173d85dcf32
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44680
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@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>
BUG=dawn:702
Change-Id: I1a75929bbb91411c10dac5a5408e8fc57d67102b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44460
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@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>
These were supposed to be deleted in 95d4077.
Change-Id: Ic2a08283a8f4255f107492fcfa1bb0f320969f73
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44500
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This patch adds a workaround for a compile error when calling
std::begin on C-style arrays when rolling Dawn to Skia.
BUG=chromium:1161355
Change-Id: I6b697c383c0f76866e1d35f75bd1f64b96c5d6c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44520
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
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>
Currently normalizes anything using the new layout to the old one for
the sake of getting things working as quickly as possible. Follow up
changes will gradually push the new layout through more of the stack.
Bug: dawn:642
Change-Id: Ie92fa9dde21174f62ceba1a1f4866cbc24c5fc6f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38600
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
On Intel Gen9 (SKL) and Gen9.5 (KBL, CFL, CML) GPUs with latest
Intel D3D12 driver (27.20.100.9316), there is a bug in the command
CopyTextureRegion() when we want to do the texture-to-texture copy
with the formats whose texel block size < 4 bytes and source mipmap
level > destination mipmap level.
This patch adds a workaround for this driver bug by implementing
the functionality of the T2T copy with one T2B copy and one B2T
copy.
BUG=chromium:1161355
TEST=dawn_end2end_tests
Change-Id: I688bb8bae277832aaba1be2680012040ee8e1160
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43860
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Add a sanitizing transform to collect location-decorated parameters
into a struct.
Bug: tint:510
Change-Id: I1e9bf829dac946e5fec0ecfe6da7e1ef9cebff8e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44322
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Remove the decoration groupings (Array, Function, Struct,
StructMember, Type, Variable), such that all *Decoration classes now
subclass ast::Decoration directly. This allows for decorations to be
used in multiple places; for example, builtin decorations are now
valid for both variables and struct members.
Checking that decoration lists only contain decorations that are valid
for the node that they are attached to is now done inside the
validator.
Change-Id: Ie8c0e53e5730a7dedea50a1dec8f26f9e7b00e8d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44320
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@chromium.org>
BUG=tint:630
Change-Id: Ib30221e7a2d35e77a164969428ed6bfc07bc2a8e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44340
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Add a sanitizing transform to hoist entry point parameters out as
global variables.
Bug: tint:509
Change-Id: Ic18f69386a58d82ee11571fa9ec0c54cb5bdf2cf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44083
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This is needed to correctly generate entry point IO parameters.
Bug: tint:576
Change-Id: I9b96886d5ea90a54a568dd36506da563227afde7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44082
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>