Commit Graph

11575 Commits

Author SHA1 Message Date
James Price f629770bcd tint: Move "suggest alternatives" logic to utils
This will be used for suggesting alternative diagnostic rule names in
the Resolver.

Bug: tint:1809
Change-Id: Icc9af02937326f6f774fbaf2aeaa9314c88fdea6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117565
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-01-25 14:10:04 +00:00
dawn-autoroll 2cf9764e45 Roll vulkan-deps from a2f348c2039f to 71bd1907ea2f (9 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/a2f348c2039f..71bd1907ea2f

Changed dependencies:
* spirv-tools: 7f9184a5b2..5db6c38e65
* vulkan-loader: 0a2c1bece6..ced1be175f
* vulkan-validation-layers: 8f898553b5..ac7c75bb51

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I5afb97622cba1cc97a962317e041d8a7e081057a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117529
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-25 06:12:15 +00:00
Dawn Autoroller b45bdf8007 Roll ANGLE from a654666c00c1 to 660e4a7c0d4f (2 revisions)
a654666c00..660e4a7c0d

2023-01-25 kbr@chromium.org Don't override D16_UNORM to D32_FLOAT on Apple GPUs.
2023-01-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from c1ebeb5013f9 to 821e153ac85a (20 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I96c55ab86eb36c23cfdc35ae9bb2cd8e0ffb6fb6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117780
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-25 05:40:02 +00:00
James Price bb0229002d tint/uniformity: Violations are now errors
Switch the default severity for all uniformity violations to errors.

We now have an opt-out mechanism for deriviative operations (via
diagnostic filters), and a `workgroupUniformLoad()` builtin for
compute shaders.

Bug: tint:1809
Change-Id: I666c706d6195ca0d24ead14c4709e7f646bfcc64
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117741
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-25 01:24:46 +00:00
James Price f38ee3e073 tint/exe: Add --allow-non-uniform-derivatives flag
When used with the SPIR-V reader, this will insert a module-scope
diagnostic directive to suppress uniformity violations for derivative
operations.

Bug: tint:1809
Change-Id: I2305265231ccffad49461d194669ba598484e8e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117740
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-25 01:24:46 +00:00
James Price e657c470bd tint/uniformity: Add derivative_uniformity filter
Add additional `RequiredToBeUniform` nodes for each severity
level. When processing a call to a derivative builtin, look up the
severity from the semantic info for that AST node, and add an edge to
the corresponding `RequiredToBeUniform` node.

Propagate the severities to the callsite and parameter tags for a
function that contains a builtin.

Traverse that graph from each `RequiredToBeUniform` node to look for
violations at each severity level, starting with the most severe. Only
stop the analysis if an error is found, otherwise report the violation
and keep going.

Bug: tint:1809
Change-Id: I4ac838e85da3f4fb3d63f4892dce7f12b096f74b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117602
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-25 01:24:46 +00:00
James Price 5853205342 tint/sem: Record diagnostic severity modifications
Each sem::Node has a map which stores the diagnostic modifications
applied to that node. The sem::Info class provides a query to get the
diagnostic severity for a given AST node, by walking up the semantic
tree to find the tightest diagnostic severity modification. The
default severity is used if it was not overridden.

This allows components outside of the Resolver/Validator to determine
the diagnostic severity while walking the AST, which is required for
the uniformity analysis.

Bug: tint:1809
Change-Id: I4caf99d7412fb22fb1183b2c8cfde349da2fefd3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117601
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-25 01:24:46 +00:00
James Price 613fbcf79a tint: Add diagnostic and enable to ModuleCloneTest
Bug: tint:1809
Change-Id: I671440bf2b1f988eb39bd476841e92c3a7e58ae7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117600
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 23:13:38 +00:00
James Price c744a23d77 tint/reader/wgsl: Parse @diagnostic attributes
Future patches will expand the places where they can be used.

Bug: tint:1809
Change-Id: I74d87ce5164119ae1351380041f9ef4b1091d854
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117571
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 21:01:36 +00:00
James Price 75326f88e6 tint/writer/wgsl: Handle diagnostic attributes
Bug: tint:1809
Change-Id: Id2176eff808b24bdb0e31c3eb397c32219ed59e7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117570
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 21:01:36 +00:00
James Price 8dd35110c2 wgsl/reader: Parse diagnostic directives
Bug: tint:1809
Change-Id: I9f129685f22f51f577b67050edeef8aeea0c0bc5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117569
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 21:01:36 +00:00
James Price 02855b5060 tint/resolver: Handle diagnostic attributes on functions
Push a new diagnostic filter scope at the start of resolving a
function and process function attributes immediately.

Bug: tint:1809
Change-Id: I8a7f4a29e4b7556d0721ed28c49d795c166fea00
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117568
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 21:01:36 +00:00
James Price e8ea579bce tint/writer: Handle diagnostic directives
The WGSL writer emits them, the other writers ignore them.

Bug: tint:1809
Change-Id: I163d868005c076b8fd4602f13d3e267b16c474c0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117567
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 21:01:36 +00:00
James Price 81e55754e1 tint/resolver: Handle diagnostic directives
The Resolver parses the diagnostic rule and sets the updated severity
in a ScopeStack, which is stored in the Validator.

Automatically generate the diagnostic rule enum and its parsing logic
using intrinsics.def.

Add a "chromium_unreachable_code" diagnostic rule to test this.

Bug: tint:1809
Change-Id: Ia94db4321b8019f01d31a84da0fda25dfdf72f5c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117566
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-01-24 21:01:36 +00:00
James Price 098e3d8f90 tint/dependency_graph: Handle diagnostic controls
Bug: 1809
Change-Id: I376d0758a09463b37e2d71040cc8add5897ef8bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117564
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 21:01:36 +00:00
James Price 15bf15d55f tint/ast: Add global diagnostic controls to Module
Bug: tint:1809
Change-Id: I363abc60597a6c340d5a4b4d147fa7f5747c2d9b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117563
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 21:01:36 +00:00
Ben Clayton 5a2b5d9cc9 Roll third_party/webgpu-cts/ 9fbed0099..3f9b09b36 (8 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


9fbed0099e..3f9b09b36b
 - 3f9b09 Adjust fuzzy value on canvas_colorspace_rgba16float ref test (#2188)
 - 63e279 Make canvas_colorspace_rgba16float ref test more fuzzy
 - ace40f op,render_pipeline,sample_mask depth stencil multisampled tests (#2179)
 - f26ab8 Implement the division param restrictions in atan2 (#2183)
 - 381672 math: Remove pointless lerp() in biasedRange
 - 381f3d Test GPUCanvasContext.configure colorSpace
 - 3436e5 Clear pages between pages. (#2182)
 - 7e5c20 Test colorSpace in readback tests

Created with './tools/run cts roll'

Change-Id: I0b755e9de472b1091d0719a781e1de41474dcc13
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Include-Ci-Only-Tests: true
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117660
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 20:32:05 +00:00
Ben Clayton 41884e4ebf tint: Update origin-trial-changes for parser changes.
Change-Id: Ia2571eea79bb7175b2578888c3e3857fff418b52
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117214
Kokoro: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-01-24 19:32:04 +00:00
Ben Clayton 7d2b192439 tint: rename template argument token strings
Drop the `(opening|closing template argument list)` bit. It makes for messy diagnostics.

Change-Id: I92d29ece8a012362dd16da297089aab908571415
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117213
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
2023-01-24 19:31:51 +00:00
Ben Clayton f0d8edecee tint: Fix x86 build
Fixed: tint:1813
Change-Id: I97b7c0c0a4bfdda2f7e63983caddcfb3a1e19c2f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117215
Reviewed-by: dan sinclair <dsinclair@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-01-24 19:29:54 +00:00
Ben Clayton 355b70d2be tint/reader/wgsl: Use ClassifyTemplateArguments()
For parsing.

Bug: tint:1810
Change-Id: I189d06136e79615d39c842aaa9ad58595f80283e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117210
Kokoro: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-01-24 19:28:14 +00:00
James Price ef5434dcd1 tint/ast: Add DiagnosticAttribute AST node
Bug: tint:1809
Change-Id: I297d050e001f5177a6697d8332713a1f41899b87
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117562
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-01-24 18:44:27 +00:00
Ben Clayton 4ff2645d16 tint/reader/wgsl: Add ClassifyTemplateArguments()
Applies a heuristic to disambiguate less-than / greater-than from template argument lists.

This function is not currently used by the parser.

Bug: tint:1810
Change-Id: Ibd72dbae53b3159282177bf79c00ad0808b123a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117208
Kokoro: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-01-24 17:56:57 +00:00
dawn-autoroll d4f318d0f3 Roll vulkan-deps from f93afca731ce to a2f348c2039f (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f93afca731ce..a2f348c2039f

Changed dependencies:
* vulkan-validation-layers: 78b8e5d064..8f898553b5

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: Ibeafbaa4061b6027111c955830618094e09015de
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117528
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 17:08:28 +00:00
Dawn Autoroller c9b3336a63 Roll ANGLE from ab334105e766 to a654666c00c1 (3 revisions)
ab334105e7..a654666c00

2023-01-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d7dfd14fa0d0 to a2f348c2039f (13 revisions)
2023-01-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d184372e4c92 to 7d74066a9406 (534 revisions)
2023-01-24 cclao@google.com Vulkan: Fix the VVL error for shaderRead to shaderRead barrier

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: Ia058d22e0422a2fc9093c9934fccc77a56ac6a44
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117722
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 16:01:44 +00:00
Brandon Jones 6c8aa8aff9 Resolve some reader/writer dependency issues
The HLSL/MSL includes in data_builder.h appear unused, but gn was
flagging them as problematic when attempting to build with the
corresponding tint_build flags disabled.

module_clone_test.cc is dependent on the WGSL reader and writer, but
was not gated on the corresponding tint_build flags in BUILD.gn.

tint_unittests_transform and tint_unittests_glsl_writer were both
dependent on the WGSL reader/writer, so added it as an explicit
dependency.

Bug: dawn:286
Change-Id: I20906414e8173065eef9403c9e9c05286afeaee9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117580
Auto-Submit: Brandon Jones <bajones@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 15:16:43 +00:00
Ben Clayton c98d57d662 tint: Rename 'static_assert' to 'const_assert'
Bug: tint:1807
Change-Id: I2c2a205ada01ad14d0bf6620a3dc3ec84dd7ee67
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117212
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-01-24 14:59:43 +00:00
Ben Clayton 9dc48bcef3 tint: Rename 'type' to 'alias'
Bug: tint:1812
Change-Id: I50bd8b036b47b4ec223a81eda53bd658d19645e9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117211
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-01-24 14:55:17 +00:00
dawn-autoroll c252c642f4 Roll vulkan-deps from fbcb93d162f3 to f93afca731ce (9 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/fbcb93d162f3..f93afca731ce

Changed dependencies:
* glslang: 0d3211ff7b..4e9cde50bb
* spirv-tools: cdc4e528f3..7f9184a5b2
* vulkan-headers: 1a43b498b8..a49166a89a
* vulkan-loader: 125b4f665c..0a2c1bece6
* vulkan-validation-layers: efc0e5693a..78b8e5d064

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I66e47c80f15024779c1ebf89ab9c10371235858a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117526
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-24 01:09:04 +00:00
Dawn Autoroller a26f55791d Roll ANGLE from df202660de19 to ab334105e766 (6 revisions)
df202660de..ab334105e7

2023-01-23 m.maiya@samsung.com BuiltInResourcesString is no longer a part of shader cache key
2023-01-23 abdolrashidi@google.com Move memory allocation info vars to separate class
2023-01-23 cclao@google.com Vulkan: Add ThreadSafeCommandQueue class
2023-01-23 j.vigil@samsung.com EGL: Remove protected content test case
2023-01-23 cnorthrop@google.com Tests: Add CSR2 Drag Racing trace
2023-01-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f709feae795b to d7dfd14fa0d0 (12 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: Icb2303df79262e6684c41fa838766107939a9ab9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117680
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-23 23:00:10 +00:00
dan sinclair dfb62150df Remove program_builder include from type/
The type/ folder had a hold over include of program_builder. The builder
isn't actually used in the types so this CL removes the include and adds
the relevant includes to fix building.

Change-Id: I787b398fe149f483d007bb623ab3ed42850875c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117581
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-01-23 20:33:42 +00:00
Ben Clayton 6fc130bfcc tint/reader/wgsl/lexer: Make '>>=' splittable
Could be split when matching template argument lists.

Bug: tint:1810
Change-Id: I34421d2a27a8b2294fa0201793e7340c0f172df7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117209
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-01-23 18:32:41 +00:00
James Price 5f3449f000 tint/ast: Add DiagnosticControl AST node
Automatically generate the diagnostic severity enum and its parsing
logic using intrinsics.def.

Bug: tint:1809
Change-Id: Ia7cc59202b389eeea49fd582f5821d271978f233
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117561
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-01-23 17:55:55 +00:00
dan sinclair 3272ac7e17 Pull unicode files out to own target.
This cl pulls the text/ files out of the all source list and into a
libtint_text_src source set.

Change-Id: I7f7e5d764e0590b07ee21a7e4510dbd5c2decce4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117620
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-01-23 16:27:05 +00:00
dan sinclair 3085e23fc7 Move SamplerKind out of ast and into type.
This CL moves the SamplerKind enum out of ast/sampler and into
type/sampler_kind. This breaks the dependency on ast from type.

Change-Id: Icaf82dd1cca5782bf66993441c7b478332bb76a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117607
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-23 16:24:12 +00:00
dawn-autoroll 7f3d54c4fa Roll vulkan-deps from d7dfd14fa0d0 to fbcb93d162f3 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/d7dfd14fa0d0..fbcb93d162f3

Changed dependencies:
* vulkan-validation-layers: 00adad5913..efc0e5693a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: lokokung@google.com
Change-Id: I27a336be411754dbd9045212a7751b90126840d1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117525
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-23 12:08:14 +00:00
Dawn Autoroller ad98166fe7 Roll ANGLE from 3b27647cb9f8 to df202660de19 (1 revision)
3b27647cb9..df202660de

2023-01-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 4303e3d5e898 to d184372e4c92 (604 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: lokokung@google.com
Change-Id: I2fa5c1e148cafd7c127e777c16c8b8a425f9c5fa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117640
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-23 09:34:06 +00:00
James Price ffe356d558 tint/lexer: Add 'diagnostic' keyword
Bug: tint:1809
Change-Id: I55ce14b8775a64c4f7ccbbd7e84094e9e4ee19a6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117560
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-01-22 11:00:53 +00:00
dan sinclair 57c0bbc2a5 Move ast/texel_format to type/texel_format.
This CL moves the texel_format code from ast to type to remove the
dependency on ast from type.

Change-Id: Ie075b2315360dc782284a7b4b55a817a9de31d78
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117606
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-01-21 23:51:25 +00:00
dan sinclair 61c16eb448 Move ast/access to type/access.
This CL moves the ast/access files into type/access to resolve the type
dependency on ast

Change-Id: Ic0973c5ad162166736abb07cf9bbed7efa91695b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117605
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-01-21 23:44:38 +00:00
dan sinclair e2ff3431f4 Split transforms out to their on source target.
This CL moves the transforms out of the `libtint_core_all_src` and into
a `libtint_transform_src` build target.

Change-Id: I44ac4d4a3da9f66b4b7f9e821ecced87d8b227f0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117243
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-21 23:41:56 +00:00
dan sinclair 18b2158b4e Move ast/address_space to type/
This CL moves the ast/address_space to type/address_space. This breaks
the type dependency on ast for AddressSpace.

Change-Id: Icb48e7423e18904865ec735024eb3b9864c947c2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117604
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-01-21 19:56:49 +00:00
dan sinclair 3cbf3fc4c5 Move TextureDimension to type/
This cl pulls TextureDimension out of ast/texture and into
type/texture_dimension removing a type dependency on ast.

Change-Id: Icf06ec32ee9051286f169ae9538c48416f513039
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117603
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-21 19:16:15 +00:00
dan sinclair d54dabeab5 Split the reader/ and writer/ out of libtint_core_all_src.
This CL splits the code in `reader/` and `writer/` out of the
`libtint_core_all_src` target and into individual `libtint_reader_src`
and `libtint_writer_src` targets. The various readers and writers are
updated to have the specific target as dependencies.

The `deps` are moved to being private from `public_deps`. The places
where dependencies were missing are updated.

Change-Id: I4e30113cdc6b1e1941efa34ce6579f8f501201ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117242
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-01-21 18:50:20 +00:00
dawn-autoroll 971f1e5678 Roll vulkan-deps from e55b93bb3f99 to d7dfd14fa0d0 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/e55b93bb3f99..d7dfd14fa0d0

Changed dependencies:
* glslang: 8504d5ae1c..0d3211ff7b
* vulkan-validation-layers: a45c490b0f..00adad5913

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: lokokung@google.com
Change-Id: Ieefd6af6c04e458be46724fae58f9b66549d005c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117523
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-21 13:16:15 +00:00
Dawn Autoroller ffcd62e7d7 Roll ANGLE from d4535966a35f to 3b27647cb9f8 (5 revisions)
d4535966a3..3b27647cb9

2023-01-21 yuxinhu@google.com Remove the temp workaround in presubmit script
2023-01-21 yuxinhu@google.com Add memory qualifier decorations for uniform buffer members
2023-01-20 romanl@google.com Tests: Add Family Island trace
2023-01-20 cnorthrop@google.com Tests: Add Royal Match trace
2023-01-20 tvignatti@igalia.com Metal: Fix MTLBarrierScope type availability

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: lokokung@google.com
Change-Id: Ia7d80dd183f964bb6b6528e6a31841dc949cb6b0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117541
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-21 09:25:21 +00:00
Austin Eng 387d57c805 Metal: set both depth/stencil attachments for combined formats
Adds a toggle to workaround another issue where Metal fails to set
the depth/stencil attachment correctly for a combined depth stencil
format if just one of the attachments is used. The workaround forces
both attachments to be set, giving the unused one LoadOp::Load and
StoreOp::Store so its contents are preserved.

Bug: dawn:1389
Change-Id: Iacbefcc57b33bf11ca8fcacb03506301646fe59d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117175
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-01-21 02:42:15 +00:00
dawn-autoroll be4f5cdbe8 Roll vulkan-deps from f709feae795b to e55b93bb3f99 (8 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f709feae795b..e55b93bb3f99

Changed dependencies:
* glslang: ca8d07d0bc..8504d5ae1c
* spirv-cross: 4be568c004..eb9b273298
* spirv-tools: c51e2afe00..cdc4e528f3
* vulkan-headers: 78448eda6e..1a43b498b8
* vulkan-validation-layers: 947366e2ce..a45c490b0f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: lokokung@google.com
Change-Id: Ia764a9cfa3d68d9cdc8a4c739ee2205791b0d57a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117522
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-21 00:22:40 +00:00
Dawn Autoroller f586545aef Roll ANGLE from c98a413c3ea7 to d4535966a35f (3 revisions)
c98a413c3e..d4535966a3

2023-01-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 823d1a0d7c30 to f709feae795b (13 revisions)
2023-01-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b7e315063b1a to 4303e3d5e898 (531 revisions)
2023-01-20 msisov@igalia.com Remove deprecated use_system_libwayland

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: lokokung@google.com
Change-Id: Idf54d4b9c238d5694e8820c0bb7024ffef9c33ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117540
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-01-20 20:20:03 +00:00
dawn-autoroll 0a31cadaf3 Roll vulkan-deps from 23014e30056e to f709feae795b (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/23014e30056e..f709feae795b

Changed dependencies:
* vulkan-headers: a841bc8e07..78448eda6e
* vulkan-loader: c77aeff461..125b4f665c
* vulkan-validation-layers: 57fe3f50cd..947366e2ce

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC lokokung@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: lokokung@google.com
Change-Id: I5ec0389cf4e91ea16d45327b0a64c598834c7c86
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117521
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-20 10:25:12 +00:00