tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 525109ca09cf8d26121ba22576f5d87aeca24236
parent 790042ee65f5ad8a55de040e3d96c80dc4f70a28
Author: Erich Gubler <erichdongubler@gmail.com>
Date:   Tue,  2 Dec 2025 19:06:58 +0000

Bug 2001890 - test(webgpu): update CTS to 3314e4108692d0c201f0d381bf10ddc8dbbc7b69 r=webgpu-reviewers,nical

Differential Revision: https://phabricator.services.mozilla.com/D273744

Diffstat:
Mdom/webgpu/tests/cts/checkout/.eslintrc.json | 5+++++
Mdom/webgpu/tests/cts/checkout/src/common/framework/test_config.ts | 4++--
Mdom/webgpu/tests/cts/checkout/src/common/util/navigator_gpu.ts | 7+++++--
Mdom/webgpu/tests/cts/checkout/src/common/util/util.ts | 9+++++++++
Mdom/webgpu/tests/cts/checkout/src/resources/cache/hashes.json | 220++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/info.spec.ts | 4++--
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/requestDevice.spec.ts | 12++++++------
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/operation/device/all_limits_and_features.spec.ts | 1+
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats.spec.ts | 12++++++------
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats_tier1.spec.ts | 3++-
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats_tier2.spec.ts | 7++++---
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.ts | 4++--
Mdom/webgpu/tests/cts/checkout/src/webgpu/api/validation/render_pipeline/primitive_state.spec.ts | 3++-
Mdom/webgpu/tests/cts/checkout/src/webgpu/capability_info.ts | 6++++--
Mdom/webgpu/tests/cts/checkout/src/webgpu/format_info.ts | 34++++++++++++++++++----------------
Mdom/webgpu/tests/cts/checkout/src/webgpu/gpu_test.ts | 12++++++++----
Mdom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts | 9+++++----
Mdom/webgpu/tests/cts/checkout/src/webgpu/util/device_pool.ts | 3++-
Mdom/webgpu/tests/cts/checkout/tools/gen_version | 2+-
Mdom/webgpu/tests/cts/moz.yaml | 4++--
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/resource_usages/texture/in_render_common/cts.https.html.ini | 26+++++++++++++-------------
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/state/device_lost/destroy/cts.https.html.ini | 27++++++++++++++++-----------
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupAdd/cts.https.html.ini | 53++++++++++++++++++++++++++++++++++++++++-------------
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupMinMax/cts.https.html.ini | 41++++++++++++++++++++++++++++++++++++++++-
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupMul/cts.https.html.ini | 240+++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureGather/cts.https.html.ini | 178+++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureGatherCompare/cts.https.html.ini | 57++++++++++++++++++++++++++++++++-------------------------
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSample/cts.https.html.ini | 2+-
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleBias/cts.https.html.ini | 3++-
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleCompare/cts.https.html.ini | 2+-
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel/cts.https.html.ini | 4++--
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleGrad/cts.https.html.ini | 5+++--
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleLevel/cts.https.html.ini | 28++++++++++++++++++++++++----
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/canvas/getCurrentTexture/dedicated.https.html.ini | 2++
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/cts.https.html.ini | 4++--
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/dedicated.https.html.ini | 3++-
Mtesting/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/shared.https.html.ini | 19+++++++++++++++----
Mtesting/web-platform/mozilla/tests/webgpu/common/framework/test_config.js | 4++--
Mtesting/web-platform/mozilla/tests/webgpu/common/internal/version.js | 2+-
Mtesting/web-platform/mozilla/tests/webgpu/common/util/navigator_gpu.js | 7+++++--
Mtesting/web-platform/mozilla/tests/webgpu/common/util/util.js | 9+++++++++
Mtesting/web-platform/mozilla/tests/webgpu/resources/cache/hashes.json | 220++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/operation/adapter/info.spec.js | 4++--
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/operation/adapter/requestDevice.spec.js | 12++++++------
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/operation/device/all_limits_and_features.spec.js | 1+
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats.spec.js | 12++++++------
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats_tier1.spec.js | 3++-
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats_tier2.spec.js | 7++++---
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.js | 4++--
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/api/validation/render_pipeline/primitive_state.spec.js | 3++-
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/capability_info.js | 6++++--
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/format_info.js | 34++++++++++++++++++----------------
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/gpu_test.js | 14+++++++++-----
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/call/builtin/texture_utils.js | 9+++++----
Mtesting/web-platform/mozilla/tests/webgpu/webgpu/util/device_pool.js | 5+++--
55 files changed, 829 insertions(+), 582 deletions(-)

