Commit Graph

10055 Commits

Author SHA1 Message Date
Corentin Wallez a84b9119eb tint: Make the error message on `enable(f16)` more clear
Explicitly call out that enable directives don't take parenthesis
instead of saying "invalid extension name".

Bug: tint:1620
Change-Id: I124568fdee2fa5bddf1426bed52762a329bd5d9f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96686
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-21 15:53:55 +00:00
Ben Clayton 5716611bf0 tint/resolver: Materialize objects when indexed with non-const index
If an abstract-vector or abstract-matrix is indexed with a non-constant index expression, then the resulting value is non-constant, and so cannot be abstract.

In this situation the materialization cannot be done post-index, so materialization must happen on the object before indexing.

Bug: chromium:1345468
Change-Id: I9f29dc40301779a7ff8f173724374bd845a3a5b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96684
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-07-21 15:25:35 +00:00
dawn-autoroll fef38d3b47 Roll vulkan-deps from 0aecd4794a03 to 5cb0a31b27bf (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/0aecd4794a03..5cb0a31b27bf

Changed dependencies:
* vulkan-headers: 16847a6100..87d2aa9d77
* vulkan-validation-layers: 081e14d462..52aadfabb5

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 kainino@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: kainino@google.com
Change-Id: Ia48d7a5d6ccfb19dd22fa4b174c7577ed2cf26f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96840
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>
2022-07-21 13:55:14 +00:00
Dawn Autoroller e57e0897c4 Roll ANGLE from 84bfb6cef4d3 to 992018c7bd18 (2 revisions)
84bfb6cef4..992018c7bd

2022-07-20 romanl@google.com Suppress VUID-VkGraphicsPipelineCreateInfo-pStages-06896.
2022-07-20 ynovikov@chromium.org Skip TracePerfTest vulkan_car_chase on Linux Intel

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 kainino@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: kainino@google.com
Change-Id: I320d12475d4f54398f3d79f35de46dc2c745563a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96740
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-21 05:55:54 +00:00
dawn-autoroll 8ec9f19658 Roll vulkan-deps from 9b27c067cd6f to 0aecd4794a03 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/9b27c067cd6f..0aecd4794a03

Changed dependencies:
* spirv-tools: 60615b8ec6..e4cfa190df
* vulkan-validation-layers: 9c37a01524..081e14d462

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 kainino@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: kainino@google.com
Change-Id: I887b6d900a282c501499c867123b40b1e48a12f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96720
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>
2022-07-21 00:15:44 +00:00
Antonio Maiorano 3b8b9699d6 tint: Implement const eval of unary minus
Bug: tint:1581
Change-Id: I228e8d083229fabfe8a4c0876160d673502e10a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96422
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-20 18:00:35 +00:00
Dawn Autoroller f0a52d8f20 Roll ANGLE from fc97b2da2c29 to 84bfb6cef4d3 (1 revision)
fc97b2da2c..84bfb6cef4

2022-07-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 806fa2d991d9 to 16ae342caefb (283 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 kainino@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: kainino@google.com
Change-Id: I176d9c10c6ac0c571569cbe5df42e85934bd2193
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96700
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-20 16:53:55 +00:00
Corentin Wallez 256e026f64 dawn: Add Device::CreateErrorTexture(desc)
This will be used by Blink to create error textures with correct
reflection information exposed to JavaScript.

Bug: chromium:1345736
Change-Id: I0bc3a72d602c1bb57dc76e90f4883951f86ef428
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96681
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
2022-07-20 16:07:44 +00:00
Alastair F. Donaldson eb02cd3301 Regex fuzzer: replace function calls with builtins
Replaces random identifiers used as function names in calls with the
names of builtin functions.

Fixes: tint:1617.
Change-Id: I4e70276c9023bcb35b860c98fca6a95dc284f60a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96580
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2022-07-20 16:05:14 +00:00
Alastair F. Donaldson ca21fa019f Update dictionary for fuzzing
Updates the dictionary that will be used by libFuzzer fuzzer targets
to reflect the latest developments in WGSL.

Bug: None
Change-Id: I9f9915f14289b15fcc04829d463e90bb96948880
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96685
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
2022-07-20 16:04:44 +00:00
dan sinclair 46c32d882d Early out Is checks.
This CL adds a check to the `Is` castable methods to determine if the
target type is `final`. If the type being compared too is `final` we
bail out early in the walk up the hierarchy as it won't be a parent
class.

Change-Id: Ieba4dd686e47207a3db0cf3a8ea46fbc1a8d1c91
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96600
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-07-20 15:53:14 +00:00
Corentin Wallez 633cdf41cc tint/resolver: Make the F16 ban error message show a single SC.
The error message mentioned "'uniform' or 'storage'" and will need to be
updated to also mention 'push_constant' in follow-up commits. Instead
make the error messages show only the storage class of the variable.

Bug: tint:1620
Change-Id: I266a948f8a8fb70d57031d15306a5e82400e4c75
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96683
Reviewed-by: dan sinclair <dsinclair@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-07-20 14:15:54 +00:00
dawn-autoroll dbf3f4c8c2 Roll vulkan-deps from 80e1128410d5 to 9b27c067cd6f (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/80e1128410d5..9b27c067cd6f

Changed dependencies:
* vulkan-validation-layers: cb13f0fd8e..9c37a01524

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 kainino@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: kainino@google.com
Change-Id: I40fac6695eda521d387902373879aebfcb77fb9c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96641
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-20 11:13:45 +00:00
Brandon Jones 81768c131f Validate that depth clear values are between 0, 1
Fixes missing validation exposed by the addition of
https://github.com/gpuweb/cts/pull/1640 to the CTS.

Change-Id: Ib51124603a6fcec973eeab9ac1ed989add209c9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96481
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-20 04:18:35 +00:00
Dawn Autoroller 6bb4e1aeff Roll ANGLE from 45e5cf014778 to fc97b2da2c29 (9 revisions)
45e5cf0147..fc97b2da2c

2022-07-20 lfy@google.com Vulkan: Always use depth<=256 AHB image siblings
2022-07-19 lfy@google.com Vulkan: account for yuvCscStandard in switch validation
2022-07-19 lfy@google.com Vulkan: Support GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
2022-07-19 lfy@google.com Vulkan: __samplerExternal2DY2YEXT-aware ProgramExecutableVk
2022-07-19 lfy@google.com Vulkan: __samplerExternal2DY2YEXT-aware TextureVk
2022-07-19 cclao@google.com Vulkan: Destroy descriptorSet cache when BufferHelper destroyed
2022-07-19 cclao@google.com Vulkan: Destroy descriptorSet cache when BufferBlock destroyed
2022-07-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a1cfdbdf4c3b to 806fa2d991d9 (256 revisions)
2022-07-19 cclao@google.com Vulkan: Split suballocation out into it's own file

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 kainino@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: kainino@google.com
Change-Id: I0ecbcf3f92f53272a4cfdb34ea51ade8dc62f04f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96561
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>
2022-07-20 04:01:34 +00:00
Jiawei Shao 44b0a5e9a3 D3D12: Don't set D3D12_CLEAR_VALUE on depth textures on Gen12 GPUs
This patch adds a workaround for Intel Gen12 GPUs that we don't set
D3D12_CLEAR_VALUE when creating a texture with any DXGI depth formats
(DXGI_FORMAT_D16_UNORM, DXGI_FORMAT_D32_FLOAT,
DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_D32_FLOAT_S8X24_UINT)
because on these GPUs the texture data may be corrupted after several
call of ClearDepthStencilView() if D3D12_CLEAR_VALUE is set in the
call of CreatePlacedResource() or CreateCommittedResource().

Bug: dawn:1487
Test: dawn_end2end_tests
Change-Id: Id44af0f6fe31773820f5e20d05edd275dd921e53
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96482
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2022-07-20 02:28:34 +00:00
Yan,Shaobo aea3154e46 CopyTextureForBrowser supports RGBA16Float as source texture format
Source canvas format could be RGBA16Float so expand CopyTextureForBrowser
source texture format to support it.

Bug: dawn:856
Change-Id: I35d072ef3b7f58b96ae50a24e135b344ef7eb9b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96483
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-07-20 00:06:13 +00:00
dawn-autoroll 26cdbe3bda Roll vulkan-deps from c42337d9ef75 to 80e1128410d5 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c42337d9ef75..80e1128410d5

Changed dependencies:
* spirv-tools: 93ebf698a0..60615b8ec6
* vulkan-validation-layers: eb67f9bbef..cb13f0fd8e

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 kainino@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: kainino@google.com
Change-Id: I610a79ca587ce97d88c8d2faad4426996b8df92f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96620
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>
2022-07-19 21:27:23 +00:00
Alastair F. Donaldson e4df87fd01 Regex fuzzer: Add break and continue statements
Adds a break and continue statements to randomly-chosen loops. Also
overhauls support for adding return statements to functions.

Fixes: tint:1125.
Change-Id: Ib1a82b49e3fbb0b5520c725c8b8459d68383bed2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96543
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-19 16:59:33 +00:00
Alastair F. Donaldson 84f7830874 Regex fuzzer: replace operators
A mutation that replaces operators in a WGSL-like string at random.

Fixes: tint:1092.

Change-Id: I912825365f338266d34a1bffb5c8a96cecaba179
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96404
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2022-07-19 15:55:43 +00:00
Dawn Autoroller 7bcf410d0b Roll ANGLE from 062788fa6be1 to 45e5cf014778 (46 revisions)
062788fa6b..45e5cf0147

2022-07-19 lubosz.sarnecki@collabora.com Vulkan: Implement ASTC emulation.
2022-07-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b22fee44bf09 to c42337d9ef75 (4 revisions)
2022-07-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 14dcb8bf5432 to a1cfdbdf4c3b (455 revisions)
2022-07-19 gert.wollny@collabora.com Capture/Replay: drop context capture call in EGL capture templ
2022-07-19 syoussefi@chromium.org Vulkan: Only modify input attachment images for FF MSAA fix up
2022-07-19 syoussefi@chromium.org Vulkan: Clean up garbage of last completed submission too
2022-07-18 syoussefi@chromium.org Translator: Remove early fragment tests transformation
2022-07-18 eddiehatfield@google.com Remove platform skips for cookie_run and real_cricket
2022-07-18 syoussefi@chromium.org Vulkan: Fix image arguments passed to functions in GLSL
2022-07-18 romanl@google.com Roll VK-GL-CTS from ef9a6635208b to 692df061716d (12 revisions)
2022-07-18 eddiehatfield@google.com Add new prerequisite type for GL_ENUM integers
2022-07-18 ynovikov@chromium.org Suppress SYNC-HAZARD-WRITE_AFTER_READ in vulkan_car_chase
2022-07-18 eddiehatfield@google.com Remove python version check in presubmit
2022-07-18 romanl@google.com Minor fixes: typos, links.
2022-07-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3204c0c798d3 to b22fee44bf09 (5 revisions)
2022-07-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d19b3e76906e to 14dcb8bf5432 (534 revisions)
2022-07-18 kpiddington@apple.com Metal: texture allocation failures handled incorrectly
2022-07-16 abdolrashidi@google.com Skip mutable texture upload tests through feature
2022-07-15 chris@rive.app Add a GL_ANGLE_shader_pixel_local_storage extension
2022-07-15 syoussefi@chromium.org Vulkan: Fix double clear of AHBs
2022-07-15 penghuang@chromium.org Inline all metal command buffer decoder methods
2022-07-15 ynovikov@chromium.org Return EXIT_FAILURE from run_perf_tests.py if any test failed
2022-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 07a6dec37162 to 3204c0c798d3 (8 revisions)
2022-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3840fb1fefb2 to d19b3e76906e (447 revisions)
2022-07-15 syoussefi@chromium.org Remove suppression for passing dEQP tests
2022-07-15 abdolrashidi@google.com Disable mutable texture upload on Win/Intel devs
2022-07-15 b.schade@samsung.com Fix linkValidateTransformFeedback for glLinkProgram
2022-07-15 qyearsley@chromium.org Update version of lucicfg for angle repo and regen config
2022-07-14 cclao@google.com Vulkan: Destroy descriptorSet cache when shader image is destroyed
2022-07-14 cclao@google.com Vulkan: Move DescriptorSet cache to DynamicDescriptorPool
2022-07-14 syoussefi@chromium.org Vulkan: Only apply MSAA FF fix up if executable has FF
2022-07-14 kpiddington@apple.com Metal fails to compile uniform blocks in ternary statements
2022-07-14 ynovikov@chromium.org Skip EGLBufferAgeTest.QueryBufferAge on Linux Intel Vulkan
2022-07-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f224faaabcd0 to 3840fb1fefb2 (566 revisions)
2022-07-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 50b3fdf7ad7d to 07a6dec37162 (2 revisions)
2022-07-14 gert.wollny@collabora.com Capture/Replay: Handle the case when there is no context
2022-07-14 romanl@google.com Propagate device type in ReuseUnterminatedDisplay.
2022-07-14 romanl@google.com Fix test dependency on EGL initialization elsewhere.
2022-07-14 abdolrashidi@google.com Reland "Vulkan: Flush texture updates more often"
2022-07-13 ynovikov@chromium.org Add MB config for linux-exp-test
2022-07-13 yuxinhu@google.com Vulkan: Multisample Framebuffer Fetch
2022-07-13 m.maiya@samsung.com Cleanup invalid EGL handles only if app called eglTermiate
2022-07-13 lexa.knyazev@gmail.com GL: Add emulateCopyTexImage2D workaround
2022-07-13 ynovikov@chromium.org Add Linux Intel experimental standalone bot
2022-07-13 constantine.shablya@collabora.com Implement GL_NV_read_depth_stencil
2022-07-13 romanl@google.com Revert "Spawn via vpython when old module detected."

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 kainino@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: kainino@google.com
Change-Id: Ia58c55034f52a261ce2ed36930c8b44120fbefef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96560
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>
2022-07-19 15:06:33 +00:00
Ben Clayton 056f97a9e5 tint: Add a benchmark for atan2 const eval
And increase the test runner timeout from 30s to 2min.
FXC really doesn't like this shader, however I expect this to be
made much faster once constant evaluation for atan2 is implemented.

Change-Id: Id8a8ba97b5a99a2f94633a0732300a35ba6dc1c3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96401
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-19 14:50:33 +00:00
Corentin Wallez 73a5a716b5 Clarify that dawn/common:internal_config doesn't leak out of Dawn.
Fixed: dawn:1491
Change-Id: I6b1560d9918762b935800eb13c7bccae970724cd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96542
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-19 12:49:03 +00:00
Alastair F. Donaldson 853cbadc8f Clean regex fuzzer API
Introduces a class to clearly identify the interface of the mutation
functions used during regex-based fuzzing.

Bug: None

Change-Id: Ia6d125227cffc1c0b8944764c4e21825fd31d5cd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96360
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
2022-07-19 09:31:33 +00:00
dawn-autoroll 1cfe319290 Roll vulkan-deps from 85028786f204 to c42337d9ef75 (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/85028786f204..c42337d9ef75

Changed dependencies:
* vulkan-validation-layers: ee10f70120..eb67f9bbef

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 kainino@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: kainino@google.com
Change-Id: I4cb2f30f01339fafe6afe6642ec976ee9cfef4ef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96484
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>
2022-07-19 08:21:22 +00:00
Kai Ninomiya 574f61e892 Skip some tests on ANGLE
SwANGLE implemented GL_NV_read_depth_stencil but it isn't working for us
for some reason.

Bug: dawn:1497
Change-Id: I8c48ec4142169c89c33c6ea1dfc81d978c8962dd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96500
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2022-07-19 00:28:52 +00:00
Sunny Sachanandani 6cbe015429 d3d12: Fix fence signal race when no command lists are submitted
Signaling a fence in Dawn without waiting can cause a race between Dawn
and Chromium over who signals the fence. Since D3D12 fences are allowed
to be rewound this can cause future waits to hang indefinitely if Dawn
loses the race and signals a lower value than what Chromium expects.

The signal without wait case happens when Dawn submits no command lists
e.g. when CopyExternalImageToTexture uses a zero-sized dimension. This
is the reason for the test failures in https://crrev.com/c/3700811 e.g.
https://ci.chromium.org/ui/p/chromium/builders/try/dawn-win10-x64-deps-rel/24617/overview

To fix the race, it's sufficient to wait before signaling if not already
waited which is what this CL does. This CL also makes the fence stay
alive until pending signals are done - this wasn't the root cause of the
hang described above, but it's still a good idea for robustness, and
also recommended based on discussion around past Chromium XR fence use.

Bug: dawn:576
Change-Id: I8c1d1a19fdb022ae28d26f6723c2f2bfc9c1c3c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96321
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
2022-07-18 22:04:52 +00:00
Ben Clayton 4a92a3c904 tint: Optimize sem node lookup
Add a 'NodeID' to each ast::Node which is the sequentially allocated
index of the node. Use this in sem::Info to map the AST node to the
semantic node, instead of using a std::unordered_map.

Optimised very hot code by entirely eliminating map lookups, and
dramatically reducing cache misses (lookups are usually sequentually
ordered).

Timings running
'webgpu:shader,execution,expression,call,builtin,atan2:f32:inputSource="const";vectorize="_undef_"'
with dawn/node, using SwiftShader:

    Without change: 3.22647107s
    With change:    3.10578879s

Bug: tint:1613
Change-Id: I22ec48d933b2e5f9da04494bff4e979e6f7b1982
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96140
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-18 20:50:02 +00:00
Austin Eng 8d73198aca Remove depth-clamping and add depth-clip-control feature
Fixed: dawn:1178
Change-Id: I251a7e05fec9ecef44300d4f948b2d0611888109
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96320
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-18 20:38:05 +00:00
dawn-autoroll f6f3d496a8 Roll vulkan-deps from b22fee44bf09 to 85028786f204 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/b22fee44bf09..85028786f204

Changed dependencies:
* vulkan-validation-layers: e81f04ef6b..ee10f70120

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 kainino@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: kainino@google.com
Change-Id: Ia02209677ad34e3c14d8f981d25c97d7a6e763ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96420
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-18 18:34:53 +00:00
Ben Clayton 70f7a1ee51 tint: Optimization: Avoid dynamic cast in TINT_ASSERT
We don't need / want to consider whether the node in the map is of
the SemanticNodeTypeFor type.

Change-Id: Ia0deb3f4e4624bf47e2155fea05f91547d747310
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96144
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-18 17:03:32 +00:00
Ben Clayton b71bcdd45e tint: Optimization: Pre-allocate the ast -> sem map.
Change-Id: I674fe31786b08153509b470d14844d50cb7c3d9c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96143
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-18 16:47:32 +00:00
Zhaoming Jiang 59e640b208 tint: Add f16 support for operator
This patch add support for using f16 types in unary operator `-` and
binary operator `+`, `-`, `*`, `/`, `%`, `<`, `>`, `<=`, and `>=`.
`==` is already supported. Unittests are also implemented.

Bug: tint:1473, tint:1502
Change-Id: I1123fa5e9e586ec0d8522b0f6bacafb4ad53ffcf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96380
Auto-Submit: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-18 14:38:32 +00:00
Yuly Novikov cd74244614 Follow up on Roll third_party/webgpu-cts/ 8cfc317e2..a41bc407a
Include Optiplex 7080 Linux in the suppressions added in
https://dawn-review.googlesource.com/c/dawn/+/96200

Change-Id: I8f99da7e6e42b675b40e200f0c668e638e2238f2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96402
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-18 14:06:42 +00:00
Ben Clayton 69cafb99e4 run-cts: Add `--dump-shaders` flag
A helper alias for `--verbose --flag=enable-dawn-features=dump_shaders`, which is hard to remember.

Change-Id: I4795a2c3b6f20834cf81d2d6ec4bfca67d29a6f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96400
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-18 11:11:12 +00:00
dawn-autoroll e634752fc8 Roll vulkan-deps from eccc1856212b to b22fee44bf09 (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/eccc1856212b..b22fee44bf09

Changed dependencies:
* vulkan-loader: 30cb46bf7e..a13608020f
* vulkan-validation-layers: 2c0a972ce0..e81f04ef6b

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 bclayton@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: bclayton@google.com
Change-Id: I893207943e62a8af48f5a8e76e0575406355dc68
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96322
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-16 05:46:31 +00:00
Ben Clayton 605b7fbadc tint/writer/glsl: Simplify map keys with UnorderedKeyWrapper
And remove the unused DMAIntrinsic struct / field.

Change-Id: I641c066a7bc22dc903592b3928705be56d83392c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96145
Reviewed-by: Zhaoming Jiang <zhaoming.jiang@intel.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2022-07-16 00:00:29 +00:00
Ben Clayton ac660c2794 tint: Implement const eval of unary complement
Bug: tint:1581
Bug: chromium:1343242
Change-Id: I76b4f041494ceb2afcf5a604fcda32e046ffca35
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96100
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-15 23:54:10 +00:00
Ben Clayton 83bd738ab4 tint/resolver: Track evaluation stage
Keep track of the earliest evaluation point for an expression.
Required to properly track what can be assigned to a `const`, `override`, `let`, `var`.

Bug: tint:1601
Bug: chromium:1343242
Change-Id: I301eec21b71e9036dc1bf6c9af8079317d724762
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95949
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-15 23:46:31 +00:00
Ben Clayton db89595550 tint: Add a Count() method to BlockAllocator.
Tells you how many things you've allocated.
Will be used for various optimizations.

Change-Id: I8a31bb06e2b23781245bbfd16fabc9b85e440d14
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96142
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-15 23:42:14 +00:00
Ben Clayton 6a80ce6c66 tint/resolver: Use the intrinsic table for type const dispatch
Use the @const annotations to more efficently dispatch to the right
method of the ConstEval class.

Reduces a whole lot of dynamic casting logic.

Change-Id: I6791aac51b935b46d63af29abd1e577b3306a0ff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95950
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2022-07-15 22:27:50 +00:00
Austin Eng 30d672963c Skip CTS tests crashing with SwiftShader
Some web_platform:* tests are crashing due to issues with SharedImage
and canvas formats.

Bug: chromium:1344876
Change-Id: I0a708bad15b3d19299ce614ad43ab58c888e5291
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96300
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
2022-07-15 19:12:29 +00:00
Ben Clayton 8b0ceea0b1 tint: Clean up legacy type cruft
Fix TODOs dating back to when types were an AST / SEM hybrid concept.
Bring the `arch.md` to reflect how things work today.

Bug: tint:724
Change-Id: I6bf4174158cf490f2839aeed78164b66e3410f27
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96141
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-15 17:16:49 +00:00
dawn-autoroll 68335f88c3 Roll vulkan-deps from 3204c0c798d3 to eccc1856212b (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/3204c0c798d3..eccc1856212b

Changed dependencies:
* spirv-tools: e2cf769302..93ebf698a0
* vulkan-validation-layers: 427d39742f..2c0a972ce0

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 bclayton@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: bclayton@google.com
Change-Id: I5abc3331abcc1960556103da2966bf8953b561d8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96253
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>
2022-07-15 16:51:49 +00:00
Ben Clayton e21267fe94 Roll third_party/webgpu-cts/ 8cfc317e2..a41bc407a (23 commits)
Update:
 - expectations.txt
 - ts_sources.txt
 - resource_files.txt
 - webtest .html files


8cfc317e23..a41bc407a8
 - a41bc4 Implement val:render_pass_descriptor:timestampWrite,same_query_index (#1656)
 - 167076 Implement val:render_pass_descriptor:timestamp_writes_query_set_type (#1653)
 - 06954d Implement val:render_pass_descriptor:timestampWrite,query_index (#1654)
 - deec4f Implement val:render_pass_descriptor:occlusion_query_set_type (#1652)
 - 3bef26 Succinct the test names of render_pass_descriptor.spec.ts (3/3) (#1651)
 - 425fc8 Convert `clamp` f32 tests to use interval framework (#1645)
 - 46fce2 Add support for multiple intervals to FP testing framework (#1643)
 - 09c7fb Address feedback from Kai
 - f803ff Add context configuration tests
 - d620a1 Address feedback from Kai
 - 77633d Add tests for getCurrentTexture and getPreferredCanvasFormat
 - 781ad8 Succinct the test names of render_pass_descriptor.spec.ts (2/n) (#1639)
 - d7ca02 Implement val:render_pass_descriptor:timestamp_writes_location (#1630)
 - 09793f Test zero levels or layers is invalid in render_pass,resolve:resolve_attachment (#1600)
 - daf0da Split shader_stages_and_visibility and add control cases
 - 496182 Rewrite usage validation scope tests
 - f4e9a3 refactor: split out makeConflictingBindGroups from testValidationScope
 - bc278d nits: simplify a few things in this file
 - a65914 Implement val:render_pass_descriptor:depth_stencil_attachment_depth_clear_value (#1640)
 - a6bab7 Implement api,validation,capability_checks,features,texture_formats:canvas_configuration_view_formats (#1593)
 - e7f8fe Succinct the test names of render_pass_descriptor.spec.ts (1/n) (#1619)
 - 7f3683 Convert `fract` tests to use interval framework (#1612)
 - d8009f Correct logInterval & log2Interval handling of out of bounds inputs (#1629)

Created with './tools/run cts roll'

Change-Id: I10d895c4a11252317619f7ea480c97d821cbf81c
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96200
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
2022-07-15 16:25:39 +00:00
Ben Clayton 8f488524b8 perfmon: Use backticks for analysis table
Using whitespace for code blocks no longer works with gerrit

Change-Id: I614aff78297ab96a3663888d59c10d8ad295c076
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96280
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2022-07-15 16:23:19 +00:00
Ben Clayton f19cb029b8 tint: Remove single scalar matrix constructors.
These were never part of the spec, and they were not correctly
implemented for all backends.

Fixed: tint:1597
Change-Id: If1a23f1619c61c53baae277f1cf37aee4460ab7b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95952
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-15 15:25:30 +00:00
Ben Clayton 65c5c9d92b tint/resolver: Add ConstEval class
Extract out the methods of Resolver::EvaluateXXXValue() to a new
tint::resolver::ConstEval class.

Removes more bloat from Resolver, and creates a centralized class for
constant evaluation, which can be referred to by the IntrinsicTable.

Change-Id: I3b58882ef293fe07f019ad2138a7e9dbbac8de53
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95951
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-15 14:14:09 +00:00
Ben Clayton cfe07a1b33 tint/resolver: Shuffle validation code
Restructure the logic so there's less, pointless dynamic casting, and the complexity is reduced.

This alters the order in which variables are validated, hence the change of test.

Change-Id: I9a3120c0278faa5ac9f1db65eeb71a8e4a705596
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95948
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-15 13:01:49 +00:00
Zhaoming Jiang e0ecd86e73 tint/writer/glsl: Fix emitting float modulo with mixing type
This patch fix the GLSL writer issue that emit only one helper function
when using both `v % s`, `s % v` and `v % vs in the shader, where `s` is
of `f32` and `v` is a vector of `f32`. Unittests are added for GLSL.

Bug: tint:1614
Change-Id: Ia89ae010341b9c88b8101cc6febab7d83c96bb17
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96085
Reviewed-by: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-07-15 11:05:29 +00:00