Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TrackedRenderPass::wgpu_pass may compromize invariants #13225

Open
fintelia opened this issue May 4, 2024 · 0 comments
Open

TrackedRenderPass::wgpu_pass may compromize invariants #13225

fintelia opened this issue May 4, 2024 · 0 comments
Labels
A-Rendering Drawing game state to the screen C-Bug An unexpected or incorrect behavior S-Needs-Investigation This issue requires detective work to figure out what's going wrong

Comments

@fintelia
Copy link
Contributor

fintelia commented May 4, 2024

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
@fintelia fintelia added C-Bug An unexpected or incorrect behavior S-Needs-Triage This issue needs to be labelled labels May 4, 2024
@alice-i-cecile alice-i-cecile added A-Rendering Drawing game state to the screen S-Needs-Investigation This issue requires detective work to figure out what's going wrong and removed S-Needs-Triage This issue needs to be labelled labels May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Rendering Drawing game state to the screen C-Bug An unexpected or incorrect behavior S-Needs-Investigation This issue requires detective work to figure out what's going wrong
Projects
None yet
Development

No branches or pull requests

2 participants