10152 Commits

Author SHA1 Message Date
Ben Clayton
d221738e20 Add diag::Formatter::Style::print_newline_at_end
Automatically prints a newline at the end of the last diagnostic in a list. Defaults to true.

Disabled for many tests that assume no newline at end of string.

Change-Id: Id1c2f7771f03f22d926fafc2bebebcef056ac5e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37260
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-01-11 21:09:22 +00:00
Ben Clayton
4a0b9f77ef Implement textureDimensions()
SPIR-V reader TODO.

Bug: tint:140
Bug: tint:437
Change-Id: Ia3a6cb0b36142142d3dc8662281e1860c609c82b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36980
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-11 21:07:32 +00:00
Dawn Autoroller
ea26a8ce55 Roll Tint from f51d965befa1 to c3c70f848a71 (22 revisions)
https://dawn.googlesource.com/tint.git/+log/f51d965befa1..c3c70f848a71

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 dsinclair@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: dsinclair@google.com
Change-Id: I89cef8b887811df48ea8f8573af7e1388e1fcb9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37241
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-11 20:18:31 +00:00
Carl Woffenden
e650b38aa6 Minor fix to build with MSVC: Gets content address instead of iterator
Fixes error C2679: binary '-': no operator found which takes a right-hand operand of type 'std::_Array_iterator<_Ty,23>' (or there is no acceptable conversion)

Change-Id: I566b05032da5f68674156eae2901a3f3e7a8acbb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36082
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-01-11 20:02:21 +00:00
dan sinclair
c3c70f848a Fix const-ness of inspector constructor.
This was changed originally, but we no longer need the module to be
non-const for the Inspector. Set it back to const to fix the Chrome
roll.

Change-Id: I68166a7a687249cab5c344167386144554b7d175
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37221
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 20:01:12 +00:00
David Neto
e86fd505e4 Fix doxygen comment
Change-Id: I5977c7fe09f80e9da9438e7842fdfdf44346c839
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37220
Commit-Queue: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 19:17:59 +00:00
David Neto
3f245ed362 spirv-reader: convert arity of textureLoad on depth texture
Fixed: tint:439
Change-Id: I151e388a1ea11bdcb5cebf0441a73ddcaf8a6f54
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37063
Commit-Queue: David Neto <dneto@google.com>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 19:04:49 +00:00
Corentin Wallez
1457ecbcaf Remove obsolete build flag.
No longer necessarry: "linux_use_bundled_binutils_override"

Bug: chromium:1164276
Change-Id: Id5d27b427e91204e71a74da572f3f369630ae54b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37201
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-01-11 18:27:52 +00:00
Yunchao He
0325e4503b Add more constants for max texture sizes
Currently we only implemented 2D and 2DArray texture. kMaxTextureSize
is actually for 2D texture only. This patch adds a few more constants
for texture size for 1D and 3D textures, and changes kMaxTextureSize
to kMaxTextureDimension2D.

Bug: dawn:558

Change-Id: I9088dd7c060dc096a65abea37c7fb01f760524e9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36540
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2021-01-11 18:04:12 +00:00
dan sinclair
2dc1ef47e0 Switch default to the MangleNamer.
This Cl updates all of the generators and the inspector to use the
mangle namer by default.

Change-Id: Id6811d76bf2475a2c2a2864fb8fc0f43e95a6e65
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36944
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
a8d9755053 Allow setting the namer into the inspector.
This CL adds an extra constructor to the inspector to change the namer
user. The inspector tests are then updated to use the test namer.

Change-Id: Ibc91de89b52161dc125b38d65e445b5833ad6c18
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36943
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
b920e604b2 Change generators to take a pointer instead of move.
This CL changes the generators so we don't have to move the module into
the generator. This will then allow calling the demangler at a later
point and still having access to the module.

Change-Id: Icad16ddb2b89921cbb174cf7fec520c410139285
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36942
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
7d152e0936 Use TestNamer in the SPIR-V backend.
This CL updates the SPIR-V generation tests to use the TestNamer.

Change-Id: I6a1d9a4c41f080ba3518509864bb06f1629ab0a9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36941
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
f4bc0e7337 Use TestNamer in HLSL tests.
This CL updates the HLSL tests to use the test namer and fixes up places
where the incorrect name was output.

Change-Id: I8510d1ff5a57f3a0996dc9c7c8478775ef141105
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36940
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
f74b90b3dd Use a test namer in the MSL generator.
This CL updates the MSL generator to use a test namer, the various
places where the incorrect name was emitted have been fixed.

Change-Id: I20c990bdddc4f0580b09269920abe8376fa3ca07
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36900
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
c8c31560de Remove name fields
This CL removes the name fields from the various AST nodes now that the
symbols are used everywhere.

Change-Id: I73e8fa8958aa6e6f0159b12b63176b12c418f525
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36762
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
e65e4bd2c5 Remove IdentifierExpression::name().
This CL removes the name method from IdentifierExpression. The usages
have been converted over to the symbol.

Change-Id: Id751c2fc4a43bd5414fbaf8a8a66ecffb3838e48
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36801
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
4ac6568821 Remove Function::name().
This CL removes the function name accessor and changes all usages to use
the symbol.

Change-Id: I19b92bf1bc557ba14e68ef8cb381487a4ad1f7ee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36821
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
eb737c25db Remove StructMember::name().
This CL removes the name accessor from the struct member. Usages have
been replaced with symbol usages.

Change-Id: Idd9c5b34f0b5503ffee84e0c82d69aa65b1df7ea
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36820
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
e76a86a22c Remove StructType::name()
This CL removes the name accessor from the StructType. All usages are
updated to use the symbol.

Change-Id: I65d793e9609a1663facce955bdb89e60f11f382a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36800
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
1d967e3228 Remove the AliasType::name() getter.
This CL removes the name() method from AliasType and replaces with
usages through the Symbol.

Change-Id: I50a85e4262e488adf935b9a484214fc85a966301
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36781
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
396b02342f Remove Variable::name().
This CL removes the name getter from the Variable class. All usages are
updated to use the symbol.

Change-Id: I3e4d86d2124d39023cad6113c62230c1757ece71
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36780
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
197a1b943d Use the top level namer in the SPIR-V backend.
This CL updates the SPIR-V backend to use the top level namer.

Change-Id: I67566d7674d5366c82c99d6fbb985805a2a9a5b4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36720
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
f3e3586835 Use namer in the Inspector.
This CL adds the namer to the Inspector when getting the remapped name.

Change-Id: Ic5ed8c50a24b7a1cc303767d049a358181d27603
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36661
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
8d6e625ef4 Convert HLSL to higher level namer.
This CL switches the HLSL generator to use the top level UnsafeNamer
instead of a custom namer.

Change-Id: I7643ee6586955ed2bc493104004fb9f9c524e951
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36660
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
05b64849b2 Convert MSL generator to unsafe namer.
This Cl updates the MSL generator to use the unsafe namer internally.

Change-Id: Ibeea747da1d7675c05a0dcb2416fbd491bb5d64b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36581
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
Stephen White
77fcdf7eaa Add ANGLE to Dawn build.
Bug: dawn:447, dawn:580
Change-Id: I77726651ca00d64768bddc0bb476fd920e11851f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35081
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-01-11 15:52:12 +00:00
Dawn Autoroller
99c3a691c2 Roll Tint from 9bacbe1b34a3 to f51d965befa1 (1 revision)
https://dawn.googlesource.com/tint.git/+log/9bacbe1b34a3..f51d965befa1

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 dsinclair@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: dsinclair@google.com
Change-Id: Ieb6039b78bab603570dc9dbc1a4bdf56bdcdb0be
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37160
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-11 15:35:32 +00:00
Ryan Harrison
1d9935cf37 Revert 3 fuzzing CLs, since they are preventing rolling into Chromium.
Revert "Adding fuzzing for Transforms"

