diff --git a/src/webgpu/api/operation/render_pass/storeOp.spec.ts b/src/webgpu/api/operation/render_pass/storeOp.spec.ts index 9fdfbca6abc1..84a920555a17 100644 --- a/src/webgpu/api/operation/render_pass/storeOp.spec.ts +++ b/src/webgpu/api/operation/render_pass/storeOp.spec.ts @@ -152,7 +152,6 @@ g.test('render_pass_store_op,color_attachment_only') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.colorFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.colorFormat); }) .fn(t => { const colorAttachment = t.createTextureTracked({ diff --git a/src/webgpu/api/operation/render_pipeline/overrides.spec.ts b/src/webgpu/api/operation/render_pipeline/overrides.spec.ts index 7317b624d98a..7d00015d5e4f 100644 --- a/src/webgpu/api/operation/render_pipeline/overrides.spec.ts +++ b/src/webgpu/api/operation/render_pipeline/overrides.spec.ts @@ -191,9 +191,6 @@ g.test('precision') }, ]) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat(kPrecisionTestFormat); - }) .fn(async t => { const format = kPrecisionTestFormat; await t.ExpectShaderOutputWithConstants( diff --git a/src/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.ts b/src/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.ts index 22e790e21169..fda018a7312e 100644 --- a/src/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.ts +++ b/src/webgpu/api/operation/render_pipeline/pipeline_output_targets.spec.ts @@ -58,7 +58,6 @@ g.test('color,attachments') .beforeAllSubcases(t => { const info = kTextureFormatInfo[t.params.format]; t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); t.selectDeviceOrSkipTestCase(info.feature); }) .fn(t => { @@ -161,7 +160,6 @@ g.test('color,component_count') .beforeAllSubcases(t => { const info = kTextureFormatInfo[t.params.format]; t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); t.selectDeviceOrSkipTestCase(info.feature); }) .fn(t => { diff --git a/src/webgpu/api/operation/rendering/color_target_state.spec.ts b/src/webgpu/api/operation/rendering/color_target_state.spec.ts index c1cbb3fe1200..930fec9c67e0 100644 --- a/src/webgpu/api/operation/rendering/color_target_state.spec.ts +++ b/src/webgpu/api/operation/rendering/color_target_state.spec.ts @@ -209,7 +209,6 @@ g.test('blending,GPUBlendComponent') ) { t.selectDeviceOrSkipTestCase('dual-source-blending'); } - t.skipIfColorRenderableNotSupportedForFormat(kBlendingGPUBlendComponentFormat); }) .fn(t => { const textureFormat: GPUTextureFormat = kBlendingGPUBlendComponentFormat; @@ -395,7 +394,6 @@ g.test('blending,formats') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); }) .fn(t => { const { format } = t.params; @@ -800,9 +798,6 @@ g.test('blending,clamping') .combine('srcValue', [0.4, 0.6, 0.8, 1.0]) .combine('dstValue', [0.2, 0.4]) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); - }) .fn(t => { const { format, srcValue, dstValue } = t.params; diff --git a/src/webgpu/api/operation/resource_init/texture_zero.spec.ts b/src/webgpu/api/operation/resource_init/texture_zero.spec.ts index 91d8ddd16c2b..c029bb52d20a 100644 --- a/src/webgpu/api/operation/resource_init/texture_zero.spec.ts +++ b/src/webgpu/api/operation/resource_init/texture_zero.spec.ts @@ -43,7 +43,6 @@ g.test('uninitialized_texture_is_zero') .params(kTestParams) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); t.selectDeviceOrSkipTestCase(kTextureFormatInfo[t.params.format].feature); }) .fn(t => { diff --git a/src/webgpu/api/operation/sampling/filter_mode.spec.ts b/src/webgpu/api/operation/sampling/filter_mode.spec.ts index 9c0c19e5a5e2..8d32ae5e3289 100644 --- a/src/webgpu/api/operation/sampling/filter_mode.spec.ts +++ b/src/webgpu/api/operation/sampling/filter_mode.spec.ts @@ -481,7 +481,6 @@ g.test('magFilter,nearest') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); if (kTextureFormatInfo[t.params.format].color.type === 'unfilterable-float') { t.selectDeviceOrSkipTestCase('float32-filterable'); } @@ -605,7 +604,6 @@ g.test('magFilter,linear') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); if (kTextureFormatInfo[t.params.format].color.type === 'unfilterable-float') { t.selectDeviceOrSkipTestCase('float32-filterable'); } @@ -741,7 +739,6 @@ g.test('minFilter,nearest') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); if (kTextureFormatInfo[t.params.format].color.type === 'unfilterable-float') { t.selectDeviceOrSkipTestCase('float32-filterable'); } @@ -875,7 +872,6 @@ g.test('minFilter,linear') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); if (kTextureFormatInfo[t.params.format].color.type === 'unfilterable-float') { t.selectDeviceOrSkipTestCase('float32-filterable'); } @@ -972,7 +968,6 @@ g.test('mipmapFilter') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); if (kTextureFormatInfo[t.params.format].color.type === 'unfilterable-float') { t.selectDeviceOrSkipTestCase('float32-filterable'); } diff --git a/src/webgpu/api/validation/createBindGroup.spec.ts b/src/webgpu/api/validation/createBindGroup.spec.ts index 68bb5514a6eb..424d652f3d83 100644 --- a/src/webgpu/api/validation/createBindGroup.spec.ts +++ b/src/webgpu/api/validation/createBindGroup.spec.ts @@ -205,9 +205,6 @@ g.test('texture_binding_must_have_correct_usage') return usage === GPUConst.TextureUsage.STORAGE_BINDING && info.resource === 'sampledTexMS'; }) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat(kTestFormat); - }) .fn(t => { const { entry, usage } = t.params; const info = texBindingTypeInfo(entry); diff --git a/src/webgpu/api/validation/createTexture.spec.ts b/src/webgpu/api/validation/createTexture.spec.ts index 8a3006a7cb24..134dd5ef267d 100644 --- a/src/webgpu/api/validation/createTexture.spec.ts +++ b/src/webgpu/api/validation/createTexture.spec.ts @@ -282,7 +282,6 @@ g.test('sampleCount,various_sampleCount_with_all_formats') const { format } = t.params; const info = kTextureFormatInfo[format]; t.skipIfTextureFormatNotSupported(format); - t.skipIfColorRenderableNotSupportedForFormat(format); t.selectDeviceOrSkipTestCase(info.feature); }) .fn(t => { @@ -359,7 +358,6 @@ g.test('sampleCount,valid_sampleCount_with_other_parameter_varies') const info = kTextureFormatInfo[format]; t.skipIfTextureFormatNotSupported(format); t.selectDeviceOrSkipTestCase(info.feature); - t.skipIfColorRenderableNotSupportedForFormat(format); }) .fn(t => { const { dimension, sampleCount, format, mipLevelCount, arrayLayerCount, usage } = t.params; @@ -1053,7 +1051,6 @@ g.test('texture_usage') const info = kTextureFormatInfo[format]; t.skipIfTextureFormatNotSupported(format); t.selectDeviceOrSkipTestCase(info.feature); - t.skipIfColorRenderableNotSupportedForFormat(format); }) .fn(t => { const { dimension, format, usage0, usage1 } = t.params; diff --git a/src/webgpu/api/validation/createView.spec.ts b/src/webgpu/api/validation/createView.spec.ts index f257fa394611..c3e56bb4f011 100644 --- a/src/webgpu/api/validation/createView.spec.ts +++ b/src/webgpu/api/validation/createView.spec.ts @@ -378,9 +378,6 @@ g.test('texture_view_usage') if (textureUsage & GPUTextureUsage.STORAGE_BINDING) { t.skipIfTextureFormatNotUsableAsStorageTexture(format); } - if (textureUsage & GPUTextureUsage.RENDER_ATTACHMENT) { - t.skipIfColorRenderableNotSupportedForFormat(format); - } }) .fn(t => { const { format, textureUsage0, textureUsage1, textureViewUsage0, textureViewUsage1 } = t.params; diff --git a/src/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.ts b/src/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.ts index dade5b13b20e..31581332e052 100644 --- a/src/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.ts +++ b/src/webgpu/api/validation/encoding/createRenderBundleEncoder.spec.ts @@ -14,13 +14,14 @@ import { kTextureFormatInfo, kRenderableColorTextureFormats, } from '../../../format_info.js'; +import { MaxLimitsTestMixin } from '../../../gpu_test.js'; import { ValidationTest } from '../validation_test.js'; // MAINTENANCE_TODO: This should be changed to kMaxColorAttachmentsToTest // when this is made a MaxLimitTest (see above). const kMaxColorAttachments = getDefaultLimits('core').maxColorAttachments.default; -export const g = makeTestGroup(ValidationTest); +export const g = makeTestGroup(MaxLimitsTestMixin(ValidationTest)); g.test('attachment_state,limits,maxColorAttachments') .desc(`Tests that attachment state must have <= device.limits.maxColorAttachments.`) @@ -63,7 +64,6 @@ g.test('attachment_state,limits,maxColorAttachmentBytesPerSample,aligned') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); }) .fn(t => { const { format, colorFormatCount } = t.params; @@ -119,9 +119,6 @@ g.test('attachment_state,limits,maxColorAttachmentBytesPerSample,unaligned') }, ]) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat('r32float'); - }) .fn(t => { const { formats } = t.params; @@ -172,7 +169,6 @@ g.test('valid_texture_formats') .beforeAllSubcases(t => { const { format } = t.params; t.selectDeviceForTextureFormatOrSkipTestCase(format); - t.skipIfColorRenderableNotSupportedForFormat(format); }) .fn(t => { const { format, attachment } = t.params; diff --git a/src/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.ts b/src/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.ts index e88b14872052..622133721bed 100644 --- a/src/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.ts +++ b/src/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.ts @@ -682,7 +682,6 @@ g.test('destination_texture,format') const { format } = t.params; t.skipIfTextureFormatNotSupported(format); t.selectDeviceOrSkipTestCase(kTextureFormatInfo[format].feature); - t.skipIfColorRenderableNotSupportedForFormat(format); }) .fn(async t => { const { format, copySize } = t.params; diff --git a/src/webgpu/api/validation/render_pass/attachment_compatibility.spec.ts b/src/webgpu/api/validation/render_pass/attachment_compatibility.spec.ts index 02132c584c3e..8e0745299b09 100644 --- a/src/webgpu/api/validation/render_pass/attachment_compatibility.spec.ts +++ b/src/webgpu/api/validation/render_pass/attachment_compatibility.spec.ts @@ -182,7 +182,6 @@ g.test('render_pass_and_bundle,color_format') const { passFormat, bundleFormat } = t.params; t.skipIfTextureFormatNotSupported(passFormat, bundleFormat); - t.skipIfColorRenderableNotSupportedForFormat(passFormat, bundleFormat); const bundleEncoder = t.device.createRenderBundleEncoder({ colorFormats: [bundleFormat], @@ -391,7 +390,6 @@ Test that color attachment formats in render passes or bundles match the pipelin const { encoderType, encoderFormat, pipelineFormat } = t.params; t.skipIfTextureFormatNotSupported(encoderFormat, pipelineFormat); - t.skipIfColorRenderableNotSupportedForFormat(encoderFormat, pipelineFormat); const pipeline = t.createRenderPipeline([{ format: pipelineFormat, writeMask: 0 }]); diff --git a/src/webgpu/api/validation/render_pass/render_pass_descriptor.spec.ts b/src/webgpu/api/validation/render_pass/render_pass_descriptor.spec.ts index e8770ffa936a..5fa3a23c4d45 100644 --- a/src/webgpu/api/validation/render_pass/render_pass_descriptor.spec.ts +++ b/src/webgpu/api/validation/render_pass/render_pass_descriptor.spec.ts @@ -211,7 +211,6 @@ g.test('color_attachments,limits,maxColorAttachmentBytesPerSample,aligned') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); }) .fn(t => { const { format, attachmentCount } = t.params; @@ -268,9 +267,6 @@ g.test('color_attachments,limits,maxColorAttachmentBytesPerSample,unaligned') }, ]) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat('r32float'); - }) .fn(t => { const { formats } = t.params; diff --git a/src/webgpu/api/validation/render_pipeline/float32_blendable.spec.ts b/src/webgpu/api/validation/render_pipeline/float32_blendable.spec.ts index a386dc729190..ed387b5a8769 100644 --- a/src/webgpu/api/validation/render_pipeline/float32_blendable.spec.ts +++ b/src/webgpu/api/validation/render_pipeline/float32_blendable.spec.ts @@ -30,7 +30,6 @@ pipeline that uses blending with any float32-format attachment. if (t.params.enabled) { t.selectDeviceOrSkipTestCase('float32-blendable'); } - t.skipIfColorRenderableNotSupportedForFormat('r32float'); }) .fn(t => { const { isAsync, enabled, hasBlend, format } = t.params; diff --git a/src/webgpu/api/validation/render_pipeline/fragment_state.spec.ts b/src/webgpu/api/validation/render_pipeline/fragment_state.spec.ts index 37528a7067b7..efbe8b0b5b94 100644 --- a/src/webgpu/api/validation/render_pipeline/fragment_state.spec.ts +++ b/src/webgpu/api/validation/render_pipeline/fragment_state.spec.ts @@ -181,7 +181,6 @@ g.test('limits,maxColorAttachmentBytesPerSample,aligned') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); }) .fn(t => { const { format, attachmentCount, isAsync } = t.params; @@ -229,9 +228,6 @@ g.test('limits,maxColorAttachmentBytesPerSample,unaligned') .beginSubcases() .combine('isAsync', [false, true]) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat('r32float'); - }) .fn(t => { const { formats, isAsync } = t.params; @@ -269,7 +265,6 @@ g.test('targets_format_filterable') const { format } = t.params; const info = kTextureFormatInfo[format]; t.skipIfTextureFormatNotSupported(format); - t.skipIfColorRenderableNotSupportedForFormat(format); t.selectDeviceOrSkipTestCase(info.feature); }) .fn(t => { @@ -399,7 +394,6 @@ g.test('pipeline_output_targets') ) .beforeAllSubcases(t => { t.selectDeviceForTextureFormatOrSkipTestCase(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); }) .fn(t => { const { isAsync, format, writeMask, shaderOutput } = t.params; diff --git a/src/webgpu/api/validation/resource_usages/texture/in_render_common.spec.ts b/src/webgpu/api/validation/resource_usages/texture/in_render_common.spec.ts index d6624cb96952..03bbbfcf23f6 100644 --- a/src/webgpu/api/validation/resource_usages/texture/in_render_common.spec.ts +++ b/src/webgpu/api/validation/resource_usages/texture/in_render_common.spec.ts @@ -115,9 +115,6 @@ g.test('subresources,color_attachments') .combine('inSamePass', [true, false]) .unless(t => t.inSamePass && t.level0 !== t.level1) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat('r32float'); - }) .fn(t => { const { layer0, level0, layer1, level1, inSamePass } = t.params; @@ -197,7 +194,6 @@ g.test('subresources,color_attachment_and_bind_group') t.params.bgLayerCount !== kTextureLayers, 'view array layers must equal texture array layers in compatibility mode' ); - t.skipIfColorRenderableNotSupportedForFormat('r32float'); } }) .fn(t => { @@ -476,7 +472,6 @@ g.test('subresources,multiple_bind_groups') t.params.bg0Layers.count !== kTextureLayers || t.params.bg1Layers.count !== kTextureLayers, 'view array layers must equal texture array layers in compatibility mode' ); - t.skipIfColorRenderableNotSupportedForFormat('r32float'); } }) .fn(t => { diff --git a/src/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.ts b/src/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.ts index 61a1f823b180..de1e514a7665 100644 --- a/src/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.ts +++ b/src/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.ts @@ -520,9 +520,6 @@ g.test('subresources,texture_usages_in_copy_and_render_pass') usage1 === 'copy-dst' ) ) - .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat('r32float'); - }) .fn(t => { const { usage0, usage1 } = t.params; @@ -618,11 +615,6 @@ g.test('subresources,texture_view_usages') .combine('bindingType', ['color-attachment', ...kTextureBindingTypes] as const) .combine('viewUsage', [0, ...kTextureUsages]) ) - .beforeAllSubcases(t => { - if (t.params.bindingType === 'color-attachment') { - t.skipIfColorRenderableNotSupportedForFormat('r32float'); - } - }) .fn(t => { const { bindingType, viewUsage } = t.params; diff --git a/src/webgpu/gpu_test.ts b/src/webgpu/gpu_test.ts index d3d95e605fcc..ae89f19cf343 100644 --- a/src/webgpu/gpu_test.ts +++ b/src/webgpu/gpu_test.ts @@ -261,7 +261,7 @@ export class GPUTestSubcaseBatchState extends SubcaseBatchState { if (this.isCompatibility) { for (const format of formats) { if (format === 'bgra8unorm-srgb') { - this.skip(`texture format '${format} is not supported`); + this.skip(`texture format '${format} is not supported in compatibility mode`); } } } @@ -274,24 +274,13 @@ export class GPUTestSubcaseBatchState extends SubcaseBatchState { this.skip(`texture format '${format}' is not supported to be multisampled`); } } - - this.skipIfColorRenderableNotSupportedForFormat(...formats); - } - - skipIfColorRenderableNotSupportedForFormat(...formats: (GPUTextureFormat | undefined)[]) { - for (const format of formats) { - if (format === undefined) continue; - if (!kTextureFormatInfo[format].color) { - this.skip(`texture format '${format} is not color renderable`); - } - } } skipIfCopyTextureToTextureNotSupportedForFormat(...formats: (GPUTextureFormat | undefined)[]) { if (this.isCompatibility) { for (const format of formats) { if (format && isCompressedTextureFormat(format)) { - this.skip(`copyTextureToTexture with ${format} is not supported`); + this.skip(`copyTextureToTexture with ${format} is not supported in compatibility mode`); } } } @@ -527,15 +516,6 @@ export class GPUTestBase extends Fixture { } } - skipIfColorRenderableNotSupportedForFormat(...formats: (GPUTextureFormat | undefined)[]) { - for (const format of formats) { - if (format === undefined) continue; - if (!kTextureFormatInfo[format].color) { - this.skip(`texture format '${format} is not color renderable`); - } - } - } - skipIfTextureViewDimensionNotSupported(...dimensions: (GPUTextureViewDimension | undefined)[]) { if (this.isCompatibility) { for (const dimension of dimensions) { diff --git a/src/webgpu/web_platform/canvas/configure.spec.ts b/src/webgpu/web_platform/canvas/configure.spec.ts index ed68a9aa8bee..69e058d8d1a3 100644 --- a/src/webgpu/web_platform/canvas/configure.spec.ts +++ b/src/webgpu/web_platform/canvas/configure.spec.ts @@ -157,7 +157,6 @@ g.test('format') ) .beforeAllSubcases(t => { t.selectDeviceForTextureFormatOrSkipTestCase(t.params.format); - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); }) .fn(t => { const { canvasType, format } = t.params; @@ -447,7 +446,6 @@ g.test('viewFormats') ) ) .beforeAllSubcases(t => { - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); t.selectDeviceOrSkipTestCase([t.params.viewFormatFeature]); }) .fn(t => { diff --git a/src/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.ts b/src/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.ts index b04f5aa41ac6..2131540de6cf 100644 --- a/src/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.ts +++ b/src/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.ts @@ -261,10 +261,6 @@ g.test('onscreenCanvas,snapshot') .combine('colorSpace', kCanvasColorSpaces) .combine('snapshotType', ['toDataURL', 'toBlob', 'imageBitmap']) ) - .beforeAllSubcases(t => { - // rgba16float may not be color-renderable in compat mode - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); - }) .fn(async t => { const canvas = initWebGPUCanvasContent( t, @@ -327,10 +323,6 @@ g.test('offscreenCanvas,snapshot') .combine('colorSpace', kCanvasColorSpaces) .combine('snapshotType', ['convertToBlob', 'transferToImageBitmap', 'imageBitmap'] as const) ) - .beforeAllSubcases(t => { - // rgba16float may not be color-renderable in compat mode - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); - }) .fn(async t => { const offscreenCanvas = initWebGPUCanvasContent( t, @@ -386,10 +378,6 @@ g.test('onscreenCanvas,uploadToWebGL') .combine('webgl', ['webgl', 'webgl2']) .combine('upload', ['texImage2D', 'texSubImage2D']) ) - .beforeAllSubcases(t => { - // rgba16float may not be color-renderable in compat mode - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); - }) .fn(t => { const { format, webgl, upload } = t.params; const canvas = initWebGPUCanvasContent(t, format, t.params.alphaMode, 'srgb', 'onscreen'); @@ -471,10 +459,6 @@ g.test('drawTo2DCanvas') .combine('webgpuCanvasType', kAllCanvasTypes) .combine('canvas2DType', kAllCanvasTypes) ) - .beforeAllSubcases(t => { - // rgba16float may not be color-renderable in compat mode - t.skipIfColorRenderableNotSupportedForFormat(t.params.format); - }) .fn(t => { const { format, webgpuCanvasType, alphaMode, colorSpace, canvas2DType } = t.params; diff --git a/src/webgpu/web_platform/copyToTexture/ImageBitmap.spec.ts b/src/webgpu/web_platform/copyToTexture/ImageBitmap.spec.ts index 690db0188a17..86ed37ef9e67 100644 --- a/src/webgpu/web_platform/copyToTexture/ImageBitmap.spec.ts +++ b/src/webgpu/web_platform/copyToTexture/ImageBitmap.spec.ts @@ -61,7 +61,6 @@ g.test('from_ImageData') .beforeAllSubcases(t => { t.skipIf(typeof ImageData === 'undefined', 'ImageData does not exist in this environment'); t.skipIfTextureFormatNotSupported(t.params.dstFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstFormat); }) .fn(async t => { const { @@ -183,7 +182,6 @@ g.test('from_canvas') .beforeAllSubcases(t => { t.skipIf(typeof ImageData === 'undefined', 'ImageData does not exist in this environment'); t.skipIfTextureFormatNotSupported(t.params.dstFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstFormat); }) .fn(async t => { const { diff --git a/src/webgpu/web_platform/copyToTexture/ImageData.spec.ts b/src/webgpu/web_platform/copyToTexture/ImageData.spec.ts index 2345d00046f5..912c5f69d7f8 100644 --- a/src/webgpu/web_platform/copyToTexture/ImageData.spec.ts +++ b/src/webgpu/web_platform/copyToTexture/ImageData.spec.ts @@ -49,7 +49,6 @@ g.test('from_ImageData') .beforeAllSubcases(t => { t.skipIf(typeof ImageData === 'undefined', 'ImageData does not exist in this environment'); t.skipIfTextureFormatNotSupported(t.params.dstColorFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstColorFormat); }) .fn(t => { const { width, height, dstColorFormat, dstPremultiplied, srcDoFlipYDuringCopy } = t.params; diff --git a/src/webgpu/web_platform/copyToTexture/canvas.spec.ts b/src/webgpu/web_platform/copyToTexture/canvas.spec.ts index 648448b84c9f..84334df603e3 100644 --- a/src/webgpu/web_platform/copyToTexture/canvas.spec.ts +++ b/src/webgpu/web_platform/copyToTexture/canvas.spec.ts @@ -495,7 +495,6 @@ g.test('copy_contents_from_2d_context_canvas') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.dstColorFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstColorFormat); }) .fn(t => { const { width, height, canvasType, dstAlphaMode } = t.params; @@ -560,7 +559,6 @@ g.test('copy_contents_from_gl_context_canvas') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.dstColorFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstColorFormat); }) .fn(t => { const { width, height, canvasType, contextName, srcPremultiplied, dstAlphaMode } = t.params; @@ -630,7 +628,6 @@ g.test('copy_contents_from_gpu_context_canvas') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.dstColorFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstColorFormat); t.selectMismatchedDeviceOrSkipTestCase(undefined); }) .fn(t => { @@ -697,7 +694,6 @@ g.test('copy_contents_from_bitmaprenderer_context_canvas') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.dstColorFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstColorFormat); }) .fn(async t => { const { width, height, canvasType, dstAlphaMode } = t.params; @@ -774,7 +770,6 @@ g.test('color_space_conversion') ) .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.dstColorFormat); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstColorFormat); }) .fn(t => { const { diff --git a/src/webgpu/web_platform/copyToTexture/image.spec.ts b/src/webgpu/web_platform/copyToTexture/image.spec.ts index 2b6b89218a9f..7bb577ae5d07 100644 --- a/src/webgpu/web_platform/copyToTexture/image.spec.ts +++ b/src/webgpu/web_platform/copyToTexture/image.spec.ts @@ -63,7 +63,6 @@ g.test('from_image') .beforeAllSubcases(t => { t.skipIfTextureFormatNotSupported(t.params.dstColorFormat); if (typeof HTMLImageElement === 'undefined') t.skip('HTMLImageElement not available'); - t.skipIfColorRenderableNotSupportedForFormat(t.params.dstColorFormat); }) .fn(async t => { const { width, height, dstColorFormat, dstPremultiplied, srcDoFlipYDuringCopy } = t.params;