mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
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:
parent
10aa485c0c
commit
a01d66df53
4 changed files with 42 additions and 169 deletions
|
@ -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,
|
||||||
})
|
})
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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);
|
||||||
|
|
138
tests/wpt/webgpu/meta/webgpu/cts.https.html.ini
vendored
138
tests/wpt/webgpu/meta/webgpu/cts.https.html.ini
vendored
|
@ -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:*]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue