wgpu: Revert using same pool for whole frame - breaks bitmapdata.draw and I'm not sure why yet
This commit is contained in:
parent
0f676fc6ce
commit
257bbc8ec9
|
@ -1,4 +1,3 @@
|
|||
use crate::buffer_pool::TexturePool;
|
||||
use crate::context3d::WgpuContext3D;
|
||||
use crate::mesh::{Draw, Mesh};
|
||||
use crate::surface::Surface;
|
||||
|
@ -34,8 +33,6 @@ pub struct WgpuRenderBackend<T: RenderTarget> {
|
|||
// This is currently unused - we just store it to report in
|
||||
// `get_viewport_dimensions`
|
||||
viewport_scale_factor: f64,
|
||||
// Texture pool to use for a frame - should be reset at the end of each frame
|
||||
frame_texture_pool: TexturePool,
|
||||
preferred_sample_count: u32,
|
||||
}
|
||||
|
||||
|
@ -157,7 +154,6 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
meshes: Vec::new(),
|
||||
shape_tessellator: ShapeTessellator::new(),
|
||||
viewport_scale_factor: 1.0,
|
||||
frame_texture_pool: TexturePool::new(),
|
||||
preferred_sample_count,
|
||||
})
|
||||
}
|
||||
|
@ -370,7 +366,6 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
&mut self.uniform_buffers_storage,
|
||||
&self.meshes,
|
||||
commands,
|
||||
&mut self.frame_texture_pool,
|
||||
);
|
||||
|
||||
self.target.submit(
|
||||
|
@ -379,7 +374,6 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
command_buffers,
|
||||
frame_output,
|
||||
);
|
||||
self.frame_texture_pool = TexturePool::new();
|
||||
}
|
||||
|
||||
fn register_bitmap(&mut self, bitmap: Bitmap) -> Result<BitmapHandle, BitmapError> {
|
||||
|
@ -544,7 +538,6 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
&mut self.uniform_buffers_storage,
|
||||
&self.meshes,
|
||||
commands,
|
||||
&mut self.frame_texture_pool,
|
||||
);
|
||||
let index = target.submit(
|
||||
&self.descriptors.device,
|
||||
|
|
|
@ -181,7 +181,6 @@ impl Surface {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub fn draw_commands_to(
|
||||
&mut self,
|
||||
frame_view: &wgpu::TextureView,
|
||||
|
@ -190,7 +189,6 @@ impl Surface {
|
|||
uniform_buffers_storage: &mut BufferStorage<Transforms>,
|
||||
meshes: &Vec<Mesh>,
|
||||
commands: CommandList,
|
||||
texture_pool: &mut TexturePool,
|
||||
) -> Vec<wgpu::CommandBuffer> {
|
||||
uniform_buffers_storage.recall();
|
||||
let uniform_encoder_label = create_debug_label!("Uniform upload command encoder");
|
||||
|
@ -209,6 +207,7 @@ impl Surface {
|
|||
label: label.as_deref(),
|
||||
});
|
||||
|
||||
let mut texture_pool = TexturePool::new();
|
||||
let target = self.draw_commands(
|
||||
clear_color,
|
||||
descriptors,
|
||||
|
@ -218,7 +217,7 @@ impl Surface {
|
|||
&mut uniform_encoder,
|
||||
&mut draw_encoder,
|
||||
None,
|
||||
texture_pool,
|
||||
&mut texture_pool,
|
||||
);
|
||||
let mut buffers = vec![draw_encoder.finish()];
|
||||
|
||||
|
|
Loading…
Reference in New Issue