summaryrefslogtreecommitdiffstats
path: root/wgpu/src/triangle/msaa.rs
diff options
context:
space:
mode:
Diffstat (limited to 'wgpu/src/triangle/msaa.rs')
-rw-r--r--wgpu/src/triangle/msaa.rs77
1 files changed, 40 insertions, 37 deletions
diff --git a/wgpu/src/triangle/msaa.rs b/wgpu/src/triangle/msaa.rs
index 7ccfb062..db86f748 100644
--- a/wgpu/src/triangle/msaa.rs
+++ b/wgpu/src/triangle/msaa.rs
@@ -23,24 +23,25 @@ impl Blit {
mag_filter: wgpu::FilterMode::Linear,
min_filter: wgpu::FilterMode::Linear,
mipmap_filter: wgpu::FilterMode::Linear,
- lod_min_clamp: -100.0,
- lod_max_clamp: 100.0,
- compare_function: wgpu::CompareFunction::Always,
+ ..Default::default()
});
let constant_layout =
device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor {
- bindings: &[wgpu::BindGroupLayoutBinding {
+ label: Some("iced_wgpu::triangle:msaa uniforms layout"),
+ entries: &[wgpu::BindGroupLayoutEntry {
binding: 0,
visibility: wgpu::ShaderStage::FRAGMENT,
- ty: wgpu::BindingType::Sampler,
+ ty: wgpu::BindingType::Sampler { comparison: false },
+ count: None,
}],
});
let constant_bind_group =
device.create_bind_group(&wgpu::BindGroupDescriptor {
+ label: Some("iced_wgpu::triangle::msaa uniforms bind group"),
layout: &constant_layout,
- bindings: &[wgpu::Binding {
+ entries: &[wgpu::BindGroupEntry {
binding: 0,
resource: wgpu::BindingResource::Sampler(&sampler),
}],
@@ -48,36 +49,38 @@ impl Blit {
let texture_layout =
device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor {
- bindings: &[wgpu::BindGroupLayoutBinding {
+ label: Some("iced_wgpu::triangle::msaa texture layout"),
+ entries: &[wgpu::BindGroupLayoutEntry {
binding: 0,
visibility: wgpu::ShaderStage::FRAGMENT,
ty: wgpu::BindingType::SampledTexture {
- multisampled: false,
dimension: wgpu::TextureViewDimension::D2,
+ component_type: wgpu::TextureComponentType::Float,
+ multisampled: false,
},
+ count: None,
}],
});
let layout =
device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor {
+ label: Some("iced_wgpu::triangle::msaa pipeline layout"),
+ push_constant_ranges: &[],
bind_group_layouts: &[&constant_layout, &texture_layout],
});
- let vs = include_bytes!("../shader/blit.vert.spv");
- let vs_module = device.create_shader_module(
- &wgpu::read_spirv(std::io::Cursor::new(&vs[..]))
- .expect("Read blit vertex shader as SPIR-V"),
- );
+ let vs_module = device.create_shader_module(wgpu::include_spirv!(
+ "../shader/blit.vert.spv"
+ ));
- let fs = include_bytes!("../shader/blit.frag.spv");
- let fs_module = device.create_shader_module(
- &wgpu::read_spirv(std::io::Cursor::new(&fs[..]))
- .expect("Read blit fragment shader as SPIR-V"),
- );
+ let fs_module = device.create_shader_module(wgpu::include_spirv!(
+ "../shader/blit.frag.spv"
+ ));
let pipeline =
device.create_render_pipeline(&wgpu::RenderPipelineDescriptor {
- layout: &layout,
+ label: Some("iced_wgpu::triangle::msaa pipeline"),
+ layout: Some(&layout),
vertex_stage: wgpu::ProgrammableStageDescriptor {
module: &vs_module,
entry_point: "main",
@@ -89,9 +92,7 @@ impl Blit {
rasterization_state: Some(wgpu::RasterizationStateDescriptor {
front_face: wgpu::FrontFace::Cw,
cull_mode: wgpu::CullMode::None,
- depth_bias: 0,
- depth_bias_slope_scale: 0.0,
- depth_bias_clamp: 0.0,
+ ..Default::default()
}),
primitive_topology: wgpu::PrimitiveTopology::TriangleList,
color_states: &[wgpu::ColorStateDescriptor {
@@ -109,8 +110,10 @@ impl Blit {
write_mask: wgpu::ColorWrite::ALL,
}],
depth_stencil_state: None,
- index_format: wgpu::IndexFormat::Uint16,
- vertex_buffers: &[],
+ vertex_state: wgpu::VertexStateDescriptor {
+ index_format: wgpu::IndexFormat::Uint16,
+ vertex_buffers: &[],
+ },
sample_count: 1,
sample_mask: !0,
alpha_to_coverage_enabled: false,
@@ -120,7 +123,7 @@ impl Blit {
format,
pipeline,
constants: constant_bind_group,
- texture_layout: texture_layout,
+ texture_layout,
sample_count: antialiasing.sample_count(),
targets: None,
}
@@ -173,13 +176,9 @@ impl Blit {
wgpu::RenderPassColorAttachmentDescriptor {
attachment: target,
resolve_target: None,
- load_op: wgpu::LoadOp::Load,
- store_op: wgpu::StoreOp::Store,
- clear_color: wgpu::Color {
- r: 0.0,
- g: 0.0,
- b: 0.0,
- a: 0.0,
+ ops: wgpu::Operations {
+ load: wgpu::LoadOp::Load,
+ store: true,
},
},
],
@@ -222,8 +221,8 @@ impl Targets {
};
let attachment = device.create_texture(&wgpu::TextureDescriptor {
+ label: Some("iced_wgpu::triangle::msaa attachment"),
size: extent,
- array_layer_count: 1,
mip_level_count: 1,
sample_count,
dimension: wgpu::TextureDimension::D2,
@@ -232,8 +231,8 @@ impl Targets {
});
let resolve = device.create_texture(&wgpu::TextureDescriptor {
+ label: Some("iced_wgpu::triangle::msaa resolve target"),
size: extent,
- array_layer_count: 1,
mip_level_count: 1,
sample_count: 1,
dimension: wgpu::TextureDimension::D2,
@@ -242,12 +241,16 @@ impl Targets {
| wgpu::TextureUsage::SAMPLED,
});
- let attachment = attachment.create_default_view();
- let resolve = resolve.create_default_view();
+ let attachment =
+ attachment.create_view(&wgpu::TextureViewDescriptor::default());
+
+ let resolve =
+ resolve.create_view(&wgpu::TextureViewDescriptor::default());
let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor {
+ label: Some("iced_wgpu::triangle::msaa texture bind group"),
layout: texture_layout,
- bindings: &[wgpu::Binding {
+ entries: &[wgpu::BindGroupEntry {
binding: 0,
resource: wgpu::BindingResource::TextureView(&resolve),
}],