Add gpu-assisted validation to a few tests

This commit is contained in:
Connor Fitzgerald 2025-12-02 00:18:58 -05:00 committed by Erich Gubler
parent 69e092381b
commit 218b65f9a8
7 changed files with 18 additions and 3 deletions

View File

@ -10,6 +10,7 @@ pub static TWO_BUFFERS: GpuTestConfiguration = GpuTestConfiguration::new()
| Features::STORAGE_RESOURCE_BINDING_ARRAY
| Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING,
)
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.downlevel_flags(wgpu::DownlevelFlags::COMPUTE_SHADERS)
.limits(wgpu::Limits {
max_buffer_size: MAX_BUFFER_SIZE,

View File

@ -438,7 +438,8 @@ pub static TEST: crate::framework::ExampleTestParams = crate::framework::Example
width: 1024,
height: 768,
optional_features: wgpu::Features::empty(),
base_test_parameters: wgpu_test::TestParameters::default(),
base_test_parameters: wgpu_test::TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION),
comparisons: &[wgpu_test::ComparisonType::Mean(0.0)],
_phantom: std::marker::PhantomData::<Example>,
};
@ -452,7 +453,8 @@ pub static TEST_UNIFORM: crate::framework::ExampleTestParams =
width: 1024,
height: 768,
optional_features: wgpu::Features::empty(),
base_test_parameters: wgpu_test::TestParameters::default(),
base_test_parameters: wgpu_test::TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION),
comparisons: &[wgpu_test::ComparisonType::Mean(0.0)],
_phantom: std::marker::PhantomData::<Example>,
};
@ -467,7 +469,8 @@ pub static TEST_NON_UNIFORM: crate::framework::ExampleTestParams =
height: 768,
optional_features:
wgpu::Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING,
base_test_parameters: wgpu_test::TestParameters::default(),
base_test_parameters: wgpu_test::TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION),
comparisons: &[wgpu_test::ComparisonType::Mean(0.0)],
_phantom: std::marker::PhantomData::<Example>,
};

View File

@ -18,6 +18,7 @@ pub fn all_tests(tests: &mut Vec<GpuTestInitializer>) {
static BINDING_ARRAY_UNIFORM_BUFFERS: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(Features::BUFFER_BINDING_ARRAY | Features::UNIFORM_BUFFER_BINDING_ARRAYS)
.limits(Limits {
max_binding_array_elements_per_shader_stage: 16,
@ -36,6 +37,7 @@ static BINDING_ARRAY_UNIFORM_BUFFERS: GpuTestConfiguration = GpuTestConfiguratio
static PARTIAL_BINDING_ARRAY_UNIFORM_BUFFERS: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::BUFFER_BINDING_ARRAY
| Features::PARTIALLY_BOUND_BINDING_ARRAY
@ -58,6 +60,7 @@ static PARTIAL_BINDING_ARRAY_UNIFORM_BUFFERS: GpuTestConfiguration = GpuTestConf
static BINDING_ARRAY_STORAGE_BUFFERS: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::BUFFER_BINDING_ARRAY
| Features::STORAGE_RESOURCE_BINDING_ARRAY
@ -76,6 +79,7 @@ static BINDING_ARRAY_STORAGE_BUFFERS: GpuTestConfiguration = GpuTestConfiguratio
static PARTIAL_BINDING_ARRAY_STORAGE_BUFFERS: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::BUFFER_BINDING_ARRAY
| Features::PARTIALLY_BOUND_BINDING_ARRAY

View File

@ -17,6 +17,7 @@ pub fn all_tests(tests: &mut Vec<GpuTestInitializer>) {
static BINDING_ARRAY_SAMPLED_TEXTURES: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::TEXTURE_BINDING_ARRAY
| Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING,
@ -32,6 +33,7 @@ static BINDING_ARRAY_SAMPLED_TEXTURES: GpuTestConfiguration = GpuTestConfigurati
static PARTIAL_BINDING_ARRAY_SAMPLED_TEXTURES: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::TEXTURE_BINDING_ARRAY
| Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING

View File

@ -13,6 +13,7 @@ pub fn all_tests(tests: &mut Vec<GpuTestInitializer>) {
static BINDING_ARRAY_SAMPLERS: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::TEXTURE_BINDING_ARRAY
| Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING,
@ -29,6 +30,7 @@ static BINDING_ARRAY_SAMPLERS: GpuTestConfiguration = GpuTestConfiguration::new(
static PARTIAL_BINDING_ARRAY_SAMPLERS: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::TEXTURE_BINDING_ARRAY
| Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING

View File

@ -17,6 +17,7 @@ pub fn all_tests(tests: &mut Vec<GpuTestInitializer>) {
static BINDING_ARRAY_STORAGE_TEXTURES: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::TEXTURE_BINDING_ARRAY
| Features::STORAGE_RESOURCE_BINDING_ARRAY
@ -34,6 +35,7 @@ static BINDING_ARRAY_STORAGE_TEXTURES: GpuTestConfiguration = GpuTestConfigurati
static PARTIAL_BINDING_ARRAY_STORAGE_TEXTURES: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.features(
Features::TEXTURE_BINDING_ARRAY
| Features::PARTIALLY_BOUND_BINDING_ARRAY

View File

@ -393,6 +393,7 @@ fn mesh_draw(ctx: &TestingContext, draw_type: DrawType) {
fn default_gpu_test_config(draw_type: DrawType) -> GpuTestConfiguration {
GpuTestConfiguration::new().parameters(
TestParameters::default()
.instance_flags(wgpu::InstanceFlags::GPU_BASED_VALIDATION)
.test_features_limits()
.features(
wgpu::Features::EXPERIMENTAL_MESH_SHADER