This reverts commit 4a29008c7e3ad4b75efefcaa2a3c9087152d84a6.

Revert "Add fuzzers for various emission paths"

This reverts commit 39545b7e7c464a661515cd7a739ee752635ab268.

Revert "Create common utility class for fuzzing"

This reverts commit 766e31d507109a703f08510900f90c805a655d96.

Change-Id: Ia4e4ea2a4a5f423ea5bfa8ca9659c4028b558b45
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37180
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-11 15:22:19 +00:00
dan sinclair
795b6b5a28 Convert ScopeStack over to symbols.
This CL converts the ScopeStack to use a Symbol instead of a string as
the accessor.

Change-Id: I2893003bc119c86c4822732ef36c7393e4be1e79
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36580
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
2021-01-11 15:10:19 +00:00
David Neto
f51d965bef spirv-reader: Reject dref sampling with Bias or Grad
Bias and Grad image operands are not supported for
depth-referencde sampling.

Fixed: tint:440
Change-Id: Ic2bf995f7c7b791b8e3a7ceb3514b10220dda8a7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37062
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 14:53:29 +00:00
Stephan Hartmann
1670c5184b IWYU: add missing include for size_t
Bug: None
Change-Id: Idbb024aa136da5327caae796876ee80222d46a39
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37140
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-01-11 08:20:02 +00:00
Dawn Autoroller
3a04055973 Roll Tint from 1e01c2c11613 to 9bacbe1b34a3 (1 revision)
https://dawn.googlesource.com/tint.git/+log/1e01c2c11613..9bacbe1b34a3

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 enga@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: enga@google.com
Change-Id: I10ac0b7fdd2656b5230bb29d6f1a43b6b8508f0d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37120
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-09 17:51:41 +00:00
Hao Li
c9a22bcb93 Disable timestamp query extension on Metal
Currently it's not clear how to convert timestamps to nanoseconds on
Metal, disable timestamp query extension on Metal until we know how to
do that. WebGPU issue: https://github.com/gpuweb/gpuweb/issues/1325

Bug: dawn:434
Change-Id: If63bd5fe9dccc1fff16a42cddf63e9d8265e65c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37020
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-01-08 22:56:05 +00:00
David Neto
9bacbe1b34 Roll third party dependencies
Roll third_party/spirv-tools/ 8f4b35c33..f3ccb633d (11 commits)

8f4b35c332..f3ccb633df

$ git log 8f4b35c33..f3ccb633d --date=short --no-merges --format='%ad %ae %s'
2021-01-07 dneto use std::string::empty() to test for emptiness (#4098)
2021-01-07 46493288+sfricke-samsung spirv-val: Label standalone Vulkan VUID (#4091)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan decroation VUID (#4090)
2021-01-06 stevenperron Fix binding number calculation in desc sroa (#4095)
2021-01-06 stevenperron Build deps: dump ini from 1.3.5 to 1.3.7 in tools/sva (#4092)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan FP Mode VUID (#4088)
2021-01-06 46493288+sfricke-samsung spirv-val: Fix Vulkan image sampled check (#4085)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan ForwardPointer VUID (#4089)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan ImageTexelPointer format check (#4087)
2021-01-05 46493288+sfricke-samsung spirv-val: Add Vulkan Group Operation VUID (#4086)
2020-12-17 46493288+sfricke-samsung spirv-val: Add first StandAlone VUID 04633 (#4077)

Created with:
  roll-dep third_party/spirv-tools

Change-Id: Ia8b6b998358881be7c48f84a6a046827d09d7743

Roll third_party/gpuweb-cts/ 46c7b591c..1ba84a62a (12 commits)

46c7b591c2..1ba84a62ae

$ git log 46c7b591c..1ba84a62a --date=short --no-merges --format='%ad %ae %s'
2021-01-07 kainino Organize and rename some tests (#429)
2021-01-07 kainino Add plans for texture view reads/writes (#430)
2021-01-07 9856269+sarahM0 [wgsl] Add validation test - v-0033: If  the initializer is present, it's store type must match the store type of the variable. (#418)
2021-01-07 9856269+sarahM0 [wgsl] Add validation test - v-0034: The access decoration must only appear on a type used as the store type for a variable in the storage storage class. (#420)
2021-01-06 9856269+sarahM0 [wgsl] add validation test - v-0035: The access decoration is required for variables in the storage storage class. (#421)
2021-01-06 9856269+sarahM0 [wgsl] Add validation test - v-0036: Module scope variable must not be in the function storage class.
2021-01-06 9856269+sarahM0 [wgsl] Add validation test - v-0037: Module scope variables must be declared with an explicit storage class decoration.
2021-01-06 9856269+sarahM0 [wgsl] Add validation test - v-0032: constraints on module variables with an initializers (#417)
2020-12-23 jiawei.shao Add T2T operation tests for all the compressed color formats (#412)
2020-12-22 kainino Catch exceptions in expectValidationError (#416)
2020-12-21 kainino clarify pull request template
2020-12-18 kainino Test fixes found by Chromium automated testing (#415)

Created with:
  roll-dep third_party/gpuweb-cts

Change-Id: I9ce04555e4f34259ad501fdae5bda0a8a146a9a8

Roll third_party/googletest/ 18f8200e3..389cb68b8 (3 commits)

18f8200e30..389cb68b87

$ git log 18f8200e3..389cb68b8 --date=short --no-merges --format='%ad %ae %s'
2020-12-21 absl-team Googletest export
2020-12-15 dmauro Googletest export
2020-10-30 chuck.atkins Bump CMake minimum to 2.8.12

Created with:
  roll-dep third_party/googletest

Change-Id: Id4aaff4448fdc6f40c2364ead8ebdc7fe8f699f2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37060
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
2021-01-08 18:44:54 +00:00
Dawn Autoroller
c4efeef833 Roll Tint from 766e31d50710 to 1e01c2c11613 (3 revisions)
https://dawn.googlesource.com/tint.git/+log/766e31d50710..1e01c2c11613

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 enga@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: enga@google.com
Change-Id: If682540f9e2442e767b7a028c81dac420967ede0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37061
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-08 17:15:55 +00:00
David Neto
1e01c2c116 spirv-reader: rename variable
Rename the state variable describing whether the "Level"
suffix should be used to indicate the level-of-detail variant
of a texture builtin.

Bug: tint:3
Change-Id: I21fdfcace06575e7f9586d7bfc22200f9c1176fa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37004
Commit-Queue: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-08 15:44:44 +00:00
Corentin Wallez
a2e02836a2 Suppress EntryPointTests.FragAndVertexSameModule on GL
The test is failing because it seems that SPIRV-Cross is outputing some
of the builtins for the vertex in the fragment shader and vice-versa.

Bug: chromium:1163767
TBR=senorblanco@chromium.org

Change-Id: Iefbc1beb9065a92f1d61776d12c903d4e80648d4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37040
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-01-08 12:26:05 +00:00
Ryan Harrison
4a29008c7e Adding fuzzing for Transforms
Fuzz all transforms being applied together, and fuzz each transform
separately.

BUG=tint:436

Change-Id: I53cf2e05c69f495f27bfa428f55ec033a85a612a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36945
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-08 02:42:43 +00:00
Ryan Harrison
39545b7e7c Add fuzzers for various emission paths
BUG=tint:58,tint:59,tint:194,tint:195

Change-Id: Ibca5efbcd608489dcb7c6c45a5fcf596b97165dc
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36901
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
2021-01-07 20:33:22 +00:00
Corentin Wallez
00fcab636a Fix default viewDimension in deprecated BGLEntry path.
The handling of the default view dimension in the deprecated bind group
layout entry path was checking the viewDimension of the new
sub-descriptor instead of the deprecated viewDimension member. This
meant that viewDimension was always defaulted and "2D".

This commit fixes the issue by looking at the correct viewDimension member
and adds a regression deprecation test.

Bug: dawn:620

Change-Id: Icc133b6d80ba3d88bae30dc9138f1d74e14d12c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36841
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-01-07 17:33:44 +00:00
Dawn Autoroller
400a5e2710 Roll Tint from 40b4928a73b7 to 766e31d50710 (4 revisions)
https://dawn.googlesource.com/tint.git/+log/40b4928a73b7..766e31d50710

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 enga@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: enga@google.com
Change-Id: I6af2c446cdfeef02b1c66193c2adef1ee17b62b6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36920
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-07 16:52:54 +00:00
Ryan Harrison
766e31d507 Create common utility class for fuzzing
This moves the usage of Tint in the fuzzers into a single class. This
will be expanded in the future to support emitting shaders, so fuzzing
tests, just need to indicate which reader & writer they want to use,
instead of having each test implement all of the API usage logic
directly.

BUG=tint:199

Change-Id: Id081a374014b7640a07b267e544ddeba3e6329dd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36760
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
2021-01-07 16:20:32 +00:00
Ben Clayton
3f5c01ae92 Reland "Update PrimitiveTopologyTests to use WGSL"
This reverts commit ad0bec6c96965e82a8f0b967ce7a97d658c1d62a.

Reason for revert: The change was incorrectly blamed for a autoroll failure and reverted unnecessarily.

Original change's description:
> Revert "Update PrimitiveTopologyTests to use WGSL"
>
> This reverts commit b9641b8225b82cfda56c3e0544cea041172deef7.
>
> Reason for revert: Suspect causing Dawn roll to fail
>
> Original change's description:
> > Update PrimitiveTopologyTests to use WGSL
> >
> > A rebased fork of https://dawn-review.googlesource.com/c/dawn/+/33774
> >
> > Bug: dawn:572
> > Change-Id: Icb24ac5b62984e9b093e61077155b9a1eafb344b
> > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35801
> > Commit-Queue: Ben Clayton <bclayton@google.com>
> > Auto-Submit: Ben Clayton <bclayton@google.com>
> > Reviewed-by: Austin Eng <enga@chromium.org>
> > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
>
> TBR=cwallez@chromium.org,enga@chromium.org,bclayton@google.com
>
> Change-Id: Ib6fe527f28cf17f8f8e817c59121e357b9b65cd1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: dawn:572
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36520
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Austin Eng <enga@chromium.org>

TBR=cwallez@chromium.org,enga@chromium.org,bclayton@google.com

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

Bug: dawn:572
Change-Id: I2e8859c9b9f12c005bef1309c7bad98f61af2ac7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36842
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-01-07 16:04:24 +00:00
Corentin Wallez
06aa1af28a Roll third_party/vulkan-deps/ b08eace32..c493c6112 (27 commits; 1 trivial rolls)
https://chromium.googlesource.com/vulkan-deps/+log/b08eace32e9c..c493c6112021

$ git log b08eace32..c493c6112 --date=short --no-merges --format='%ad %ae %s'
2021-01-07 chromium-autoroll Roll SPIRV-Cross from 7b7a21c4058c to 234c65c0f32c (3 revisions)
2021-01-07 chromium-autoroll Roll glslang from 480f6039e072 to 3de5cfe50ede (1 revision)
2021-01-06 chromium-autoroll Roll Vulkan-Tools from 4cc0932495ec to a7825740f316 (3 revisions)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 4ed1f4fce9e7 to aa005e8bd435 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from af3a3d481f6e to 4ed1f4fce9e7 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 94d1a80159e3 to af3a3d481f6e (1 revision)
2021-01-06 chromium-autoroll Roll Vulkan-ValidationLayers from 98382948dfea to cc435b55410a (2 revisions)
2021-01-06 chromium-autoroll Roll glslang from f77085c307fc to 480f6039e072 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 6d05ed8410b4 to 94d1a80159e3 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 37c03859de9e to 6d05ed8410b4 (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from d630e5f8c10c to 37c03859de9e (1 revision)
2021-01-06 chromium-autoroll Roll Vulkan-ValidationLayers from 2468aa9630c2 to 98382948dfea (1 revision)
2021-01-06 chromium-autoroll Roll SPIRV-Tools from 1bb80d2778a3 to d630e5f8c10c (1 revision)
2021-01-06 chromium-autoroll Roll glslang from 9325cc013e3d to f77085c307fc (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-ValidationLayers from 57255a663ed9 to 2468aa9630c2 (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-Loader from 1f0c7868a438 to 9ba835885ffe (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-ValidationLayers from 56a96658b750 to 57255a663ed9 (3 revisions)
2021-01-05 chromium-autoroll Roll Vulkan-Loader from 294480cb7f3e to 1f0c7868a438 (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-Tools from 7554321b88ae to 4cc0932495ec (2 revisions)
2021-01-05 chromium-autoroll Roll Vulkan-Loader from 66a23ac8c566 to 294480cb7f3e (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-Headers from 85470b32ad5d to 9efc4a631161 (1 revision)
2021-01-05 chromium-autoroll Roll Vulkan-ValidationLayers from aa076dae88e2 to 56a96658b750 (25 revisions)
2021-01-05 chromium-autoroll Roll glslang from f426f652299d to 9325cc013e3d (1 revision)
2021-01-05 chromium-autoroll Roll SPIRV-Cross from e50f7d1ce8e1 to 7b7a21c4058c (3 revisions)
2021-01-05 chromium-autoroll Roll SPIRV-Tools from 17ffa89097b2 to 1bb80d2778a3 (1 revision)
2020-12-21 jmadill Rolling 8 dependencies

TBR=senorblanco@chromium.org

Created with:
  roll-dep third_party/vulkan-deps

Change-Id: I8dffafc888ed2d54c38a14cfb2f1521a2c85dcc1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36840
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-01-07 13:22:22 +00:00
J-P Nurmi
b3c4cc09a0 Fix typo: vulkan_deps vs. vulkan-deps
Change-Id: Ifad31bb254f2f1d6d72338ef1f68c34e6ba4de86
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36721
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-01-07 10:35:02 +00:00
Ben Clayton
718975958b Add tool to check the WGSL spec examples compile
Automatically fetches the spec from the web, runs tint for all compilable examples.
Displays all examples that don't compile or compile when they shouldn't

Change-Id: I4718dd45ddec7f191ceed937ecb1c384d77d0eb5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36722
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-07 01:44:11 +00:00
David Neto
8144af91b4 spirv-reader: ignore PointSize builtin declared at module-scope
Fixed: tint:434
Change-Id: Ia29d0f7227e838fc5f9dd4ca521b5fd6b9a88637
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36761
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-07 01:38:41 +00:00
Ryan Harrison
fac169113d Remove HLSL & MSL SPIRV-Cross Fuzzers
The plan of record is to use Tint for back end generation on these
platforms for launch, so there is no need to fuzz SPIRV-Cross on them.

The GLSL fuzzer will remain for now, since the PoR has native support
for GLSL using SPRIV-Cross.

Change-Id: I8d6bf76b2b81e9bbc158fa8c5a63b119060abbe5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36701
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
2021-01-07 01:36:11 +00:00
Ben Clayton
9bbf8252a9 wgsl: Treat // as comment
Also support # as comments for now while we migrate.

See:
https: //github.com/gpuweb/gpuweb/issues/1262
https: //github.com/gpuweb/gpuweb/pull/1326
Change-Id: I3547f575c35f4fd46b95f0f2d8b79f4015364c83
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36680
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
2021-01-06 19:54:01 +00:00