diff options
author | 2024-03-24 11:13:45 +0900 | |
---|---|---|
committer | 2024-03-24 11:13:45 +0900 | |
commit | 4334e63ba1dd88b367f3b7f2790b7869d11d12c0 (patch) | |
tree | 7a02d84426a54a5a5283f5ad101cc803442998fd /wgpu | |
parent | f3a1c785b2743e9c48c3d28df0c6772ce579d7c8 (diff) | |
parent | 3013463baa71504488a20436beb3db87ecb66df0 (diff) | |
download | iced-4334e63ba1dd88b367f3b7f2790b7869d11d12c0.tar.gz iced-4334e63ba1dd88b367f3b7f2790b7869d11d12c0.tar.bz2 iced-4334e63ba1dd88b367f3b7f2790b7869d11d12c0.zip |
Merge branch 'iced-rs:master' into viewer_content_fit
Diffstat (limited to '')
-rw-r--r-- | wgpu/src/image.rs | 12 | ||||
-rw-r--r-- | wgpu/src/window/compositor.rs | 4 |
2 files changed, 14 insertions, 2 deletions
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs index c8e4a4c2..067b77ab 100644 --- a/wgpu/src/image.rs +++ b/wgpu/src/image.rs @@ -161,13 +161,21 @@ impl Data { queue: &wgpu::Queue, instances: &[Instance], ) { + self.instance_count = instances.len(); + + if self.instance_count == 0 { + return; + } + let _ = self.instances.resize(device, instances.len()); let _ = self.instances.write(queue, 0, instances); - - self.instance_count = instances.len(); } fn render<'a>(&'a self, render_pass: &mut wgpu::RenderPass<'a>) { + if self.instance_count == 0 { + return; + } + render_pass.set_bind_group(0, &self.constants, &[]); render_pass.set_vertex_buffer(0, self.instances.slice(..)); diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 328ad781..fa6b9373 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -92,6 +92,10 @@ impl Compositor { .contains(&wgpu::CompositeAlphaMode::PostMultiplied) { wgpu::CompositeAlphaMode::PostMultiplied + } else if alpha_modes + .contains(&wgpu::CompositeAlphaMode::PreMultiplied) + { + wgpu::CompositeAlphaMode::PreMultiplied } else { wgpu::CompositeAlphaMode::Auto }; |