Raising this as a issue as requested in #3595 (comment)...
The TrackedRenderPass type internally tracks which pipeline and bind group are active on a render pass. However, I think the wgpu_pass method may allow compromising its tracking:
tracked_render_pass.set_render_pipeline(&x); // Set render pipeline to "x"
tracked_render_pass.wgpu_pass().set_pipeline(&y); // Render pipeline is now "y"
tracked_render_pass.set_render_pipeline(&x); // No-op since tracked_render_pass thinks "x" is still active
Raising this as a issue as requested in #3595 (comment)...
The
TrackedRenderPasstype internally tracks which pipeline and bind group are active on a render pass. However, I think thewgpu_passmethod may allow compromising its tracking: