summaryrefslogtreecommitdiffstats
path: root/wgpu/src/triangle
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-02-24 20:08:40 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-02-24 20:08:40 +0100
commitbe14aca07506385a209e89cd99256744a7ec3c0f (patch)
treebc05c7179ade80db61a2009239c9f5c9615181b5 /wgpu/src/triangle
parente680fd27e754aead4003cae72f401090662851b2 (diff)
downloadiced-be14aca07506385a209e89cd99256744a7ec3c0f.tar.gz
iced-be14aca07506385a209e89cd99256744a7ec3c0f.tar.bz2
iced-be14aca07506385a209e89cd99256744a7ec3c0f.zip
Make output format of `iced_wgpu` configurable
Diffstat (limited to 'wgpu/src/triangle')
-rw-r--r--wgpu/src/triangle/msaa.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/wgpu/src/triangle/msaa.rs b/wgpu/src/triangle/msaa.rs
index 0def5352..7ccfb062 100644
--- a/wgpu/src/triangle/msaa.rs
+++ b/wgpu/src/triangle/msaa.rs
@@ -2,6 +2,7 @@ use crate::settings;
#[derive(Debug)]
pub struct Blit {
+ format: wgpu::TextureFormat,
pipeline: wgpu::RenderPipeline,
constants: wgpu::BindGroup,
texture_layout: wgpu::BindGroupLayout,
@@ -12,6 +13,7 @@ pub struct Blit {
impl Blit {
pub fn new(
device: &wgpu::Device,
+ format: wgpu::TextureFormat,
antialiasing: settings::Antialiasing,
) -> Blit {
let sampler = device.create_sampler(&wgpu::SamplerDescriptor {
@@ -93,7 +95,7 @@ impl Blit {
}),
primitive_topology: wgpu::PrimitiveTopology::TriangleList,
color_states: &[wgpu::ColorStateDescriptor {
- format: wgpu::TextureFormat::Bgra8UnormSrgb,
+ format,
color_blend: wgpu::BlendDescriptor {
src_factor: wgpu::BlendFactor::SrcAlpha,
dst_factor: wgpu::BlendFactor::OneMinusSrcAlpha,
@@ -115,6 +117,7 @@ impl Blit {
});
Blit {
+ format,
pipeline,
constants: constant_bind_group,
texture_layout: texture_layout,
@@ -133,6 +136,7 @@ impl Blit {
None => {
self.targets = Some(Targets::new(
&device,
+ self.format,
&self.texture_layout,
self.sample_count,
width,
@@ -143,6 +147,7 @@ impl Blit {
if targets.width != width || targets.height != height {
self.targets = Some(Targets::new(
&device,
+ self.format,
&self.texture_layout,
self.sample_count,
width,
@@ -204,6 +209,7 @@ struct Targets {
impl Targets {
pub fn new(
device: &wgpu::Device,
+ format: wgpu::TextureFormat,
texture_layout: &wgpu::BindGroupLayout,
sample_count: u32,
width: u32,
@@ -221,7 +227,7 @@ impl Targets {
mip_level_count: 1,
sample_count,
dimension: wgpu::TextureDimension::D2,
- format: wgpu::TextureFormat::Bgra8UnormSrgb,
+ format,
usage: wgpu::TextureUsage::OUTPUT_ATTACHMENT,
});
@@ -231,7 +237,7 @@ impl Targets {
mip_level_count: 1,
sample_count: 1,
dimension: wgpu::TextureDimension::D2,
- format: wgpu::TextureFormat::Bgra8UnormSrgb,
+ format,
usage: wgpu::TextureUsage::OUTPUT_ATTACHMENT
| wgpu::TextureUsage::SAMPLED,
});