diff --git a/dom/webgpu/tests/cts/checkout/.eslintrc.json b/dom/webgpu/tests/cts/checkout/.eslintrc.json @@ -58,6 +58,11 @@ "message": "Use requestDeviceTracked() instead of requestDevice().", // We don't seem to need direct calls to requestDevice() at all so we can just disallow all of them. "selector": "CallExpression > MemberExpression > Identifier[name=\"requestDevice\"]" + }, + { + "message": "Use hasFeature() instead of features.has().", + // features.has takes any string. We want only valid feature names. + "selector": "CallExpression[callee.property.name='has'][callee.object.name='features'],CallExpression[callee.property.name='has'][callee.object.property.name='features']" } ], diff --git a/dom/webgpu/tests/cts/checkout/src/common/framework/test_config.ts b/dom/webgpu/tests/cts/checkout/src/common/framework/test_config.ts @@ -1,4 +1,4 @@ -import { assert } from '../util/util.js'; +import { assert, hasFeature } from '../util/util.js'; export type TestConfig = { /** @@ -90,7 +90,7 @@ export const globalTestConfig: TestConfig = { // is trying to test that compatibility devices have the correct validation. export function isCompatibilityDevice(device: GPUDevice) { if (globalTestConfig.compatibility) { - assert(!device.features.has('core-features-and-limits')); + assert(!hasFeature(device.features, 'core-features-and-limits')); } return globalTestConfig.compatibility; } diff --git a/dom/webgpu/tests/cts/checkout/src/common/util/navigator_gpu.ts b/dom/webgpu/tests/cts/checkout/src/common/util/navigator_gpu.ts @@ -2,7 +2,7 @@ import { TestCaseRecorder } from '../framework/fixture.js'; import { globalTestConfig } from '../framework/test_config.js'; -import { ErrorWithExtra, assert, objectEquals } from './util.js'; +import { ErrorWithExtra, assert, hasFeature, objectEquals } from './util.js'; /** * Finds and returns the `navigator.gpu` object (or equivalent, for non-browser implementations). @@ -164,7 +164,9 @@ export function getGPU(recorder: TestCaseRecorder | null): GPU { Object.defineProperty(adapter, 'features', { enumerable: false, value: new Set( - adapter.features.has('core-features-and-limits') ? ['core-features-and-limits'] : [] + hasFeature(adapter.features, 'core-features-and-limits') + ? ['core-features-and-limits'] + : [] ), }); } @@ -177,6 +179,7 @@ export function getGPU(recorder: TestCaseRecorder | null): GPU { for (const [feature] of desc.requiredFeatures) { // Note: This adapter has had its features property over-ridden and will only return // have nothing or 'core-features-and-limits'. + // eslint-disable-next-line no-restricted-syntax if (!adapter.features.has(feature)) { throw new TypeError(`requested feature ${feature} does not exist on adapter`); } diff --git a/dom/webgpu/tests/cts/checkout/src/common/util/util.ts b/dom/webgpu/tests/cts/checkout/src/common/util/util.ts @@ -496,3 +496,12 @@ export function filterUniqueValueTestVariants(valueTestVariants: ValueTestVarian export function makeValueTestVariant(base: number, variant: ValueTestVariant) { return base * variant.mult + variant.add; } + +/** + * Use instead of features.has because feature's has takes any string + * and we want to prevent typos. + */ +export function hasFeature(features: GPUSupportedFeatures, feature: GPUFeatureName) { + // eslint-disable-next-line no-restricted-syntax + return features.has(feature); +} diff --git a/dom/webgpu/tests/cts/checkout/src/resources/cache/hashes.json b/dom/webgpu/tests/cts/checkout/src/resources/cache/hashes.json @@ -1,112 +1,112 @@ { - "webgpu/shader/execution/binary/af_addition.bin": "b1b71eea", - "webgpu/shader/execution/binary/af_logical.bin": "bca2200a", - "webgpu/shader/execution/binary/af_division.bin": "cfda1ac2", - "webgpu/shader/execution/binary/af_matrix_addition.bin": "4473c45a", - "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "e945ec79", - "webgpu/shader/execution/binary/af_multiplication.bin": "eb6c672", - "webgpu/shader/execution/binary/af_remainder.bin": "e971fba9", - "webgpu/shader/execution/binary/af_subtraction.bin": "72293f91", - "webgpu/shader/execution/binary/f16_addition.bin": "ea5505aa", - "webgpu/shader/execution/binary/f16_logical.bin": "7cf1347f", - "webgpu/shader/execution/binary/f16_division.bin": "c05f4feb", - "webgpu/shader/execution/binary/f16_matrix_addition.bin": "429f8589", - "webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "5ce1d443", - "webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "ff07ce52", - "webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "8693f3e", - "webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "1a4cc717", - "webgpu/shader/execution/binary/f16_multiplication.bin": "604b8407", - "webgpu/shader/execution/binary/f16_remainder.bin": "bc510eb0", - "webgpu/shader/execution/binary/f16_subtraction.bin": "81718e04", - "webgpu/shader/execution/binary/f32_addition.bin": "a04733a4", - "webgpu/shader/execution/binary/f32_logical.bin": "83d3ec3d", - "webgpu/shader/execution/binary/f32_division.bin": "d5c79df7", - "webgpu/shader/execution/binary/f32_matrix_addition.bin": "803f74e9", - "webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "2e1e2af9", - "webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "f60c6997", - "webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "bf68cb89", - "webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "9a6401bb", - "webgpu/shader/execution/binary/f32_multiplication.bin": "f1e1ef9a", - "webgpu/shader/execution/binary/f32_remainder.bin": "da5afd13", - "webgpu/shader/execution/binary/f32_subtraction.bin": "830b567f", - "webgpu/shader/execution/binary/i32_arithmetic.bin": "c18da799", - "webgpu/shader/execution/binary/i32_comparison.bin": "848ceb5c", - "webgpu/shader/execution/binary/u32_arithmetic.bin": "dc0b2ed9", - "webgpu/shader/execution/binary/u32_comparison.bin": "2bae879f", - "webgpu/shader/execution/abs.bin": "561a28e0", - "webgpu/shader/execution/acos.bin": "8cc074ad", - "webgpu/shader/execution/acosh.bin": "8a510d97", - "webgpu/shader/execution/asin.bin": "14d5064", - "webgpu/shader/execution/asinh.bin": "1e00159", - "webgpu/shader/execution/atan.bin": "7a1fc6e9", - "webgpu/shader/execution/atan2.bin": "3a2974c9", - "webgpu/shader/execution/atanh.bin": "8d6dab0b", - "webgpu/shader/execution/bitcast.bin": "e307a369", - "webgpu/shader/execution/ceil.bin": "d02bdaad", - "webgpu/shader/execution/clamp.bin": "fcbe35ac", - "webgpu/shader/execution/cos.bin": "ccb1c23f", - "webgpu/shader/execution/cosh.bin": "a0a406ad", - "webgpu/shader/execution/cross.bin": "2a875fef", - "webgpu/shader/execution/degrees.bin": "50bb915a", - "webgpu/shader/execution/determinant.bin": "3e6249da", - "webgpu/shader/execution/distance.bin": "a29c5aa", - "webgpu/shader/execution/dot.bin": "466765d5", - "webgpu/shader/execution/exp.bin": "c2640231", - "webgpu/shader/execution/exp2.bin": "274b093f", - "webgpu/shader/execution/faceForward.bin": "4492d11d", - "webgpu/shader/execution/floor.bin": "d41f1c95", - "webgpu/shader/execution/fma.bin": "2fb1c38f", - "webgpu/shader/execution/fract.bin": "c9080e98", - "webgpu/shader/execution/frexp.bin": "b675bee4", - "webgpu/shader/execution/inverseSqrt.bin": "8b23d93a", - "webgpu/shader/execution/ldexp.bin": "ee536142", - "webgpu/shader/execution/length.bin": "b3384a6", - "webgpu/shader/execution/log.bin": "bd3a55f0", - "webgpu/shader/execution/log2.bin": "ff3794ac", - "webgpu/shader/execution/max.bin": "fce16c8a", - "webgpu/shader/execution/min.bin": "ff191ba4", - "webgpu/shader/execution/mix.bin": "4c4935e9", - "webgpu/shader/execution/modf.bin": "da3ae106", - "webgpu/shader/execution/normalize.bin": "35a5ec27", - "webgpu/shader/execution/pack2x16float.bin": "fec8b248", - "webgpu/shader/execution/pow.bin": "ee753258", - "webgpu/shader/execution/quantizeToF16.bin": "2c4ffde2", - "webgpu/shader/execution/radians.bin": "1fdd20d3", - "webgpu/shader/execution/reflect.bin": "ca02fe50", - "webgpu/shader/execution/refract.bin": "bdb6610", - "webgpu/shader/execution/round.bin": "b8be95b4", - "webgpu/shader/execution/saturate.bin": "74f21503", - "webgpu/shader/execution/sign.bin": "533d2185", - "webgpu/shader/execution/sin.bin": "e1c39c1b", - "webgpu/shader/execution/sinh.bin": "61da608d", - "webgpu/shader/execution/smoothstep.bin": "a6dd83ed", - "webgpu/shader/execution/sqrt.bin": "ca8cd266", - "webgpu/shader/execution/step.bin": "34459d7f", - "webgpu/shader/execution/tan.bin": "b5513d60", - "webgpu/shader/execution/tanh.bin": "6f67098a", - "webgpu/shader/execution/transpose.bin": "1dd8473f", - "webgpu/shader/execution/trunc.bin": "6df96e09", - "webgpu/shader/execution/unpack2x16float.bin": "1c7505ba", - "webgpu/shader/execution/unpack2x16snorm.bin": "ade8ed16", - "webgpu/shader/execution/unpack2x16unorm.bin": "d7b00631", - "webgpu/shader/execution/unpack4x8snorm.bin": "a21a1f80", - "webgpu/shader/execution/unpack4x8unorm.bin": "edb0945d", - "webgpu/shader/execution/unary/af_arithmetic.bin": "5f835ed1", - "webgpu/shader/execution/unary/af_assignment.bin": "ede88653", - "webgpu/shader/execution/unary/bool_conversion.bin": "1d58a0ac", - "webgpu/shader/execution/unary/f16_arithmetic.bin": "f01f7be8", - "webgpu/shader/execution/unary/f16_conversion.bin": "798114db", - "webgpu/shader/execution/unary/f32_arithmetic.bin": "dd24b472", - "webgpu/shader/execution/unary/f32_conversion.bin": "38c55dc0", - "webgpu/shader/execution/unary/i32_arithmetic.bin": "65d2d245", - "webgpu/shader/execution/unary/i32_conversion.bin": "6059380d", - "webgpu/shader/execution/unary/u32_conversion.bin": "9918d0a7", - "webgpu/shader/execution/unary/ai_assignment.bin": "587d799a", - "webgpu/shader/execution/binary/ai_arithmetic.bin": "3c8862bd", - "webgpu/shader/execution/unary/ai_arithmetic.bin": "d46137bc", - "webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin": "ba58dd07", - "webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin": "5fe0a0e3", - "webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin": "9f8ed988", - "webgpu/shader/execution/derivatives.bin": "7a039a71", - "webgpu/shader/execution/fwidth.bin": "30b40017" + "webgpu/shader/execution/binary/af_addition.bin": "da003be4", + "webgpu/shader/execution/binary/af_logical.bin": "14ad43ca", + "webgpu/shader/execution/binary/af_division.bin": "1296892b", + "webgpu/shader/execution/binary/af_matrix_addition.bin": "1317ab16", + "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "2853ad41", + "webgpu/shader/execution/binary/af_multiplication.bin": "5ee6bde6", + "webgpu/shader/execution/binary/af_remainder.bin": "366f8d30", + "webgpu/shader/execution/binary/af_subtraction.bin": "3c19e6fb", + "webgpu/shader/execution/binary/f16_addition.bin": "319185c0", + "webgpu/shader/execution/binary/f16_logical.bin": "94a83cb4", + "webgpu/shader/execution/binary/f16_division.bin": "635bbc5f", + "webgpu/shader/execution/binary/f16_matrix_addition.bin": "30070be5", + "webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "7e0e00db", + "webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "d538842d", + "webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "4b5ce37c", + "webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "7a4445de", + "webgpu/shader/execution/binary/f16_multiplication.bin": "b2c70232", + "webgpu/shader/execution/binary/f16_remainder.bin": "d138c173", + "webgpu/shader/execution/binary/f16_subtraction.bin": "e2515ca5", + "webgpu/shader/execution/binary/f32_addition.bin": "60286efc", + "webgpu/shader/execution/binary/f32_logical.bin": "a578e65b", + "webgpu/shader/execution/binary/f32_division.bin": "36d196b1", + "webgpu/shader/execution/binary/f32_matrix_addition.bin": "a11d772e", + "webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "d578a451", + "webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "a0259221", + "webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "9eb43464", + "webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "939f2e70", + "webgpu/shader/execution/binary/f32_multiplication.bin": "d34ce65d", + "webgpu/shader/execution/binary/f32_remainder.bin": "6fa6b892", + "webgpu/shader/execution/binary/f32_subtraction.bin": "ddb575f5", + "webgpu/shader/execution/binary/i32_arithmetic.bin": "5bc8c900", + "webgpu/shader/execution/binary/i32_comparison.bin": "9165629b", + "webgpu/shader/execution/binary/u32_arithmetic.bin": "fc8c6726", + "webgpu/shader/execution/binary/u32_comparison.bin": "598d0773", + "webgpu/shader/execution/abs.bin": "f4ea4f10", + "webgpu/shader/execution/acos.bin": "f7ccbfca", + "webgpu/shader/execution/acosh.bin": "11315a9f", + "webgpu/shader/execution/asin.bin": "7349a03b", + "webgpu/shader/execution/asinh.bin": "fdebffc6", + "webgpu/shader/execution/atan.bin": "723ae9a5", + "webgpu/shader/execution/atan2.bin": "57241996", + "webgpu/shader/execution/atanh.bin": "e72a7c31", + "webgpu/shader/execution/bitcast.bin": "3de97de", + "webgpu/shader/execution/ceil.bin": "29fd5fae", + "webgpu/shader/execution/clamp.bin": "8d0eafdb", + "webgpu/shader/execution/cos.bin": "eac17036", + "webgpu/shader/execution/cosh.bin": "575d952c", + "webgpu/shader/execution/cross.bin": "34b3306c", + "webgpu/shader/execution/degrees.bin": "e95cfd56", + "webgpu/shader/execution/determinant.bin": "cbf20e3c", + "webgpu/shader/execution/distance.bin": "1c119356", + "webgpu/shader/execution/dot.bin": "4da666a3", + "webgpu/shader/execution/exp.bin": "69ee596e", + "webgpu/shader/execution/exp2.bin": "1b0d4107", + "webgpu/shader/execution/faceForward.bin": "d9e806e", + "webgpu/shader/execution/floor.bin": "d04aaaed", + "webgpu/shader/execution/fma.bin": "ea6f3d9d", + "webgpu/shader/execution/fract.bin": "6041dbd3", + "webgpu/shader/execution/frexp.bin": "4f14eae", + "webgpu/shader/execution/inverseSqrt.bin": "a31d31ec", + "webgpu/shader/execution/ldexp.bin": "bc8d5e62", + "webgpu/shader/execution/length.bin": "52fc048a", + "webgpu/shader/execution/log.bin": "bdb94ae0", + "webgpu/shader/execution/log2.bin": "b92a3bca", + "webgpu/shader/execution/max.bin": "436f8f21", + "webgpu/shader/execution/min.bin": "21cb02b4", + "webgpu/shader/execution/mix.bin": "ef3d6b1b", + "webgpu/shader/execution/modf.bin": "55ff0437", + "webgpu/shader/execution/normalize.bin": "fd315393", + "webgpu/shader/execution/pack2x16float.bin": "8443853d", + "webgpu/shader/execution/pow.bin": "e1f4e61", + "webgpu/shader/execution/quantizeToF16.bin": "564caff5", + "webgpu/shader/execution/radians.bin": "3d50fa1a", + "webgpu/shader/execution/reflect.bin": "de3cdc23", + "webgpu/shader/execution/refract.bin": "a6b7cf0c", + "webgpu/shader/execution/round.bin": "5735993c", + "webgpu/shader/execution/saturate.bin": "58cb0de5", + "webgpu/shader/execution/sign.bin": "b59874a7", + "webgpu/shader/execution/sin.bin": "59c3422", + "webgpu/shader/execution/sinh.bin": "427c6297", + "webgpu/shader/execution/smoothstep.bin": "b0d9c07e", + "webgpu/shader/execution/sqrt.bin": "f207f4ac", + "webgpu/shader/execution/step.bin": "18a574a0", + "webgpu/shader/execution/tan.bin": "40504049", + "webgpu/shader/execution/tanh.bin": "7c1b22bd", + "webgpu/shader/execution/transpose.bin": "af20793c", + "webgpu/shader/execution/trunc.bin": "2d9f23e5", + "webgpu/shader/execution/unpack2x16float.bin": "de3c9cb4", + "webgpu/shader/execution/unpack2x16snorm.bin": "2cfc1791", + "webgpu/shader/execution/unpack2x16unorm.bin": "85ff09e", + "webgpu/shader/execution/unpack4x8snorm.bin": "e4c5b1f4", + "webgpu/shader/execution/unpack4x8unorm.bin": "1fd43872", + "webgpu/shader/execution/unary/af_arithmetic.bin": "daccee7d", + "webgpu/shader/execution/unary/af_assignment.bin": "fb1a84b1", + "webgpu/shader/execution/unary/bool_conversion.bin": "65b450a7", + "webgpu/shader/execution/unary/f16_arithmetic.bin": "79ee24a3", + "webgpu/shader/execution/unary/f16_conversion.bin": "920adf7", + "webgpu/shader/execution/unary/f32_arithmetic.bin": "9496759c", + "webgpu/shader/execution/unary/f32_conversion.bin": "dddb7940", + "webgpu/shader/execution/unary/i32_arithmetic.bin": "e9c53cb5", + "webgpu/shader/execution/unary/i32_conversion.bin": "87b5fd7", + "webgpu/shader/execution/unary/u32_conversion.bin": "70718f67", + "webgpu/shader/execution/unary/ai_assignment.bin": "4fad3c69", + "webgpu/shader/execution/binary/ai_arithmetic.bin": "a00c8197", + "webgpu/shader/execution/unary/ai_arithmetic.bin": "3b481d45", + "webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin": "47b72af2", + "webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin": "1a5c6719", + "webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin": "1b8f17cf", + "webgpu/shader/execution/derivatives.bin": "6d72e1fb", + "webgpu/shader/execution/fwidth.bin": "c00ddf59" } \ No newline at end of file diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/info.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/info.spec.ts @@ -6,7 +6,7 @@ import { Fixture } from '../../../../common/framework/fixture.js'; import { makeTestGroup } from '../../../../common/framework/test_group.js'; import { keysOf } from '../../../../common/util/data_tables.js'; import { getGPU } from '../../../../common/util/navigator_gpu.js'; -import { assert, objectEquals } from '../../../../common/util/util.js'; +import { assert, hasFeature, objectEquals } from '../../../../common/util/util.js'; import { isPowerOfTwo } from '../../../util/math.js'; export const g = makeTestGroup(Fixture); @@ -158,7 +158,7 @@ If they exist, they must both exist and be powers of two, and // Once 'subgroups' lands, the properties should be defined with default values 4 and 128 // when adapter does not support the feature. // https://github.com/gpuweb/gpuweb/pull/4963 - if (adapter.features.has('subgroups')) { + if (hasFeature(adapter.features, 'subgroups')) { t.expect( subgroupMinSize !== undefined, 'GPUAdapterInfo.subgroupMinSize must exist when subgroups supported' diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/requestDevice.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/requestDevice.spec.ts @@ -8,7 +8,7 @@ potentially limited native resources. import { Fixture } from '../../../../common/framework/fixture.js'; import { makeTestGroup } from '../../../../common/framework/test_group.js'; import { getGPU } from '../../../../common/util/navigator_gpu.js'; -import { assert, assertReject, typedEntries } from '../../../../common/util/util.js'; +import { assert, assertReject, hasFeature, typedEntries } from '../../../../common/util/util.js'; import { getDefaultLimitsForCTS, kFeatureNames, @@ -44,7 +44,7 @@ g.test('default') if (device.features.size === 1) { t.expect( - device.features.has('core-features-and-limits'), + hasFeature(device.features, 'core-features-and-limits'), 'Default device should not have any features other than "core-features-and-limits"' ); } else { @@ -204,9 +204,9 @@ g.test('features,known') assert(adapter !== null); const promise = t.requestDeviceTracked(adapter, { requiredFeatures: [feature] }); - if (adapter.features.has(feature)) { + if (hasFeature(adapter.features, feature)) { const device = await promise; - t.expect(device.features.has(feature), 'Device should include the required feature'); + t.expect(hasFeature(device.features, feature), 'Device should include the required feature'); } else { t.shouldReject('TypeError', promise); } @@ -496,12 +496,12 @@ g.test('always_returns_device') const device = await t.requestDeviceTracked(adapter); assert(device instanceof GPUDevice, 'requestDevice must return a device or throw'); - if (featureLevel === 'core' && adapter.features.has('core-features-and-limits')) { + if (featureLevel === 'core' && hasFeature(adapter.features, 'core-features-and-limits')) { // Check if the device supports core, when featureLevel is core and adapter supports core. // This check is to make sure something lower-level is not forcing compatibility mode. t.expect( - device.features.has('core-features-and-limits'), + hasFeature(device.features, 'core-features-and-limits'), 'must not get a Compatibility adapter if not requested' ); } diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/device/all_limits_and_features.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/device/all_limits_and_features.spec.ts @@ -103,6 +103,7 @@ changes to WebGPU do not break sites requesting everything. // Test that all the adapter features are on the device. for (const feature of t.adapter.features) { + // eslint-disable-next-line no-restricted-syntax t.expect(t.device.features.has(feature), `device has feature: ${feature}`); } }); diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats.spec.ts @@ -4,7 +4,7 @@ Tests for capability checking for features enabling optional texture formats. import { makeTestGroup } from '../../../../../common/framework/test_group.js'; import { getGPU } from '../../../../../common/util/navigator_gpu.js'; -import { assert } from '../../../../../common/util/util.js'; +import { assert, hasFeature } from '../../../../../common/util/util.js'; import { kCanvasTextureFormats } from '../../../../capability_info.js'; import { kASTCCompressedTextureFormats, @@ -551,11 +551,11 @@ g.test('check_capability_guarantees') const features = adapter.features; - const supportsBC = features.has('texture-compression-bc'); - const supportsBCSliced3D = features.has('texture-compression-bc-sliced-3d'); - const supportsASTC = features.has('texture-compression-astc'); - const supportsASTCSliced3D = features.has('texture-compression-astc-sliced-3d'); - const supportsETC2 = features.has('texture-compression-etc2'); + const supportsBC = hasFeature(features, 'texture-compression-bc'); + const supportsBCSliced3D = hasFeature(features, 'texture-compression-bc-sliced-3d'); + const supportsASTC = hasFeature(features, 'texture-compression-astc'); + const supportsASTCSliced3D = hasFeature(features, 'texture-compression-astc-sliced-3d'); + const supportsETC2 = hasFeature(features, 'texture-compression-etc2'); t.expect( supportsBC || (supportsETC2 && supportsASTC), diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats_tier1.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats_tier1.spec.ts @@ -13,6 +13,7 @@ when the feature is not enabled. This includes: `; import { makeTestGroup } from '../../../../../common/framework/test_group.js'; +import { hasFeature } from '../../../../../common/util/util.js'; import { kTextureFormatTier1AllowsRenderAttachmentBlendableMultisample, kTextureFormatTier1ThrowsWhenNotEnabled, @@ -32,7 +33,7 @@ g.test('enables_rg11b10ufloat_renderable') ) .beforeAllSubcases(t => t.selectDeviceOrSkipTestCase('texture-formats-tier1')) .fn(t => { - t.expect(() => t.device.features.has('rg11b10ufloat-renderable')); + t.expect(() => hasFeature(t.device.features, 'rg11b10ufloat-renderable')); }); g.test('texture_usage,render_attachment') diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats_tier2.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/features/texture_formats_tier2.spec.ts @@ -5,10 +5,11 @@ Test that enabling texture-formats-tier2 also enables rg11b10ufloat-renderable a Tests that abilities enabled by 'texture-formats-tier2' correctly generate validation errors when the feature is not enabled. This includes: -- read-write stoorage access formats gaining this capability. +- read-write storage access formats gaining this capability. `; import { makeTestGroup } from '../../../../../common/framework/test_group.js'; +import { hasFeature } from '../../../../../common/util/util.js'; import { kTextureFormatsTier2EnablesStorageReadWrite } from '../../../../format_info.js'; import { UniqueFeaturesOrLimitsGPUTest } from '../../../../gpu_test.js'; import * as vtu from '../../validation_test_utils.js'; @@ -23,8 +24,8 @@ g.test('enables_rg11b10ufloat_renderable_and_texture_formats_tier1') ) .beforeAllSubcases(t => t.selectDeviceOrSkipTestCase('texture-formats-tier2')) .fn(t => { - t.expect(() => t.device.features.has('rg11b10ufloat-renderable')); - t.expect(() => t.device.features.has('texture-formats-tier1')); + t.expect(() => hasFeature(t.device.features, 'rg11b10ufloat-renderable')); + t.expect(() => hasFeature(t.device.features, 'texture-formats-tier1')); }); g.test('bind_group_layout,storage_binding_read_write_access') diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.ts @@ -1,5 +1,5 @@ import { keysOf } from '../../../../../common/util/data_tables.js'; -import { assert } from '../../../../../common/util/util.js'; +import { assert, hasFeature } from '../../../../../common/util/util.js'; import { align, roundDown } from '../../../../util/math.js'; import { @@ -152,7 +152,7 @@ g.test('createComputePipeline,at_over') const { limitTest, testValueName, async, wgslType } = t.params; const { defaultLimit, adapterLimit: maximumLimit } = t; - const hasF16 = t.adapter.features.has('shader-f16'); + const hasF16 = hasFeature(t.adapter.features, 'shader-f16'); if (!hasF16 && wgslType in wgslF16Types) { return; } diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/render_pipeline/primitive_state.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/render_pipeline/primitive_state.spec.ts @@ -3,6 +3,7 @@ This test dedicatedly tests validation of GPUPrimitiveState of createRenderPipel `; import { makeTestGroup } from '../../../../common/framework/test_group.js'; +import { hasFeature } from '../../../../common/util/util.js'; import { kPrimitiveTopology, kIndexFormat } from '../../../capability_info.js'; import * as vtu from '../validation_test_utils.js'; @@ -38,6 +39,6 @@ g.test('unclipped_depth') const descriptor = t.getDescriptor({ primitive: { unclippedDepth } }); - const _success = !unclippedDepth || t.device.features.has('depth-clip-control'); + const _success = !unclippedDepth || hasFeature(t.device.features, 'depth-clip-control'); vtu.doCreateRenderPipelineTest(t, isAsync, _success, descriptor); }); diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/capability_info.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/capability_info.ts @@ -12,7 +12,7 @@ import { valueof, } from '../common/util/data_tables.js'; import { assertTypeTrue, TypeEqual } from '../common/util/types.js'; -import { unreachable } from '../common/util/util.js'; +import { hasFeature, unreachable } from '../common/util/util.js'; import { GPUConst, kMaxUnsignedLongValue, kMaxUnsignedLongLongValue } from './constants.js'; @@ -839,7 +839,9 @@ export function getDefaultLimitsForCTS() { } export function getDefaultLimitsForDevice(device: GPUDevice) { - const featureLevel = device.features.has('core-features-and-limits') ? 'core' : 'compatibility'; + const featureLevel = hasFeature(device.features, 'core-features-and-limits') + ? 'core' + : 'compatibility'; return getDefaultLimits(featureLevel); } diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/format_info.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/format_info.ts @@ -1,6 +1,6 @@ import { isCompatibilityDevice } from '../common/framework/test_config.js'; import { keysOf } from '../common/util/data_tables.js'; -import { assert, unreachable } from '../common/util/util.js'; +import { assert, unreachable, hasFeature } from '../common/util/util.js'; import { align, roundDown } from './util/math.js'; import { getTextureDimensionFromView } from './util/texture/base.js'; @@ -2068,8 +2068,10 @@ export function textureDimensionAndFormatCompatibleForDevice( ): boolean { if ( dimension === '3d' && - ((isBCTextureFormat(format) && device.features.has('texture-compression-bc-sliced-3d')) || - (isASTCTextureFormat(format) && device.features.has('texture-compression-astc-sliced-3d'))) + ((isBCTextureFormat(format) && + hasFeature(device.features, 'texture-compression-bc-sliced-3d')) || + (isASTCTextureFormat(format) && + hasFeature(device.features, 'texture-compression-astc-sliced-3d'))) ) { return true; } @@ -2357,10 +2359,10 @@ export function isTextureFormatUsableAsRenderAttachment( format: GPUTextureFormat ) { if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesRenderAttachmentBlendableMultisample(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } return kTextureFormatInfo[format].colorRender || isDepthOrStencilTextureFormat(format); } @@ -2373,10 +2375,10 @@ export function isTextureFormatColorRenderable( format: GPUTextureFormat ): boolean { if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesRenderAttachmentBlendableMultisample(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } return !!kAllTextureFormatInfo[format].colorRender; } @@ -2389,10 +2391,10 @@ export function isTextureFormatBlendable(device: GPUDevice, format: GPUTextureFo return false; } if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (is32Float(format)) { - return device.features.has('float32-blendable'); + return hasFeature(device.features, 'float32-blendable'); } return !!kAllTextureFormatInfo[format].colorRender?.blend; } @@ -2528,12 +2530,12 @@ function isTextureFormatUsableAsWriteOnlyStorageTexture( return false; } } - if (format === 'bgra8unorm' && device.features.has('bgra8unorm-storage')) { + if (format === 'bgra8unorm' && hasFeature(device.features, 'bgra8unorm-storage')) { return true; } if ( isTextureFormatTier1EnablesStorageReadOnlyWriteOnly(format) && - device.features.has('texture-formats-tier1') + hasFeature(device.features, 'texture-formats-tier1') ) { return true; } @@ -2610,7 +2612,7 @@ function isTextureFormatUsableAsReadWriteStorageTexture( format: GPUTextureFormat ): boolean { if (isTextureFormatTier2EnablesStorageReadWrite(format)) { - return device.features.has('texture-formats-tier2'); + return hasFeature(device.features, 'texture-formats-tier2'); } return !!kTextureFormatInfo[format].color?.readWriteStorage; } @@ -2666,10 +2668,10 @@ export function isTextureFormatMultisampled(device: GPUDevice, format: GPUTextur } } if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesRenderAttachmentBlendableMultisample(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } return kAllTextureFormatInfo[format].multisample; } @@ -2680,10 +2682,10 @@ export function isTextureFormatMultisampled(device: GPUDevice, format: GPUTextur */ export function isTextureFormatResolvable(device: GPUDevice, format: GPUTextureFormat): boolean { if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesResolve(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } // You can't resolve a non-multisampled format. if (!isTextureFormatMultisampled(device, format)) { diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/gpu_test.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/gpu_test.ts @@ -19,6 +19,7 @@ import { TypedArrayBufferView, TypedArrayBufferViewConstructor, unreachable, + hasFeature, } from '../common/util/util.js'; import { kPossibleLimits, kQueryTypeInfo, WGSLLanguageFeature } from './capability_info.js'; @@ -460,7 +461,10 @@ export class GPUTestBase extends Fixture<GPUTestSubcaseBatchState> { * Note: Try to use one of the more specific skipIf tests if possible. */ skipIfDeviceDoesNotHaveFeature(feature: GPUFeatureName) { - this.skipIf(!this.device.features.has(feature), `device does not have feature: '${feature}'`); + this.skipIf( + !hasFeature(this.device.features, feature), + `device does not have feature: '${feature}'` + ); } /** @@ -497,7 +501,7 @@ export class GPUTestBase extends Fixture<GPUTestSubcaseBatchState> { } const feature = getRequiredFeatureForTextureFormat(format); this.skipIf( - !!feature && !this.device.features.has(feature), + !!feature && !hasFeature(this.device.features, feature), `texture format '${format}' requires feature: '${feature}'` ); } @@ -603,7 +607,7 @@ export class GPUTestBase extends Fixture<GPUTestSubcaseBatchState> { this.skipIf(isSintOrUintFormat(format), 'sint/uint formats are not blendable'); if (is32Float(format)) { this.skipIf( - !this.device.features.has('float32-blendable'), + !hasFeature(this.device.features, 'float32-blendable'), `texture format '${format}' is not blendable` ); } @@ -616,7 +620,7 @@ export class GPUTestBase extends Fixture<GPUTestSubcaseBatchState> { this.skipIf(isSintOrUintFormat(format), 'sint/uint formats are not filterable'); if (is32Float(format)) { this.skipIf( - !this.device.features.has('float32-filterable'), + !hasFeature(this.device.features, 'float32-filterable'), `texture format '${format}' is not filterable` ); } diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/texture_utils.ts @@ -1,5 +1,5 @@ import { keysOf } from '../../../../../../common/util/data_tables.js'; -import { assert, range, unreachable } from '../../../../../../common/util/util.js'; +import { assert, range, unreachable, hasFeature } from '../../../../../../common/util/util.js'; import { Float16Array } from '../../../../../../external/petamoriken/float16/float16.js'; import { ColorTextureFormat, @@ -2438,7 +2438,8 @@ function getComponentsToCheck( } const gbaUndefined = - isDepthOrStencilTextureFormat(format) && !device.features.has('texel-component-swizzle'); + isDepthOrStencilTextureFormat(format) && + !hasFeature(device.features, 'texture-component-swizzle'); if (gbaUndefined) { return kRComponent; } @@ -2585,7 +2586,7 @@ export async function checkCallResults<T extends Dimensionality>( isDepthOrStencilTextureFormat(format) && isBuiltinGather(call.builtin) && call.component! > 0 && - !t.device.features.has('texture-component-swizzle') + !hasFeature(t.device.features, 'texture-component-swizzle') ) { continue; } @@ -5320,7 +5321,7 @@ ${stageWGSL} : type ?? 'float'; if (isFiltering && sampleType === 'unfilterable-float') { assert(is32Float(format)); - assert(t.device.features.has('float32-filterable')); + assert(hasFeature(t.device.features, 'float32-filterable')); sampleType = 'float'; } if (sampleCount > 1 && sampleType === 'float') { diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/util/device_pool.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/util/device_pool.ts @@ -7,6 +7,7 @@ import { raceWithRejectOnTimeout, assertReject, unreachable, + hasFeature, } from '../../common/util/util.js'; import { getDefaultLimits, kPossibleLimits } from '../capability_info.js'; @@ -319,7 +320,7 @@ function supportsFeature( } for (const feature of descriptor.requiredFeatures) { - if (!adapter.features.has(feature)) { + if (!hasFeature(adapter.features, feature)) { return false; } } diff --git a/dom/webgpu/tests/cts/checkout/tools/gen_version b/dom/webgpu/tests/cts/checkout/tools/gen_version @@ -14,7 +14,7 @@ if (!fs.existsSync(myself)) { process.exit(1); } -const version = '5a1dcdc8578d3651f23add4a568d1ee5659dd275'; +const version = '3314e4108692d0c201f0d381bf10ddc8dbbc7b69'; fs.mkdirSync('./gen/common/internal', { recursive: true }); // This will be copied into the various other build directories. diff --git a/dom/webgpu/tests/cts/moz.yaml b/dom/webgpu/tests/cts/moz.yaml @@ -8,8 +8,8 @@ origin: name: WebGPU CTS description: WebGPU Compliance Test Suite url: https://gpuweb.github.io/cts/ - release: 5a1dcdc8578d3651f23add4a568d1ee5659dd275 (2025-11-14T05:37:59Z). - revision: 5a1dcdc8578d3651f23add4a568d1ee5659dd275 + release: 3314e4108692d0c201f0d381bf10ddc8dbbc7b69 (2025-11-19T02:29:39Z). + revision: 3314e4108692d0c201f0d381bf10ddc8dbbc7b69 license: ['BSD-3-Clause'] updatebot: diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/resource_usages/texture/in_render_common/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/resource_usages/texture/in_render_common/cts.https.html.ini @@ -4664,7 +4664,7 @@ [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":0,"count":3};bgUsage0="readonly-storage-texture";bgUsage1="sampled-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":0,"count":3};bgUsage0="readonly-storage-texture";bgUsage1="writeonly-storage-texture"] expected: @@ -4784,7 +4784,7 @@ [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="readonly-storage-texture";bgUsage1="readonly-storage-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="readonly-storage-texture";bgUsage1="readwrite-storage-texture"] expected: @@ -4792,11 +4792,11 @@ [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="readonly-storage-texture";bgUsage1="sampled-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="readonly-storage-texture";bgUsage1="writeonly-storage-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="readwrite-storage-texture";bgUsage1="readonly-storage-texture"] expected: @@ -4816,11 +4816,11 @@ [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="sampled-texture";bgUsage1="readonly-storage-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="sampled-texture";bgUsage1="readwrite-storage-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="sampled-texture";bgUsage1="sampled-texture"] expected: @@ -4832,23 +4832,23 @@ [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="writeonly-storage-texture";bgUsage1="readonly-storage-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="writeonly-storage-texture";bgUsage1="readwrite-storage-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="writeonly-storage-texture";bgUsage1="sampled-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":1};bg1Layers={"base":1,"count":2};bgUsage0="writeonly-storage-texture";bgUsage1="writeonly-storage-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":2};bg1Layers={"base":0,"count":1};bgUsage0="readonly-storage-texture";bgUsage1="sampled-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":2};bg1Layers={"base":0,"count":1};bgUsage0="readwrite-storage-texture";bgUsage1="sampled-texture"] expected: @@ -4880,7 +4880,7 @@ [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":2};bg1Layers={"base":1,"count":1};bgUsage0="readonly-storage-texture";bgUsage1="sampled-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":2};bg1Layers={"base":1,"count":1};bgUsage0="readwrite-storage-texture";bgUsage1="sampled-texture"] expected: @@ -4896,7 +4896,7 @@ [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":2};bg1Layers={"base":1,"count":2};bgUsage0="readonly-storage-texture";bgUsage1="sampled-texture"] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:bg0Levels={"base":1,"count":1};bg0Layers={"base":0,"count":3};bg1Levels={"base":1,"count":2};bg1Layers={"base":1,"count":2};bgUsage0="readwrite-storage-texture";bgUsage1="sampled-texture"] expected: diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/state/device_lost/destroy/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/state/device_lost/destroy/cts.https.html.ini @@ -4567,7 +4567,7 @@ [:format="rg8sint";usageType="storage";usageCopy="none";awaitLost=false] expected: - if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "win": [PASS, TIMEOUT, NOTRUN] if os == "mac": [PASS, TIMEOUT, NOTRUN] [:format="rg8sint";usageType="storage";usageCopy="none";awaitLost=true] @@ -4708,7 +4708,7 @@ [:format="rg8uint";usageType="render";usageCopy="none";awaitLost=true] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:format="rg8uint";usageType="render";usageCopy="src";awaitLost=false] expected: @@ -4743,14 +4743,13 @@ [:format="rg8uint";usageType="storage";usageCopy="src-dest";awaitLost=false] expected: - if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:format="rg8uint";usageType="storage";usageCopy="src-dest";awaitLost=true] expected: if os == "win": FAIL if os == "linux": FAIL - if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] - if os == "mac" and not debug: FAIL + if os == "mac": [FAIL, TIMEOUT, NOTRUN] [:format="rg8uint";usageType="texture";usageCopy="dst";awaitLost=false] @@ -8313,13 +8312,15 @@ [:format="r16sint";usageType="texture";usageCopy="dst";awaitLost=false] expected: - if os == "win": FAIL + if os == "win" and debug: FAIL + if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux": FAIL if os == "mac": [TIMEOUT, NOTRUN] [:format="r16sint";usageType="texture";usageCopy="dst";awaitLost=true] expected: - if os == "win": FAIL + if os == "win" and debug: FAIL + if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux": FAIL if os == "mac": [TIMEOUT, NOTRUN] @@ -8337,25 +8338,29 @@ [:format="r16sint";usageType="texture";usageCopy="src";awaitLost=false] expected: - if os == "win": FAIL + if os == "win" and debug: FAIL + if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux": FAIL if os == "mac": [TIMEOUT, NOTRUN] [:format="r16sint";usageType="texture";usageCopy="src";awaitLost=true] expected: - if os == "win": FAIL + if os == "win" and debug: FAIL + if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux": FAIL if os == "mac": [TIMEOUT, NOTRUN] [:format="r16sint";usageType="texture";usageCopy="src-dest";awaitLost=false] expected: - if os == "win": FAIL + if os == "win" and debug: FAIL + if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux": FAIL if os == "mac": [TIMEOUT, NOTRUN] [:format="r16sint";usageType="texture";usageCopy="src-dest";awaitLost=true] expected: - if os == "win": FAIL + if os == "win" and debug: FAIL + if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux": FAIL if os == "mac": [TIMEOUT, NOTRUN] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupAdd/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupAdd/cts.https.html.ini @@ -2360,34 +2360,52 @@ [:case=360;type="f32";wgSize=[64,2,1\]] [:case=361;type="f16";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=361;type="f16";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=361;type="f32";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=361;type="f32";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=362;type="f16";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=362;type="f16";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=362;type="f32";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=362;type="f32";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=363;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:case=363;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:case=363;type="f32";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=363;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:case=364;type="f16";wgSize=[128,1,1\]] expected: @@ -2399,7 +2417,7 @@ [:case=364;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:case=364;type="f32";wgSize=[64,2,1\]] expected: @@ -9534,16 +9552,14 @@ [:case=747;type="f16";wgSize=[128,1,1\]] expected: - if os == "win" and debug: [TIMEOUT, NOTRUN] - if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "win": [PASS, TIMEOUT, NOTRUN] if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:case=747;type="f16";wgSize=[64,2,1\]] expected: - if os == "win" and debug: [TIMEOUT, NOTRUN] - if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "win": [PASS, TIMEOUT, NOTRUN] if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] @@ -9557,8 +9573,7 @@ [:case=747;type="f32";wgSize=[64,2,1\]] expected: - if os == "win" and debug: [TIMEOUT, NOTRUN] - if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "win": [PASS, TIMEOUT, NOTRUN] if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] @@ -9636,10 +9651,18 @@ [:case=74;type="f32";wgSize=[64,2,1\]] [:case=750;type="f16";wgSize=[128,1,1\]] - expected: [TIMEOUT, NOTRUN] + expected: + if os == "win": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [TIMEOUT, NOTRUN] [:case=750;type="f16";wgSize=[64,2,1\]] - expected: [TIMEOUT, NOTRUN] + expected: + if os == "win": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [TIMEOUT, NOTRUN] [:case=750;type="f32";wgSize=[128,1,1\]] expected: @@ -9662,7 +9685,11 @@ expected: [TIMEOUT, NOTRUN] [:case=751;type="f32";wgSize=[128,1,1\]] - expected: [TIMEOUT, NOTRUN] + expected: + if os == "win": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [TIMEOUT, NOTRUN] [:case=751;type="f32";wgSize=[64,2,1\]] expected: [TIMEOUT, NOTRUN] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupMinMax/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupMinMax/cts.https.html.ini @@ -1544,36 +1544,62 @@ [:case=175;type="f32";op="subgroupMin";wgSize=[64,2,1\]] [:case=176;type="f16";op="subgroupMax";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=176;type="f16";op="subgroupMax";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=176;type="f16";op="subgroupMin";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=176;type="f16";op="subgroupMin";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=176;type="f32";op="subgroupMax";wgSize=[128,1,1\]] [:case=176;type="f32";op="subgroupMax";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=176;type="f32";op="subgroupMin";wgSize=[128,1,1\]] [:case=176;type="f32";op="subgroupMin";wgSize=[64,2,1\]] [:case=177;type="f16";op="subgroupMax";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=177;type="f16";op="subgroupMax";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=177;type="f16";op="subgroupMin";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=177;type="f16";op="subgroupMin";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=177;type="f32";op="subgroupMax";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=177;type="f32";op="subgroupMax";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=177;type="f32";op="subgroupMin";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=177;type="f32";op="subgroupMin";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=178;type="f16";op="subgroupMax";wgSize=[128,1,1\]] expected: @@ -1584,16 +1610,28 @@ if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=178;type="f16";op="subgroupMin";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=178;type="f16";op="subgroupMin";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=178;type="f32";op="subgroupMax";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=178;type="f32";op="subgroupMax";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=178;type="f32";op="subgroupMin";wgSize=[128,1,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=178;type="f32";op="subgroupMin";wgSize=[64,2,1\]] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:case=179;type="f16";op="subgroupMax";wgSize=[128,1,1\]] expected: @@ -9251,13 +9289,14 @@ [:case=371;type="f16";op="subgroupMax";wgSize=[128,1,1\]] expected: - if os == "win" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "win": [PASS, TIMEOUT, NOTRUN] if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:case=371;type="f16";op="subgroupMax";wgSize=[64,2,1\]] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupMul/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/subgroupMul/cts.https.html.ini @@ -4249,11 +4249,13 @@ [:case=466;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=466;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=466;type="f32";wgSize=[128,1,1\]] expected: @@ -4267,51 +4269,63 @@ [:case=467;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=467;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=467;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=467;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=468;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=468;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=468;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=468;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=469;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=469;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=469;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=469;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=46;type="f16";wgSize=[128,1,1\]] @@ -4323,163 +4337,203 @@ [:case=470;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=470;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=470;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=470;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=471;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=471;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=471;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=471;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=472;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=472;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=472;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=472;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=473;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=473;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=473;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=473;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=474;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=474;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=474;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=474;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=475;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=475;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=475;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=475;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=476;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=476;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=476;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=476;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=477;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=477;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=477;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=477;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=478;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=478;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=478;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=478;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=479;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=479;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=479;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=479;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=47;type="f16";wgSize=[128,1,1\]] @@ -4491,99 +4545,123 @@ [:case=480;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=480;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=480;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=480;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=481;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=481;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=481;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=481;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=482;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=482;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=482;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=482;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=483;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=483;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=483;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=483;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=484;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=484;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=484;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=484;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=485;type="f16";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=485;type="f16";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=485;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=485;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=486;type="f16";wgSize=[128,1,1\]] expected: @@ -4595,11 +4673,13 @@ [:case=486;type="f32";wgSize=[128,1,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=486;type="f32";wgSize=[64,2,1\]] expected: - if os == "mac": [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac" and not debug: [TIMEOUT, NOTRUN] [:case=487;type="f16";wgSize=[128,1,1\]] expected: diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureGather/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureGather/cts.https.html.ini @@ -9093,33 +9093,27 @@ [:stage="c";format="r32float";filt="nearest";modeU="c";modeV="c";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="c";modeV="c";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="c";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="c";modeV="m";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="c";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="c";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="m";modeV="c";offset=false] expected: @@ -9153,18 +9147,15 @@ [:stage="c";format="r32float";filt="nearest";modeU="r";modeV="c";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="r";modeV="c";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="r";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="r";modeV="m";offset=true] expected: @@ -9173,103 +9164,83 @@ [:stage="c";format="r32float";filt="nearest";modeU="r";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32float";filt="nearest";modeU="r";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="c";modeV="c";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="c";modeV="c";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="c";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="c";modeV="m";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="c";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="c";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="m";modeV="c";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="m";modeV="c";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="m";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="m";modeV="m";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="m";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="m";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="r";modeV="c";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="r";modeV="c";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="r";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="r";modeV="m";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="r";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32sint";filt="nearest";modeU="r";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="c";modeV="c";offset=false] expected: @@ -9281,83 +9252,67 @@ [:stage="c";format="r32uint";filt="nearest";modeU="c";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="c";modeV="m";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="c";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="c";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="m";modeV="c";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="m";modeV="c";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="m";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="m";modeV="m";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="m";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="m";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="r";modeV="c";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="r";modeV="c";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="r";modeV="m";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="r";modeV="m";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="r";modeV="r";offset=false] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r32uint";filt="nearest";modeU="r";modeV="r";offset=true] expected: - if os == "mac" and debug: [TIMEOUT, NOTRUN] - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="r8sint";filt="nearest";modeU="c";modeV="c";offset=false] @@ -11117,6 +11072,8 @@ [:stage="c";format="rgba16snorm";filt="linear";modeU="m";modeV="c";offset=false] [:stage="c";format="rgba16snorm";filt="linear";modeU="m";modeV="c";offset=true] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:stage="c";format="rgba16snorm";filt="linear";modeU="m";modeV="m";offset=false] expected: @@ -11127,10 +11084,12 @@ if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="rgba16snorm";filt="linear";modeU="m";modeV="r";offset=false] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:stage="c";format="rgba16snorm";filt="linear";modeU="m";modeV="r";offset=true] expected: - if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "mac": [PASS, TIMEOUT, NOTRUN] [:stage="c";format="rgba16snorm";filt="linear";modeU="r";modeV="c";offset=false] @@ -36420,6 +36379,7 @@ [:stage="v";format="eac-r11snorm";filt="linear";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] @@ -36440,54 +36400,63 @@ [:stage="v";format="eac-r11snorm";filt="nearest";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11snorm";filt="nearest";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11snorm";filt="nearest";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11unorm";filt="linear";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11unorm";filt="linear";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11unorm";filt="linear";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11unorm";filt="nearest";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11unorm";filt="nearest";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="eac-r11unorm";filt="nearest";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] @@ -36578,72 +36547,84 @@ [:stage="v";format="etc2-rgb8a1unorm";filt="linear";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm";filt="linear";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm";filt="linear";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm";filt="nearest";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm";filt="nearest";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm";filt="nearest";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm-srgb";filt="linear";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm-srgb";filt="linear";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm-srgb";filt="linear";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm-srgb";filt="nearest";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm-srgb";filt="nearest";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8a1unorm-srgb";filt="nearest";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] @@ -36692,18 +36673,21 @@ [:stage="v";format="etc2-rgb8unorm-srgb";filt="linear";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8unorm-srgb";filt="linear";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgb8unorm-srgb";filt="linear";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] @@ -36731,72 +36715,84 @@ [:stage="v";format="etc2-rgba8unorm";filt="linear";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm";filt="linear";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm";filt="linear";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm";filt="nearest";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm";filt="nearest";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm";filt="nearest";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm-srgb";filt="linear";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm-srgb";filt="linear";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm-srgb";filt="linear";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm-srgb";filt="nearest";mode="c"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm-srgb";filt="nearest";mode="m"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="etc2-rgba8unorm-srgb";filt="nearest";mode="r"] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureGatherCompare/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureGatherCompare/cts.https.html.ini @@ -671,35 +671,40 @@ [:stage="f";format="depth16unorm";filt="linear";modeU="c";modeV="c";offset=true] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="c";modeV="m";offset=false] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="c";modeV="m";offset=true] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="c";modeV="r";offset=false] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="c";modeV="r";offset=true] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL @@ -754,42 +759,48 @@ [:stage="f";format="depth16unorm";filt="linear";modeU="r";modeV="c";offset=false] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="r";modeV="c";offset=true] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="r";modeV="m";offset=false] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="r";modeV="m";offset=true] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="r";modeV="r";offset=false] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="f";format="depth16unorm";filt="linear";modeU="r";modeV="r";offset=true] expected: - if os == "win": FAIL + if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL if os == "linux": FAIL if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL @@ -1437,12 +1448,8 @@ [:stage="f";format="depth32float";filt="linear";modeU="m";modeV="c";offset=true] expected: - if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] - if os == "win" and not debug: FAIL - if os == "linux" and debug: [TIMEOUT, NOTRUN] - if os == "linux" and not debug: FAIL - if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] - if os == "mac" and not debug: FAIL + if debug: [FAIL, TIMEOUT, NOTRUN] + if not debug: FAIL [:stage="f";format="depth32float";filt="linear";modeU="m";modeV="m";offset=false] expected: @@ -1464,12 +1471,8 @@ [:stage="f";format="depth32float";filt="linear";modeU="m";modeV="r";offset=false] expected: - if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] - if os == "win" and not debug: FAIL - if os == "linux" and debug: [TIMEOUT, NOTRUN] - if os == "linux" and not debug: FAIL - if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] - if os == "mac" and not debug: FAIL + if debug: [FAIL, TIMEOUT, NOTRUN] + if not debug: FAIL [:stage="f";format="depth32float";filt="linear";modeU="m";modeV="r";offset=true] expected: @@ -2324,8 +2327,12 @@ [:stage="v";format="depth24plus-stencil8";filt="linear";modeU="r";modeV="m";offset=false] expected: - if debug: [TIMEOUT, NOTRUN] - if not debug: FAIL + if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: FAIL + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: FAIL + if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN] [:stage="v";format="depth24plus-stencil8";filt="linear";modeU="r";modeV="m";offset=true] expected: diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSample/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSample/cts.https.html.ini @@ -30296,7 +30296,7 @@ expected: if os == "win" and debug: [PASS, TIMEOUT, NOTRUN] if os == "linux" and debug: [TIMEOUT, NOTRUN] - if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:format="bgra8unorm-srgb";dim="3d";filt="linear";modeU="r";modeV="c";modeW="r";offset=false] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleBias/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleBias/cts.https.html.ini @@ -3876,7 +3876,8 @@ expected: if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "win" and not debug: FAIL - if os == "linux": FAIL + if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN] + if os == "linux" and not debug: FAIL if os == "mac": [TIMEOUT, NOTRUN] [:format="bc2-rgba-unorm-srgb";filt="nearest";modeU="c";modeV="m";offset=true] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleCompare/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleCompare/cts.https.html.ini @@ -793,7 +793,7 @@ [:format="depth24plus";filt="linear";modeU="c";modeV="c";offset=false] expected: if os == "win": FAIL - if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux" and not debug: FAIL if os == "mac" and debug: [TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleCompareLevel/cts.https.html.ini @@ -1994,14 +1994,14 @@ [:stage="v";format="depth24plus-stencil8";filt="nearest";modeU="c";modeV="c";offset=false] expected: if os == "win": FAIL - if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux" and not debug: FAIL if os == "mac": [TIMEOUT, NOTRUN] [:stage="v";format="depth24plus-stencil8";filt="nearest";modeU="c";modeV="c";offset=true] expected: if os == "win": FAIL - if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "linux" and not debug: FAIL if os == "mac": [TIMEOUT, NOTRUN] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleGrad/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleGrad/cts.https.html.ini @@ -46389,7 +46389,8 @@ expected: if os == "win" and debug: [TIMEOUT, NOTRUN] if os == "win" and not debug: FAIL - if os == "linux": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bgra8unorm-srgb";dim="3d";filt="nearest";modeU="r";modeV="c";modeW="c";offset=false] @@ -167648,7 +167649,7 @@ expected: if os == "win": FAIL if os == "linux": FAIL - if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN] if os == "mac" and not debug: FAIL [:stage="c";format="depth32float";filt="nearest";mode="r"] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleLevel/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleLevel/cts.https.html.ini @@ -2800,8 +2800,12 @@ [:stage="c";format="astc-8x5-unorm-srgb";filt="linear";modeU="c";modeV="c"] [:stage="c";format="astc-8x5-unorm-srgb";filt="linear";modeU="c";modeV="m"] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:stage="c";format="astc-8x5-unorm-srgb";filt="linear";modeU="c";modeV="r"] + expected: + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:stage="c";format="astc-8x5-unorm-srgb";filt="linear";modeU="m";modeV="c"] expected: @@ -19802,7 +19806,8 @@ [:stage="c";format="bc3-rgba-unorm";filt="nearest";modeU="m";modeV="m";offset=true] expected: - if os == "linux": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc3-rgba-unorm";filt="nearest";modeU="m";modeV="r";offset=false] @@ -19917,7 +19922,7 @@ [:stage="c";format="bc3-rgba-unorm-srgb";filt="linear";modeU="m";modeV="r";offset=true] expected: - if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and debug: [PASS, TIMEOUT, NOTRUN] if os == "linux": [TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] @@ -55889,7 +55894,11 @@ if os == "mac": [TIMEOUT, NOTRUN] [:stage="f";format="r16float";dim="3d";filt="linear";mode="r";offset=false] - expected: [TIMEOUT, NOTRUN] + expected: + if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN] + if os == "linux": [TIMEOUT, NOTRUN] + if os == "mac": [TIMEOUT, NOTRUN] [:stage="f";format="r16float";dim="3d";filt="linear";mode="r";offset=true] expected: @@ -65063,6 +65072,7 @@ [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="c";modeV="m";offset=true] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="c";modeV="r";offset=false] @@ -65075,10 +65085,12 @@ [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="m";modeV="c";offset=false] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="m";modeV="c";offset=true] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="m";modeV="m";offset=false] @@ -65093,34 +65105,42 @@ [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="m";modeV="r";offset=false] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="m";modeV="r";offset=true] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="r";modeV="c";offset=false] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="r";modeV="c";offset=true] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="r";modeV="m";offset=false] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="r";modeV="m";offset=true] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="r";modeV="r";offset=false] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc1-rgba-unorm-srgb";filt="nearest";modeU="r";modeV="r";offset=true] expected: + if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:stage="c";format="bc2-rgba-unorm";filt="linear";modeU="c";modeV="c";offset=false] @@ -88966,7 +88986,7 @@ [:stage="c";format="rgb9e5ufloat";filt="linear";mode="r"] expected: if os == "win" and debug: [PASS, TIMEOUT, NOTRUN] - if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:stage="c";format="rgb9e5ufloat";filt="nearest";mode="c"] expected: diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/canvas/getCurrentTexture/dedicated.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/canvas/getCurrentTexture/dedicated.https.html.ini @@ -12,10 +12,12 @@ [:canvasType="offscreen";prevFrameCallsite="requestAnimationFrame";getCurrentTextureAgain=false] expected: if os == "win" and debug: [PASS, FAIL] + if os == "mac" and debug: [PASS, FAIL] [:canvasType="offscreen";prevFrameCallsite="requestAnimationFrame";getCurrentTextureAgain=true] expected: if os == "win" and debug: [PASS, FAIL] + if os == "mac" and debug: [PASS, FAIL] [:canvasType="offscreen";prevFrameCallsite="runInNewCanvasFrame";getCurrentTextureAgain=false] expected: diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/cts.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/cts.https.html.ini @@ -1107,7 +1107,7 @@ [:alpha="none";orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="rg8unorm";dstPremultiplied=true] expected: if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] - if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:alpha="none";orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="rgb10a2unorm";dstPremultiplied=false] expected: @@ -4106,7 +4106,7 @@ [:orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="rg8unorm";dstPremultiplied=true] expected: if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN] - if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN] [:orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="rgb10a2unorm";dstPremultiplied=false] expected: diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/dedicated.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/dedicated.https.html.ini @@ -1437,7 +1437,8 @@ [:alpha="premultiply";orientation="flipY";colorSpaceConversion="default";srcFlipYInCopy=false;dstFormat="rgba8unorm";dstPremultiplied=false] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] - if os == "linux": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="flipY";colorSpaceConversion="default";srcFlipYInCopy=false;dstFormat="rgba8unorm";dstPremultiplied=true] diff --git a/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/shared.https.html.ini b/testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/copyToTexture/ImageBitmap/shared.https.html.ini @@ -1373,7 +1373,8 @@ [:alpha="premultiply";orientation="flipY";colorSpaceConversion="default";srcFlipYInCopy=false;dstFormat="rg8unorm";dstPremultiplied=false] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] - if os == "linux": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="flipY";colorSpaceConversion="default";srcFlipYInCopy=false;dstFormat="rg8unorm";dstPremultiplied=true] @@ -1442,7 +1443,8 @@ [:alpha="premultiply";orientation="flipY";colorSpaceConversion="default";srcFlipYInCopy=false;dstFormat="rgba8unorm";dstPremultiplied=true] expected: if os == "win" and debug: [TIMEOUT, NOTRUN] - if os == "linux": [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac": [TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="flipY";colorSpaceConversion="default";srcFlipYInCopy=false;dstFormat="rgba8unorm-srgb";dstPremultiplied=false] @@ -2675,6 +2677,7 @@ if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="r16float";dstPremultiplied=true] expected: @@ -2682,6 +2685,7 @@ if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="r16unorm";dstPremultiplied=false] expected: @@ -2753,14 +2757,21 @@ if os == "linux" and debug: [TIMEOUT, NOTRUN] if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN] if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="rg16unorm";dstPremultiplied=false] expected: - if debug: [TIMEOUT, NOTRUN] + if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="rg16unorm";dstPremultiplied=true] expected: - if debug: [TIMEOUT, NOTRUN] + if os == "win" and debug: [TIMEOUT, NOTRUN] + if os == "linux" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and debug: [TIMEOUT, NOTRUN] + if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN] [:alpha="premultiply";orientation="none";colorSpaceConversion="none";srcFlipYInCopy=false;dstFormat="rg32float";dstPremultiplied=false] expected: diff --git a/testing/web-platform/mozilla/tests/webgpu/common/framework/test_config.js b/testing/web-platform/mozilla/tests/webgpu/common/framework/test_config.js @@ -1,6 +1,6 @@ /** * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts -**/import { assert } from '../util/util.js'; +**/import { assert, hasFeature } from '../util/util.js'; @@ -90,7 +90,7 @@ export const globalTestConfig = { // is trying to test that compatibility devices have the correct validation. export function isCompatibilityDevice(device) { if (globalTestConfig.compatibility) { - assert(!device.features.has('core-features-and-limits')); + assert(!hasFeature(device.features, 'core-features-and-limits')); } return globalTestConfig.compatibility; } \ No newline at end of file diff --git a/testing/web-platform/mozilla/tests/webgpu/common/internal/version.js b/testing/web-platform/mozilla/tests/webgpu/common/internal/version.js @@ -1,3 +1,3 @@ // AUTO-GENERATED - DO NOT EDIT. See tools/gen_version. -export const version = '5a1dcdc8578d3651f23add4a568d1ee5659dd275'; +export const version = '3314e4108692d0c201f0d381bf10ddc8dbbc7b69'; diff --git a/testing/web-platform/mozilla/tests/webgpu/common/util/navigator_gpu.js b/testing/web-platform/mozilla/tests/webgpu/common/util/navigator_gpu.js @@ -2,7 +2,7 @@ * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts **/import { globalTestConfig } from '../framework/test_config.js'; -import { ErrorWithExtra, assert, objectEquals } from './util.js'; +import { ErrorWithExtra, assert, hasFeature, objectEquals } from './util.js'; /** * Finds and returns the `navigator.gpu` object (or equivalent, for non-browser implementations). @@ -164,7 +164,9 @@ export function getGPU(recorder) { Object.defineProperty(adapter, 'features', { enumerable: false, value: new Set( - adapter.features.has('core-features-and-limits') ? ['core-features-and-limits'] : [] + hasFeature(adapter.features, 'core-features-and-limits') ? + ['core-features-and-limits'] : + [] ) }); } @@ -177,6 +179,7 @@ export function getGPU(recorder) { for (const [feature] of desc.requiredFeatures) { // Note: This adapter has had its features property over-ridden and will only return // have nothing or 'core-features-and-limits'. + if (!adapter.features.has(feature)) { throw new TypeError(`requested feature ${feature} does not exist on adapter`); } diff --git a/testing/web-platform/mozilla/tests/webgpu/common/util/util.js b/testing/web-platform/mozilla/tests/webgpu/common/util/util.js @@ -495,4 +495,13 @@ export function filterUniqueValueTestVariants(valueTestVariants) { */ export function makeValueTestVariant(base, variant) { return base * variant.mult + variant.add; +} + +/** + * Use instead of features.has because feature's has takes any string + * and we want to prevent typos. + */ +export function hasFeature(features, feature) { + + return features.has(feature); } \ No newline at end of file diff --git a/testing/web-platform/mozilla/tests/webgpu/resources/cache/hashes.json b/testing/web-platform/mozilla/tests/webgpu/resources/cache/hashes.json @@ -1,112 +1,112 @@ { - "webgpu/shader/execution/binary/af_addition.bin": "b1b71eea", - "webgpu/shader/execution/binary/af_logical.bin": "bca2200a", - "webgpu/shader/execution/binary/af_division.bin": "cfda1ac2", - "webgpu/shader/execution/binary/af_matrix_addition.bin": "4473c45a", - "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "e945ec79", - "webgpu/shader/execution/binary/af_multiplication.bin": "eb6c672", - "webgpu/shader/execution/binary/af_remainder.bin": "e971fba9", - "webgpu/shader/execution/binary/af_subtraction.bin": "72293f91", - "webgpu/shader/execution/binary/f16_addition.bin": "ea5505aa", - "webgpu/shader/execution/binary/f16_logical.bin": "7cf1347f", - "webgpu/shader/execution/binary/f16_division.bin": "c05f4feb", - "webgpu/shader/execution/binary/f16_matrix_addition.bin": "429f8589", - "webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "5ce1d443", - "webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "ff07ce52", - "webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "8693f3e", - "webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "1a4cc717", - "webgpu/shader/execution/binary/f16_multiplication.bin": "604b8407", - "webgpu/shader/execution/binary/f16_remainder.bin": "bc510eb0", - "webgpu/shader/execution/binary/f16_subtraction.bin": "81718e04", - "webgpu/shader/execution/binary/f32_addition.bin": "a04733a4", - "webgpu/shader/execution/binary/f32_logical.bin": "83d3ec3d", - "webgpu/shader/execution/binary/f32_division.bin": "d5c79df7", - "webgpu/shader/execution/binary/f32_matrix_addition.bin": "803f74e9", - "webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "2e1e2af9", - "webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "f60c6997", - "webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "bf68cb89", - "webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "9a6401bb", - "webgpu/shader/execution/binary/f32_multiplication.bin": "f1e1ef9a", - "webgpu/shader/execution/binary/f32_remainder.bin": "da5afd13", - "webgpu/shader/execution/binary/f32_subtraction.bin": "830b567f", - "webgpu/shader/execution/binary/i32_arithmetic.bin": "c18da799", - "webgpu/shader/execution/binary/i32_comparison.bin": "848ceb5c", - "webgpu/shader/execution/binary/u32_arithmetic.bin": "dc0b2ed9", - "webgpu/shader/execution/binary/u32_comparison.bin": "2bae879f", - "webgpu/shader/execution/abs.bin": "561a28e0", - "webgpu/shader/execution/acos.bin": "8cc074ad", - "webgpu/shader/execution/acosh.bin": "8a510d97", - "webgpu/shader/execution/asin.bin": "14d5064", - "webgpu/shader/execution/asinh.bin": "1e00159", - "webgpu/shader/execution/atan.bin": "7a1fc6e9", - "webgpu/shader/execution/atan2.bin": "3a2974c9", - "webgpu/shader/execution/atanh.bin": "8d6dab0b", - "webgpu/shader/execution/bitcast.bin": "e307a369", - "webgpu/shader/execution/ceil.bin": "d02bdaad", - "webgpu/shader/execution/clamp.bin": "fcbe35ac", - "webgpu/shader/execution/cos.bin": "ccb1c23f", - "webgpu/shader/execution/cosh.bin": "a0a406ad", - "webgpu/shader/execution/cross.bin": "2a875fef", - "webgpu/shader/execution/degrees.bin": "50bb915a", - "webgpu/shader/execution/determinant.bin": "3e6249da", - "webgpu/shader/execution/distance.bin": "a29c5aa", - "webgpu/shader/execution/dot.bin": "466765d5", - "webgpu/shader/execution/exp.bin": "c2640231", - "webgpu/shader/execution/exp2.bin": "274b093f", - "webgpu/shader/execution/faceForward.bin": "4492d11d", - "webgpu/shader/execution/floor.bin": "d41f1c95", - "webgpu/shader/execution/fma.bin": "2fb1c38f", - "webgpu/shader/execution/fract.bin": "c9080e98", - "webgpu/shader/execution/frexp.bin": "b675bee4", - "webgpu/shader/execution/inverseSqrt.bin": "8b23d93a", - "webgpu/shader/execution/ldexp.bin": "ee536142", - "webgpu/shader/execution/length.bin": "b3384a6", - "webgpu/shader/execution/log.bin": "bd3a55f0", - "webgpu/shader/execution/log2.bin": "ff3794ac", - "webgpu/shader/execution/max.bin": "fce16c8a", - "webgpu/shader/execution/min.bin": "ff191ba4", - "webgpu/shader/execution/mix.bin": "4c4935e9", - "webgpu/shader/execution/modf.bin": "da3ae106", - "webgpu/shader/execution/normalize.bin": "35a5ec27", - "webgpu/shader/execution/pack2x16float.bin": "fec8b248", - "webgpu/shader/execution/pow.bin": "ee753258", - "webgpu/shader/execution/quantizeToF16.bin": "2c4ffde2", - "webgpu/shader/execution/radians.bin": "1fdd20d3", - "webgpu/shader/execution/reflect.bin": "ca02fe50", - "webgpu/shader/execution/refract.bin": "bdb6610", - "webgpu/shader/execution/round.bin": "b8be95b4", - "webgpu/shader/execution/saturate.bin": "74f21503", - "webgpu/shader/execution/sign.bin": "533d2185", - "webgpu/shader/execution/sin.bin": "e1c39c1b", - "webgpu/shader/execution/sinh.bin": "61da608d", - "webgpu/shader/execution/smoothstep.bin": "a6dd83ed", - "webgpu/shader/execution/sqrt.bin": "ca8cd266", - "webgpu/shader/execution/step.bin": "34459d7f", - "webgpu/shader/execution/tan.bin": "b5513d60", - "webgpu/shader/execution/tanh.bin": "6f67098a", - "webgpu/shader/execution/transpose.bin": "1dd8473f", - "webgpu/shader/execution/trunc.bin": "6df96e09", - "webgpu/shader/execution/unpack2x16float.bin": "1c7505ba", - "webgpu/shader/execution/unpack2x16snorm.bin": "ade8ed16", - "webgpu/shader/execution/unpack2x16unorm.bin": "d7b00631", - "webgpu/shader/execution/unpack4x8snorm.bin": "a21a1f80", - "webgpu/shader/execution/unpack4x8unorm.bin": "edb0945d", - "webgpu/shader/execution/unary/af_arithmetic.bin": "5f835ed1", - "webgpu/shader/execution/unary/af_assignment.bin": "ede88653", - "webgpu/shader/execution/unary/bool_conversion.bin": "1d58a0ac", - "webgpu/shader/execution/unary/f16_arithmetic.bin": "f01f7be8", - "webgpu/shader/execution/unary/f16_conversion.bin": "798114db", - "webgpu/shader/execution/unary/f32_arithmetic.bin": "dd24b472", - "webgpu/shader/execution/unary/f32_conversion.bin": "38c55dc0", - "webgpu/shader/execution/unary/i32_arithmetic.bin": "65d2d245", - "webgpu/shader/execution/unary/i32_conversion.bin": "6059380d", - "webgpu/shader/execution/unary/u32_conversion.bin": "9918d0a7", - "webgpu/shader/execution/unary/ai_assignment.bin": "587d799a", - "webgpu/shader/execution/binary/ai_arithmetic.bin": "3c8862bd", - "webgpu/shader/execution/unary/ai_arithmetic.bin": "d46137bc", - "webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin": "ba58dd07", - "webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin": "5fe0a0e3", - "webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin": "9f8ed988", - "webgpu/shader/execution/derivatives.bin": "7a039a71", - "webgpu/shader/execution/fwidth.bin": "30b40017" + "webgpu/shader/execution/binary/af_addition.bin": "da003be4", + "webgpu/shader/execution/binary/af_logical.bin": "14ad43ca", + "webgpu/shader/execution/binary/af_division.bin": "1296892b", + "webgpu/shader/execution/binary/af_matrix_addition.bin": "1317ab16", + "webgpu/shader/execution/binary/af_matrix_subtraction.bin": "2853ad41", + "webgpu/shader/execution/binary/af_multiplication.bin": "5ee6bde6", + "webgpu/shader/execution/binary/af_remainder.bin": "366f8d30", + "webgpu/shader/execution/binary/af_subtraction.bin": "3c19e6fb", + "webgpu/shader/execution/binary/f16_addition.bin": "319185c0", + "webgpu/shader/execution/binary/f16_logical.bin": "94a83cb4", + "webgpu/shader/execution/binary/f16_division.bin": "635bbc5f", + "webgpu/shader/execution/binary/f16_matrix_addition.bin": "30070be5", + "webgpu/shader/execution/binary/f16_matrix_matrix_multiplication.bin": "7e0e00db", + "webgpu/shader/execution/binary/f16_matrix_scalar_multiplication.bin": "d538842d", + "webgpu/shader/execution/binary/f16_matrix_subtraction.bin": "4b5ce37c", + "webgpu/shader/execution/binary/f16_matrix_vector_multiplication.bin": "7a4445de", + "webgpu/shader/execution/binary/f16_multiplication.bin": "b2c70232", + "webgpu/shader/execution/binary/f16_remainder.bin": "d138c173", + "webgpu/shader/execution/binary/f16_subtraction.bin": "e2515ca5", + "webgpu/shader/execution/binary/f32_addition.bin": "60286efc", + "webgpu/shader/execution/binary/f32_logical.bin": "a578e65b", + "webgpu/shader/execution/binary/f32_division.bin": "36d196b1", + "webgpu/shader/execution/binary/f32_matrix_addition.bin": "a11d772e", + "webgpu/shader/execution/binary/f32_matrix_matrix_multiplication.bin": "d578a451", + "webgpu/shader/execution/binary/f32_matrix_scalar_multiplication.bin": "a0259221", + "webgpu/shader/execution/binary/f32_matrix_subtraction.bin": "9eb43464", + "webgpu/shader/execution/binary/f32_matrix_vector_multiplication.bin": "939f2e70", + "webgpu/shader/execution/binary/f32_multiplication.bin": "d34ce65d", + "webgpu/shader/execution/binary/f32_remainder.bin": "6fa6b892", + "webgpu/shader/execution/binary/f32_subtraction.bin": "ddb575f5", + "webgpu/shader/execution/binary/i32_arithmetic.bin": "5bc8c900", + "webgpu/shader/execution/binary/i32_comparison.bin": "9165629b", + "webgpu/shader/execution/binary/u32_arithmetic.bin": "fc8c6726", + "webgpu/shader/execution/binary/u32_comparison.bin": "598d0773", + "webgpu/shader/execution/abs.bin": "f4ea4f10", + "webgpu/shader/execution/acos.bin": "f7ccbfca", + "webgpu/shader/execution/acosh.bin": "11315a9f", + "webgpu/shader/execution/asin.bin": "7349a03b", + "webgpu/shader/execution/asinh.bin": "fdebffc6", + "webgpu/shader/execution/atan.bin": "723ae9a5", + "webgpu/shader/execution/atan2.bin": "57241996", + "webgpu/shader/execution/atanh.bin": "e72a7c31", + "webgpu/shader/execution/bitcast.bin": "3de97de", + "webgpu/shader/execution/ceil.bin": "29fd5fae", + "webgpu/shader/execution/clamp.bin": "8d0eafdb", + "webgpu/shader/execution/cos.bin": "eac17036", + "webgpu/shader/execution/cosh.bin": "575d952c", + "webgpu/shader/execution/cross.bin": "34b3306c", + "webgpu/shader/execution/degrees.bin": "e95cfd56", + "webgpu/shader/execution/determinant.bin": "cbf20e3c", + "webgpu/shader/execution/distance.bin": "1c119356", + "webgpu/shader/execution/dot.bin": "4da666a3", + "webgpu/shader/execution/exp.bin": "69ee596e", + "webgpu/shader/execution/exp2.bin": "1b0d4107", + "webgpu/shader/execution/faceForward.bin": "d9e806e", + "webgpu/shader/execution/floor.bin": "d04aaaed", + "webgpu/shader/execution/fma.bin": "ea6f3d9d", + "webgpu/shader/execution/fract.bin": "6041dbd3", + "webgpu/shader/execution/frexp.bin": "4f14eae", + "webgpu/shader/execution/inverseSqrt.bin": "a31d31ec", + "webgpu/shader/execution/ldexp.bin": "bc8d5e62", + "webgpu/shader/execution/length.bin": "52fc048a", + "webgpu/shader/execution/log.bin": "bdb94ae0", + "webgpu/shader/execution/log2.bin": "b92a3bca", + "webgpu/shader/execution/max.bin": "436f8f21", + "webgpu/shader/execution/min.bin": "21cb02b4", + "webgpu/shader/execution/mix.bin": "ef3d6b1b", + "webgpu/shader/execution/modf.bin": "55ff0437", + "webgpu/shader/execution/normalize.bin": "fd315393", + "webgpu/shader/execution/pack2x16float.bin": "8443853d", + "webgpu/shader/execution/pow.bin": "e1f4e61", + "webgpu/shader/execution/quantizeToF16.bin": "564caff5", + "webgpu/shader/execution/radians.bin": "3d50fa1a", + "webgpu/shader/execution/reflect.bin": "de3cdc23", + "webgpu/shader/execution/refract.bin": "a6b7cf0c", + "webgpu/shader/execution/round.bin": "5735993c", + "webgpu/shader/execution/saturate.bin": "58cb0de5", + "webgpu/shader/execution/sign.bin": "b59874a7", + "webgpu/shader/execution/sin.bin": "59c3422", + "webgpu/shader/execution/sinh.bin": "427c6297", + "webgpu/shader/execution/smoothstep.bin": "b0d9c07e", + "webgpu/shader/execution/sqrt.bin": "f207f4ac", + "webgpu/shader/execution/step.bin": "18a574a0", + "webgpu/shader/execution/tan.bin": "40504049", + "webgpu/shader/execution/tanh.bin": "7c1b22bd", + "webgpu/shader/execution/transpose.bin": "af20793c", + "webgpu/shader/execution/trunc.bin": "2d9f23e5", + "webgpu/shader/execution/unpack2x16float.bin": "de3c9cb4", + "webgpu/shader/execution/unpack2x16snorm.bin": "2cfc1791", + "webgpu/shader/execution/unpack2x16unorm.bin": "85ff09e", + "webgpu/shader/execution/unpack4x8snorm.bin": "e4c5b1f4", + "webgpu/shader/execution/unpack4x8unorm.bin": "1fd43872", + "webgpu/shader/execution/unary/af_arithmetic.bin": "daccee7d", + "webgpu/shader/execution/unary/af_assignment.bin": "fb1a84b1", + "webgpu/shader/execution/unary/bool_conversion.bin": "65b450a7", + "webgpu/shader/execution/unary/f16_arithmetic.bin": "79ee24a3", + "webgpu/shader/execution/unary/f16_conversion.bin": "920adf7", + "webgpu/shader/execution/unary/f32_arithmetic.bin": "9496759c", + "webgpu/shader/execution/unary/f32_conversion.bin": "dddb7940", + "webgpu/shader/execution/unary/i32_arithmetic.bin": "e9c53cb5", + "webgpu/shader/execution/unary/i32_conversion.bin": "87b5fd7", + "webgpu/shader/execution/unary/u32_conversion.bin": "70718f67", + "webgpu/shader/execution/unary/ai_assignment.bin": "4fad3c69", + "webgpu/shader/execution/binary/ai_arithmetic.bin": "a00c8197", + "webgpu/shader/execution/unary/ai_arithmetic.bin": "3b481d45", + "webgpu/shader/execution/binary/af_matrix_matrix_multiplication.bin": "47b72af2", + "webgpu/shader/execution/binary/af_matrix_scalar_multiplication.bin": "1a5c6719", + "webgpu/shader/execution/binary/af_matrix_vector_multiplication.bin": "1b8f17cf", + "webgpu/shader/execution/derivatives.bin": "6d72e1fb", + "webgpu/shader/execution/fwidth.bin": "c00ddf59" } \ No newline at end of file diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/operation/adapter/info.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/operation/adapter/info.spec.js @@ -6,7 +6,7 @@ Tests for GPUAdapterInfo. import { makeTestGroup } from '../../../../common/framework/test_group.js'; import { keysOf } from '../../../../common/util/data_tables.js'; import { getGPU } from '../../../../common/util/navigator_gpu.js'; -import { assert, objectEquals } from '../../../../common/util/util.js'; +import { assert, hasFeature, objectEquals } from '../../../../common/util/util.js'; import { isPowerOfTwo } from '../../../util/math.js'; export const g = makeTestGroup(Fixture); @@ -158,7 +158,7 @@ fn(async (t) => { // Once 'subgroups' lands, the properties should be defined with default values 4 and 128 // when adapter does not support the feature. // https://github.com/gpuweb/gpuweb/pull/4963 - if (adapter.features.has('subgroups')) { + if (hasFeature(adapter.features, 'subgroups')) { t.expect( subgroupMinSize !== undefined, 'GPUAdapterInfo.subgroupMinSize must exist when subgroups supported' diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/operation/adapter/requestDevice.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/operation/adapter/requestDevice.spec.js @@ -8,7 +8,7 @@ potentially limited native resources. `;import { Fixture } from '../../../../common/framework/fixture.js'; import { makeTestGroup } from '../../../../common/framework/test_group.js'; import { getGPU } from '../../../../common/util/navigator_gpu.js'; -import { assert, assertReject, typedEntries } from '../../../../common/util/util.js'; +import { assert, assertReject, hasFeature, typedEntries } from '../../../../common/util/util.js'; import { getDefaultLimitsForCTS, kFeatureNames, @@ -44,7 +44,7 @@ fn(async (t) => { if (device.features.size === 1) { t.expect( - device.features.has('core-features-and-limits'), + hasFeature(device.features, 'core-features-and-limits'), 'Default device should not have any features other than "core-features-and-limits"' ); } else { @@ -204,9 +204,9 @@ fn(async (t) => { assert(adapter !== null); const promise = t.requestDeviceTracked(adapter, { requiredFeatures: [feature] }); - if (adapter.features.has(feature)) { + if (hasFeature(adapter.features, feature)) { const device = await promise; - t.expect(device.features.has(feature), 'Device should include the required feature'); + t.expect(hasFeature(device.features, feature), 'Device should include the required feature'); } else { t.shouldReject('TypeError', promise); } @@ -496,12 +496,12 @@ fn(async (t) => { const device = await t.requestDeviceTracked(adapter); assert(device instanceof GPUDevice, 'requestDevice must return a device or throw'); - if (featureLevel === 'core' && adapter.features.has('core-features-and-limits')) { + if (featureLevel === 'core' && hasFeature(adapter.features, 'core-features-and-limits')) { // Check if the device supports core, when featureLevel is core and adapter supports core. // This check is to make sure something lower-level is not forcing compatibility mode. t.expect( - device.features.has('core-features-and-limits'), + hasFeature(device.features, 'core-features-and-limits'), 'must not get a Compatibility adapter if not requested' ); } diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/operation/device/all_limits_and_features.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/operation/device/all_limits_and_features.spec.js @@ -103,6 +103,7 @@ fn((t) => { // Test that all the adapter features are on the device. for (const feature of t.adapter.features) { + t.expect(t.device.features.has(feature), `device has feature: ${feature}`); } }); \ No newline at end of file diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats.spec.js @@ -4,7 +4,7 @@ Tests for capability checking for features enabling optional texture formats. `;import { makeTestGroup } from '../../../../../common/framework/test_group.js'; import { getGPU } from '../../../../../common/util/navigator_gpu.js'; -import { assert } from '../../../../../common/util/util.js'; +import { assert, hasFeature } from '../../../../../common/util/util.js'; import { kCanvasTextureFormats } from '../../../../capability_info.js'; import { kASTCCompressedTextureFormats, @@ -551,11 +551,11 @@ fn(async (t) => { const features = adapter.features; - const supportsBC = features.has('texture-compression-bc'); - const supportsBCSliced3D = features.has('texture-compression-bc-sliced-3d'); - const supportsASTC = features.has('texture-compression-astc'); - const supportsASTCSliced3D = features.has('texture-compression-astc-sliced-3d'); - const supportsETC2 = features.has('texture-compression-etc2'); + const supportsBC = hasFeature(features, 'texture-compression-bc'); + const supportsBCSliced3D = hasFeature(features, 'texture-compression-bc-sliced-3d'); + const supportsASTC = hasFeature(features, 'texture-compression-astc'); + const supportsASTCSliced3D = hasFeature(features, 'texture-compression-astc-sliced-3d'); + const supportsETC2 = hasFeature(features, 'texture-compression-etc2'); t.expect( supportsBC || supportsETC2 && supportsASTC, diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats_tier1.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats_tier1.spec.js @@ -13,6 +13,7 @@ when the feature is not enabled. This includes: - Resolvability for formats gaining this capability. - STORAGE_BINDING usage for formats gaining this capability. `;import { makeTestGroup } from '../../../../../common/framework/test_group.js'; +import { hasFeature } from '../../../../../common/util/util.js'; import { kTextureFormatTier1AllowsRenderAttachmentBlendableMultisample, kTextureFormatTier1ThrowsWhenNotEnabled, @@ -32,7 +33,7 @@ desc( ). beforeAllSubcases((t) => t.selectDeviceOrSkipTestCase('texture-formats-tier1')). fn((t) => { - t.expect(() => t.device.features.has('rg11b10ufloat-renderable')); + t.expect(() => hasFeature(t.device.features, 'rg11b10ufloat-renderable')); }); g.test('texture_usage,render_attachment'). diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats_tier2.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/features/texture_formats_tier2.spec.js @@ -7,8 +7,9 @@ Test that enabling texture-formats-tier2 also enables rg11b10ufloat-renderable a Tests that abilities enabled by 'texture-formats-tier2' correctly generate validation errors when the feature is not enabled. This includes: -- read-write stoorage access formats gaining this capability. +- read-write storage access formats gaining this capability. `;import { makeTestGroup } from '../../../../../common/framework/test_group.js'; +import { hasFeature } from '../../../../../common/util/util.js'; import { kTextureFormatsTier2EnablesStorageReadWrite } from '../../../../format_info.js'; import { UniqueFeaturesOrLimitsGPUTest } from '../../../../gpu_test.js'; import * as vtu from '../../validation_test_utils.js'; @@ -23,8 +24,8 @@ desc( ). beforeAllSubcases((t) => t.selectDeviceOrSkipTestCase('texture-formats-tier2')). fn((t) => { - t.expect(() => t.device.features.has('rg11b10ufloat-renderable')); - t.expect(() => t.device.features.has('texture-formats-tier1')); + t.expect(() => hasFeature(t.device.features, 'rg11b10ufloat-renderable')); + t.expect(() => hasFeature(t.device.features, 'texture-formats-tier1')); }); g.test('bind_group_layout,storage_binding_read_write_access'). diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/capability_checks/limits/maxComputeWorkgroupStorageSize.spec.js @@ -1,6 +1,6 @@ /** * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts -**/import { keysOf } from '../../../../../common/util/data_tables.js';import { assert } from '../../../../../common/util/util.js';import { align, roundDown } from '../../../../util/math.js'; +**/import { keysOf } from '../../../../../common/util/data_tables.js';import { assert, hasFeature } from '../../../../../common/util/util.js';import { align, roundDown } from '../../../../util/math.js'; import { @@ -152,7 +152,7 @@ fn(async (t) => { const { limitTest, testValueName, async, wgslType } = t.params; const { defaultLimit, adapterLimit: maximumLimit } = t; - const hasF16 = t.adapter.features.has('shader-f16'); + const hasF16 = hasFeature(t.adapter.features, 'shader-f16'); if (!hasF16 && wgslType in wgslF16Types) { return; } diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/render_pipeline/primitive_state.spec.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/api/validation/render_pipeline/primitive_state.spec.js @@ -3,6 +3,7 @@ **/export const description = ` This test dedicatedly tests validation of GPUPrimitiveState of createRenderPipeline. `;import { makeTestGroup } from '../../../../common/framework/test_group.js'; +import { hasFeature } from '../../../../common/util/util.js'; import { kPrimitiveTopology, kIndexFormat } from '../../../capability_info.js'; import * as vtu from '../validation_test_utils.js'; @@ -38,6 +39,6 @@ fn((t) => { const descriptor = t.getDescriptor({ primitive: { unclippedDepth } }); - const _success = !unclippedDepth || t.device.features.has('depth-clip-control'); + const _success = !unclippedDepth || hasFeature(t.device.features, 'depth-clip-control'); vtu.doCreateRenderPipelineTest(t, isAsync, _success, descriptor); }); \ No newline at end of file diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/capability_info.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/capability_info.js @@ -12,7 +12,7 @@ import { '../common/util/data_tables.js'; import { assertTypeTrue } from '../common/util/types.js'; -import { unreachable } from '../common/util/util.js'; +import { hasFeature, unreachable } from '../common/util/util.js'; import { GPUConst, kMaxUnsignedLongValue, kMaxUnsignedLongLongValue } from './constants.js'; @@ -839,7 +839,9 @@ export function getDefaultLimitsForCTS() { } export function getDefaultLimitsForDevice(device) { - const featureLevel = device.features.has('core-features-and-limits') ? 'core' : 'compatibility'; + const featureLevel = hasFeature(device.features, 'core-features-and-limits') ? + 'core' : + 'compatibility'; return getDefaultLimits(featureLevel); } diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/format_info.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/format_info.js @@ -1,6 +1,6 @@ /** * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts -**/import { isCompatibilityDevice } from '../common/framework/test_config.js';import { keysOf } from '../common/util/data_tables.js';import { assert, unreachable } from '../common/util/util.js'; +**/import { isCompatibilityDevice } from '../common/framework/test_config.js';import { keysOf } from '../common/util/data_tables.js';import { assert, unreachable, hasFeature } from '../common/util/util.js'; import { align, roundDown } from './util/math.js'; import { getTextureDimensionFromView } from './util/texture/base.js'; @@ -2068,8 +2068,10 @@ format) { if ( dimension === '3d' && ( - isBCTextureFormat(format) && device.features.has('texture-compression-bc-sliced-3d') || - isASTCTextureFormat(format) && device.features.has('texture-compression-astc-sliced-3d'))) + isBCTextureFormat(format) && + hasFeature(device.features, 'texture-compression-bc-sliced-3d') || + isASTCTextureFormat(format) && + hasFeature(device.features, 'texture-compression-astc-sliced-3d'))) { return true; } @@ -2357,10 +2359,10 @@ device, format) { if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesRenderAttachmentBlendableMultisample(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } return kTextureFormatInfo[format].colorRender || isDepthOrStencilTextureFormat(format); } @@ -2373,10 +2375,10 @@ device, format) { if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesRenderAttachmentBlendableMultisample(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } return !!kAllTextureFormatInfo[format].colorRender; } @@ -2389,10 +2391,10 @@ export function isTextureFormatBlendable(device, format) { return false; } if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (is32Float(format)) { - return device.features.has('float32-blendable'); + return hasFeature(device.features, 'float32-blendable'); } return !!kAllTextureFormatInfo[format].colorRender?.blend; } @@ -2528,12 +2530,12 @@ format) return false; } } - if (format === 'bgra8unorm' && device.features.has('bgra8unorm-storage')) { + if (format === 'bgra8unorm' && hasFeature(device.features, 'bgra8unorm-storage')) { return true; } if ( isTextureFormatTier1EnablesStorageReadOnlyWriteOnly(format) && - device.features.has('texture-formats-tier1')) + hasFeature(device.features, 'texture-formats-tier1')) { return true; } @@ -2610,7 +2612,7 @@ device, format) { if (isTextureFormatTier2EnablesStorageReadWrite(format)) { - return device.features.has('texture-formats-tier2'); + return hasFeature(device.features, 'texture-formats-tier2'); } return !!kTextureFormatInfo[format].color?.readWriteStorage; } @@ -2666,10 +2668,10 @@ export function isTextureFormatMultisampled(device, format) { } } if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesRenderAttachmentBlendableMultisample(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } return kAllTextureFormatInfo[format].multisample; } @@ -2680,10 +2682,10 @@ export function isTextureFormatMultisampled(device, format) { */ export function isTextureFormatResolvable(device, format) { if (format === 'rg11b10ufloat') { - return device.features.has('rg11b10ufloat-renderable'); + return hasFeature(device.features, 'rg11b10ufloat-renderable'); } if (isTextureFormatTier1EnablesResolve(format)) { - return device.features.has('texture-formats-tier1'); + return hasFeature(device.features, 'texture-formats-tier1'); } // You can't resolve a non-multisampled format. if (!isTextureFormatMultisampled(device, format)) { diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/gpu_test.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/gpu_test.js @@ -18,7 +18,8 @@ import { - unreachable } from + unreachable, + hasFeature } from '../common/util/util.js'; import { kQueryTypeInfo } from './capability_info.js'; @@ -460,7 +461,10 @@ export class GPUTestBase extends Fixture { * Note: Try to use one of the more specific skipIf tests if possible. */ skipIfDeviceDoesNotHaveFeature(feature) { - this.skipIf(!this.device.features.has(feature), `device does not have feature: '${feature}'`); + this.skipIf( + !hasFeature(this.device.features, feature), + `device does not have feature: '${feature}'` + ); } /** @@ -497,7 +501,7 @@ export class GPUTestBase extends Fixture { } const feature = getRequiredFeatureForTextureFormat(format); this.skipIf( - !!feature && !this.device.features.has(feature), + !!feature && !hasFeature(this.device.features, feature), `texture format '${format}' requires feature: '${feature}'` ); } @@ -603,7 +607,7 @@ export class GPUTestBase extends Fixture { this.skipIf(isSintOrUintFormat(format), 'sint/uint formats are not blendable'); if (is32Float(format)) { this.skipIf( - !this.device.features.has('float32-blendable'), + !hasFeature(this.device.features, 'float32-blendable'), `texture format '${format}' is not blendable` ); } @@ -616,7 +620,7 @@ export class GPUTestBase extends Fixture { this.skipIf(isSintOrUintFormat(format), 'sint/uint formats are not filterable'); if (is32Float(format)) { this.skipIf( - !this.device.features.has('float32-filterable'), + !hasFeature(this.device.features, 'float32-filterable'), `texture format '${format}' is not filterable` ); } diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/call/builtin/texture_utils.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/shader/execution/expression/call/builtin/texture_utils.js @@ -1,6 +1,6 @@ /** * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts -**/import { keysOf } from '../../../../../../common/util/data_tables.js';import { assert, range, unreachable } from '../../../../../../common/util/util.js';import { Float16Array } from '../../../../../../external/petamoriken/float16/float16.js'; +**/import { keysOf } from '../../../../../../common/util/data_tables.js';import { assert, range, unreachable, hasFeature } from '../../../../../../common/util/util.js';import { Float16Array } from '../../../../../../external/petamoriken/float16/float16.js'; import { @@ -2438,7 +2438,8 @@ textureType) } const gbaUndefined = - isDepthOrStencilTextureFormat(format) && !device.features.has('texel-component-swizzle'); + isDepthOrStencilTextureFormat(format) && + !hasFeature(device.features, 'texture-component-swizzle'); if (gbaUndefined) { return kRComponent; } @@ -2585,7 +2586,7 @@ gpuTexture) isDepthOrStencilTextureFormat(format) && isBuiltinGather(call.builtin) && call.component > 0 && - !t.device.features.has('texture-component-swizzle')) + !hasFeature(t.device.features, 'texture-component-swizzle')) { continue; } @@ -5320,7 +5321,7 @@ ${stageWGSL} type ?? 'float'; if (isFiltering && sampleType === 'unfilterable-float') { assert(is32Float(format)); - assert(t.device.features.has('float32-filterable')); + assert(hasFeature(t.device.features, 'float32-filterable')); sampleType = 'float'; } if (sampleCount > 1 && sampleType === 'float') { diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/util/device_pool.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/util/device_pool.js @@ -6,7 +6,8 @@ import { assert, raceWithRejectOnTimeout, assertReject, - unreachable } from + unreachable, + hasFeature } from '../../common/util/util.js'; import { getDefaultLimits, kPossibleLimits } from '../capability_info.js'; @@ -319,7 +320,7 @@ descriptor) } for (const feature of descriptor.requiredFeatures) { - if (!adapter.features.has(feature)) { + if (!hasFeature(adapter.features, feature)) { return false; } }