webgpu: Move supported context format to content timeline (#34028)

* Move supported context format to content timeline

https://github.com/gpuweb/gpuweb/pull/4911
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Update expectations

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
Samson 2024-10-28 10:15:46 +01:00 committed by GitHub
parent 10aa485c0c
commit a01d66df53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 42 additions and 169 deletions

View file

@ -19,7 +19,7 @@ use webrender_api::units::DeviceIntSize;
use webrender_api::ImageKey; use webrender_api::ImageKey;
use super::bindings::codegen::Bindings::WebGPUBinding::{ use super::bindings::codegen::Bindings::WebGPUBinding::{
GPUCanvasAlphaMode, GPUTextureUsageConstants, GPUCanvasAlphaMode, GPUTextureFormat, GPUTextureUsageConstants,
}; };
use super::bindings::codegen::UnionTypes::HTMLCanvasElementOrOffscreenCanvas; use super::bindings::codegen::UnionTypes::HTMLCanvasElementOrOffscreenCanvas;
use super::bindings::error::{Error, Fallible}; use super::bindings::error::{Error, Fallible};
@ -104,6 +104,15 @@ impl HTMLCanvasElementOrOffscreenCanvas {
} }
} }
/// <https://gpuweb.github.io/gpuweb/#supported-context-formats>
fn supported_context_format(format: GPUTextureFormat) -> bool {
// TODO: GPUTextureFormat::Rgba16float
matches!(
format,
GPUTextureFormat::Bgra8unorm | GPUTextureFormat::Rgba8unorm
)
}
#[derive(Clone, Debug, Default, JSTraceable, MallocSizeOf)] #[derive(Clone, Debug, Default, JSTraceable, MallocSizeOf)]
/// Helps observe changes on swapchain /// Helps observe changes on swapchain
struct DrawingBuffer { struct DrawingBuffer {
@ -340,15 +349,26 @@ impl GPUCanvasContextMethods for GPUCanvasContext {
/// <https://gpuweb.github.io/gpuweb/#dom-gpucanvascontext-configure> /// <https://gpuweb.github.io/gpuweb/#dom-gpucanvascontext-configure>
fn Configure(&self, configuration: &GPUCanvasConfiguration) -> Fallible<()> { fn Configure(&self, configuration: &GPUCanvasConfiguration) -> Fallible<()> {
// Step 4 // Step 1: Let device be configuration.device
let device = &configuration.device;
// Step 5: Let descriptor be the GPUTextureDescriptor for the canvas and configuration.
let descriptor = self.texture_descriptor_for_canvas(configuration); let descriptor = self.texture_descriptor_for_canvas(configuration);
// Step 2&3 // Step 2&3: Validate texture format required features
let (mut desc, _) = convert_texture_descriptor(&descriptor, &configuration.device)?; let (mut desc, _) = convert_texture_descriptor(&descriptor, device)?;
desc.label = Some(Cow::Borrowed( desc.label = Some(Cow::Borrowed(
"dummy texture for texture descriptor validation", "dummy texture for texture descriptor validation",
)); ));
// Step 4: If Supported context formats does not contain configuration.format, throw a TypeError
if !supported_context_format(configuration.format) {
return Err(Error::Type(format!(
"Unsupported context format: {:?}",
configuration.format
)));
}
// Step 5 // Step 5
self.configuration.replace(Some(configuration.clone())); self.configuration.replace(Some(configuration.clone()));
@ -363,7 +383,7 @@ impl GPUCanvasContextMethods for GPUCanvasContext {
self.channel self.channel
.0 .0
.send(WebGPURequest::ValidateTextureDescriptor { .send(WebGPURequest::ValidateTextureDescriptor {
device_id: configuration.device.id().0, device_id: device.id().0,
texture_id, texture_id,
descriptor: desc, descriptor: desc,
}) })

View file

@ -39,6 +39,17 @@ impl MallocSizeOf for WebGPUContextId {
} }
} }
impl ContextConfiguration {
fn format(&self) -> ImageFormat {
match self.format {
wgt::TextureFormat::Rgba8Unorm => ImageFormat::RGBA8,
wgt::TextureFormat::Bgra8Unorm => ImageFormat::BGRA8,
// TODO: wgt::TextureFormat::Rgba16Float
_ => unreachable!("Unsupported canvas context format in configuration"),
}
}
}
pub type WGPUImageMap = Arc<Mutex<HashMap<WebGPUContextId, ContextData>>>; pub type WGPUImageMap = Arc<Mutex<HashMap<WebGPUContextId, ContextData>>>;
/// Presentation id encodes current configuration and current image /// Presentation id encodes current configuration and current image
@ -383,17 +394,11 @@ impl crate::WGPU {
let presentation_id = context_data.next_presentation_id(); let presentation_id = context_data.next_presentation_id();
context_data.check_and_update_presentation_id(presentation_id); context_data.check_and_update_presentation_id(presentation_id);
// If configuration is not provided or presentation format is not valid // If configuration is not provided
// the context will be dummy until recreation // the context will be dummy/empty until recreation
let format = config.as_ref().and_then(|config| match config.format { let needs_image_update = if let Some(config) = config {
wgt::TextureFormat::Rgba8Unorm => Some(ImageFormat::RGBA8), let new_image_desc =
wgt::TextureFormat::Bgra8Unorm => Some(ImageFormat::BGRA8), WebGPUImageDescriptor::new(config.format(), size, config.is_opaque);
_ => None,
});
let needs_image_update = if let Some(format) = format {
let config = config.expect("Config should exist when valid format is available");
let new_image_desc = WebGPUImageDescriptor::new(format, size, config.is_opaque);
let needs_swapchain_rebuild = context_data.swap_chain.is_none() || let needs_swapchain_rebuild = context_data.swap_chain.is_none() ||
new_image_desc.buffer_size() != context_data.image_desc.buffer_size(); new_image_desc.buffer_size() != context_data.image_desc.buffer_size();
if needs_swapchain_rebuild { if needs_swapchain_rebuild {

View file

@ -551,21 +551,7 @@ impl WGPU {
{ {
warn!("Unable to send FreeTexture({:?}) ({:?})", texture_id, e); warn!("Unable to send FreeTexture({:?}) ({:?})", texture_id, e);
}; };
if let Some(error) = error { self.maybe_dispatch_wgpu_error(device_id, error);
self.dispatch_error(device_id, Error::from_error(error));
continue;
}
// Supported context formats
// TODO: wgt::TextureFormat::Rgba16Float, when wr supports HDR
if !matches!(
descriptor.format,
wgt::TextureFormat::Bgra8Unorm | wgt::TextureFormat::Rgba8Unorm
) {
self.dispatch_error(
device_id,
Error::Validation("Unsupported context format".to_string()),
);
}
}, },
WebGPURequest::DestroyContext { context_id } => { WebGPURequest::DestroyContext { context_id } => {
self.destroy_context(context_id); self.destroy_context(context_id);

View file

@ -10509,8 +10509,6 @@
[:format="bc1-rgba-unorm";canvasType="onscreen";enable_required_feature=false] [:format="bc1-rgba-unorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc1-rgba-unorm";canvasType="onscreen";enable_required_feature=true] [:format="bc1-rgba-unorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc1-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false] [:format="bc1-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false]
@ -10519,8 +10517,6 @@
[:format="bc1-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false] [:format="bc1-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false]
[:format="bc1-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true] [:format="bc1-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc2-rgba-unorm";canvasType="offscreen";enable_required_feature=false] [:format="bc2-rgba-unorm";canvasType="offscreen";enable_required_feature=false]
@ -10529,8 +10525,6 @@
[:format="bc2-rgba-unorm";canvasType="onscreen";enable_required_feature=false] [:format="bc2-rgba-unorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc2-rgba-unorm";canvasType="onscreen";enable_required_feature=true] [:format="bc2-rgba-unorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc2-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false] [:format="bc2-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false]
@ -10539,8 +10533,6 @@
[:format="bc2-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false] [:format="bc2-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false]
[:format="bc2-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true] [:format="bc2-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc3-rgba-unorm";canvasType="offscreen";enable_required_feature=false] [:format="bc3-rgba-unorm";canvasType="offscreen";enable_required_feature=false]
@ -10549,8 +10541,6 @@
[:format="bc3-rgba-unorm";canvasType="onscreen";enable_required_feature=false] [:format="bc3-rgba-unorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc3-rgba-unorm";canvasType="onscreen";enable_required_feature=true] [:format="bc3-rgba-unorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc3-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false] [:format="bc3-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false]
@ -10559,8 +10549,6 @@
[:format="bc3-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false] [:format="bc3-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false]
[:format="bc3-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true] [:format="bc3-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc4-r-snorm";canvasType="offscreen";enable_required_feature=false] [:format="bc4-r-snorm";canvasType="offscreen";enable_required_feature=false]
@ -10569,8 +10557,6 @@
[:format="bc4-r-snorm";canvasType="onscreen";enable_required_feature=false] [:format="bc4-r-snorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc4-r-snorm";canvasType="onscreen";enable_required_feature=true] [:format="bc4-r-snorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc4-r-unorm";canvasType="offscreen";enable_required_feature=false] [:format="bc4-r-unorm";canvasType="offscreen";enable_required_feature=false]
@ -10579,8 +10565,6 @@
[:format="bc4-r-unorm";canvasType="onscreen";enable_required_feature=false] [:format="bc4-r-unorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc4-r-unorm";canvasType="onscreen";enable_required_feature=true] [:format="bc4-r-unorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc5-rg-snorm";canvasType="offscreen";enable_required_feature=false] [:format="bc5-rg-snorm";canvasType="offscreen";enable_required_feature=false]
@ -10589,8 +10573,6 @@
[:format="bc5-rg-snorm";canvasType="onscreen";enable_required_feature=false] [:format="bc5-rg-snorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc5-rg-snorm";canvasType="onscreen";enable_required_feature=true] [:format="bc5-rg-snorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc5-rg-unorm";canvasType="offscreen";enable_required_feature=false] [:format="bc5-rg-unorm";canvasType="offscreen";enable_required_feature=false]
@ -10599,8 +10581,6 @@
[:format="bc5-rg-unorm";canvasType="onscreen";enable_required_feature=false] [:format="bc5-rg-unorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc5-rg-unorm";canvasType="onscreen";enable_required_feature=true] [:format="bc5-rg-unorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc6h-rgb-float";canvasType="offscreen";enable_required_feature=false] [:format="bc6h-rgb-float";canvasType="offscreen";enable_required_feature=false]
@ -10609,8 +10589,6 @@
[:format="bc6h-rgb-float";canvasType="onscreen";enable_required_feature=false] [:format="bc6h-rgb-float";canvasType="onscreen";enable_required_feature=false]
[:format="bc6h-rgb-float";canvasType="onscreen";enable_required_feature=true] [:format="bc6h-rgb-float";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc6h-rgb-ufloat";canvasType="offscreen";enable_required_feature=false] [:format="bc6h-rgb-ufloat";canvasType="offscreen";enable_required_feature=false]
@ -10619,8 +10597,6 @@
[:format="bc6h-rgb-ufloat";canvasType="onscreen";enable_required_feature=false] [:format="bc6h-rgb-ufloat";canvasType="onscreen";enable_required_feature=false]
[:format="bc6h-rgb-ufloat";canvasType="onscreen";enable_required_feature=true] [:format="bc6h-rgb-ufloat";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc7-rgba-unorm";canvasType="offscreen";enable_required_feature=false] [:format="bc7-rgba-unorm";canvasType="offscreen";enable_required_feature=false]
@ -10629,8 +10605,6 @@
[:format="bc7-rgba-unorm";canvasType="onscreen";enable_required_feature=false] [:format="bc7-rgba-unorm";canvasType="onscreen";enable_required_feature=false]
[:format="bc7-rgba-unorm";canvasType="onscreen";enable_required_feature=true] [:format="bc7-rgba-unorm";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="bc7-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false] [:format="bc7-rgba-unorm-srgb";canvasType="offscreen";enable_required_feature=false]
@ -10639,8 +10613,6 @@
[:format="bc7-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false] [:format="bc7-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=false]
[:format="bc7-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true] [:format="bc7-rgba-unorm-srgb";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="depth32float-stencil8";canvasType="offscreen";enable_required_feature=false] [:format="depth32float-stencil8";canvasType="offscreen";enable_required_feature=false]
@ -10649,8 +10621,6 @@
[:format="depth32float-stencil8";canvasType="onscreen";enable_required_feature=false] [:format="depth32float-stencil8";canvasType="onscreen";enable_required_feature=false]
[:format="depth32float-stencil8";canvasType="onscreen";enable_required_feature=true] [:format="depth32float-stencil8";canvasType="onscreen";enable_required_feature=true]
expected:
if os == "linux" and not debug: FAIL
[:format="eac-r11snorm";canvasType="offscreen";enable_required_feature=false] [:format="eac-r11snorm";canvasType="offscreen";enable_required_feature=false]
@ -548643,88 +548613,48 @@
[:canvasType="onscreen";format="astc-8x8-unorm-srgb"] [:canvasType="onscreen";format="astc-8x8-unorm-srgb"]
[:canvasType="onscreen";format="bc1-rgba-unorm"] [:canvasType="onscreen";format="bc1-rgba-unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc1-rgba-unorm-srgb"] [:canvasType="onscreen";format="bc1-rgba-unorm-srgb"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc2-rgba-unorm"] [:canvasType="onscreen";format="bc2-rgba-unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc2-rgba-unorm-srgb"] [:canvasType="onscreen";format="bc2-rgba-unorm-srgb"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc3-rgba-unorm"] [:canvasType="onscreen";format="bc3-rgba-unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc3-rgba-unorm-srgb"] [:canvasType="onscreen";format="bc3-rgba-unorm-srgb"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc4-r-snorm"] [:canvasType="onscreen";format="bc4-r-snorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc4-r-unorm"] [:canvasType="onscreen";format="bc4-r-unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc5-rg-snorm"] [:canvasType="onscreen";format="bc5-rg-snorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc5-rg-unorm"] [:canvasType="onscreen";format="bc5-rg-unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc6h-rgb-float"] [:canvasType="onscreen";format="bc6h-rgb-float"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc6h-rgb-ufloat"] [:canvasType="onscreen";format="bc6h-rgb-ufloat"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc7-rgba-unorm"] [:canvasType="onscreen";format="bc7-rgba-unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bc7-rgba-unorm-srgb"] [:canvasType="onscreen";format="bc7-rgba-unorm-srgb"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bgra8unorm"] [:canvasType="onscreen";format="bgra8unorm"]
expected: expected:
if os == "linux" and not debug: FAIL if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="bgra8unorm-srgb"] [:canvasType="onscreen";format="bgra8unorm-srgb"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="depth16unorm"] [:canvasType="onscreen";format="depth16unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="depth24plus"] [:canvasType="onscreen";format="depth24plus"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="depth24plus-stencil8"] [:canvasType="onscreen";format="depth24plus-stencil8"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="depth32float"] [:canvasType="onscreen";format="depth32float"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="depth32float-stencil8"] [:canvasType="onscreen";format="depth32float-stencil8"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="eac-r11snorm"] [:canvasType="onscreen";format="eac-r11snorm"]
@ -548747,148 +548677,80 @@
[:canvasType="onscreen";format="etc2-rgba8unorm-srgb"] [:canvasType="onscreen";format="etc2-rgba8unorm-srgb"]
[:canvasType="onscreen";format="r16float"] [:canvasType="onscreen";format="r16float"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r16sint"] [:canvasType="onscreen";format="r16sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r16uint"] [:canvasType="onscreen";format="r16uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r32float"] [:canvasType="onscreen";format="r32float"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r32sint"] [:canvasType="onscreen";format="r32sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r32uint"] [:canvasType="onscreen";format="r32uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r8sint"] [:canvasType="onscreen";format="r8sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r8snorm"] [:canvasType="onscreen";format="r8snorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r8uint"] [:canvasType="onscreen";format="r8uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="r8unorm"] [:canvasType="onscreen";format="r8unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg11b10ufloat"] [:canvasType="onscreen";format="rg11b10ufloat"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg16float"] [:canvasType="onscreen";format="rg16float"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg16sint"] [:canvasType="onscreen";format="rg16sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg16uint"] [:canvasType="onscreen";format="rg16uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg32float"] [:canvasType="onscreen";format="rg32float"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg32sint"] [:canvasType="onscreen";format="rg32sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg32uint"] [:canvasType="onscreen";format="rg32uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg8sint"] [:canvasType="onscreen";format="rg8sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg8snorm"] [:canvasType="onscreen";format="rg8snorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg8uint"] [:canvasType="onscreen";format="rg8uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rg8unorm"] [:canvasType="onscreen";format="rg8unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgb10a2uint"] [:canvasType="onscreen";format="rgb10a2uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgb10a2unorm"] [:canvasType="onscreen";format="rgb10a2unorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgb9e5ufloat"] [:canvasType="onscreen";format="rgb9e5ufloat"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba16float"] [:canvasType="onscreen";format="rgba16float"]
expected: expected:
if os == "linux" and not debug: FAIL if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba16sint"] [:canvasType="onscreen";format="rgba16sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba16uint"] [:canvasType="onscreen";format="rgba16uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba32float"] [:canvasType="onscreen";format="rgba32float"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba32sint"] [:canvasType="onscreen";format="rgba32sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba32uint"] [:canvasType="onscreen";format="rgba32uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba8sint"] [:canvasType="onscreen";format="rgba8sint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba8snorm"] [:canvasType="onscreen";format="rgba8snorm"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba8uint"] [:canvasType="onscreen";format="rgba8uint"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba8unorm"] [:canvasType="onscreen";format="rgba8unorm"]
expected: expected:
if os == "linux" and not debug: FAIL if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="rgba8unorm-srgb"] [:canvasType="onscreen";format="rgba8unorm-srgb"]
expected:
if os == "linux" and not debug: FAIL
[:canvasType="onscreen";format="stencil8"] [:canvasType="onscreen";format="stencil8"]
expected:
if os == "linux" and not debug: FAIL
[cts.https.html?q=webgpu:web_platform,canvas,configure:size_zero_after_configure:*] [cts.https.html?q=webgpu:web_platform,canvas,configure:size_zero_after_configure:*]