Skip to content

Commit 2ba1448

Browse files
WIP: test: cover device mismatches for query sets
1 parent 894d036 commit 2ba1448

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

test.rs

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
use pollster::FutureExt;
2+
3+
fn main() {
4+
let instance = wgpu::Instance::new(Default::default());
5+
6+
let adapter1 = instance
7+
.request_adapter(&Default::default())
8+
.block_on()
9+
.unwrap();
10+
11+
let (device1, queue1) = adapter1
12+
.request_device(
13+
&wgpu::DeviceDescriptor {
14+
required_features: wgpu::Features::TIMESTAMP_QUERY,
15+
..Default::default()
16+
},
17+
None,
18+
)
19+
.block_on()
20+
.unwrap();
21+
22+
let adapter2 = instance
23+
.request_adapter(&Default::default())
24+
.block_on()
25+
.unwrap();
26+
27+
let (device2, queue2) = adapter2
28+
.request_device(&Default::default(), None)
29+
.block_on()
30+
.unwrap();
31+
32+
let texture2 = device2.create_texture(&wgpu::TextureDescriptor {
33+
label: None,
34+
size: wgpu::Extent3d {
35+
width: 1,
36+
height: 1,
37+
..Default::default()
38+
},
39+
mip_level_count: 1,
40+
sample_count: 1,
41+
dimension: wgpu::TextureDimension::D2,
42+
format: wgpu::TextureFormat::Rgba8Unorm,
43+
usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
44+
view_formats: &[],
45+
});
46+
47+
let texture_view = texture2.create_view(&Default::default());
48+
49+
let mut encoder2 = device2.create_command_encoder(&Default::default());
50+
51+
let query_set1 = device1.create_query_set(&wgpu::QuerySetDescriptor {
52+
label: None,
53+
ty: wgpu::QueryType::Timestamp,
54+
count: 1,
55+
});
56+
57+
{
58+
let render_pass = encoder2.begin_render_pass(&wgpu::RenderPassDescriptor {
59+
color_attachments: &[Some(wgpu::RenderPassColorAttachment {
60+
view: &texture_view,
61+
ops: wgpu::Operations {
62+
load: wgpu::LoadOp::Clear(wgpu::Color::BLACK),
63+
store: wgpu::StoreOp::Discard,
64+
},
65+
resolve_target: None,
66+
})],
67+
timestamp_writes: Some(wgpu::RenderPassTimestampWrites {
68+
query_set: &query_set1,
69+
beginning_of_pass_write_index: None,
70+
end_of_pass_write_index: None,
71+
}),
72+
..Default::default()
73+
});
74+
}
75+
// encoder.beginRenderPass({ colorAttachments: [{ view: texture_view, loadOp: "clear", storeOp: "discard" }], timestampWrites: { querySet: device2.createQuerySet({ type: "timestamp", count: 1 }) } })
76+
}

0 commit comments

Comments
 (0)