You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description #2623 introduced not pushing a pipeline/bind group set command if it was already set
Render bundles reset the pipeline and bind groups after being executed though, and this isn't taken into account by this check
render_pass.set_pipeline(&pipeline); // 1
render_pass.execute_bundles(bundles);
render_pass.set_pipeline(&pipeline); // This pipeline will not be set because it was set before the bundle execution
render_pass.draw(0..3, 0..1);
drop(render_pass);
self.queue.submit(std::iter::once(encoder.finish())); // crash here: 'render pipeline must be set'
// if line 1 is commented out, no crash
Extra materials
Crash log:
[2022-07-10T17:30:11Z ERROR wgpu::backend::direct] Handling wgpu errors as fatal by default
thread 'main' panicked at 'wgpu error: Validation Error
Caused by:
In a RenderPass
note: encoder = `<CommandBuffer-(0, 1, Vulkan)>`
In a draw command, indexed:false indirect:false
render pipeline must be set
', wgpu/src/backend/direct.rs:2391:5
Description
#2623 introduced not pushing a pipeline/bind group set command if it was already set
Render bundles reset the pipeline and bind groups after being executed though, and this isn't taken into account by this check
Repro steps
Edited the hello-triangle example:
https://github.com/shoebe/wgpu/tree/115ee0fa8cc8b03fd61fc015827afc30f84821ca/wgpu/examples/deduplication-bug
In short:
Extra materials
Crash log:
Possible fix
See https://github.com/shoebe/wgpu/commit/54c330aa275ffed712a2dee6bf567c733f151886
The text was updated successfully, but these errors were encountered: