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

beginRenderPass device mismatched crashes #5628

Open
sagudev opened this issue Apr 29, 2024 · 3 comments
Open

beginRenderPass device mismatched crashes #5628

sagudev opened this issue Apr 29, 2024 · 3 comments
Labels
area: validation Issues related to validation, diagnostics, and error handling type: bug Something isn't working

Comments

@sagudev
Copy link
Contributor

sagudev commented Apr 29, 2024

Description
As in #5582 beginRenderPass should do validation (so wgpu-core). Currently this can cause crash on webgpu:api,validation,encoding,beginRenderPass:depth_stencil_attachment,device_mismatch:* (crash is also visible on firefox).

If using sagudev@3c28720 this is also reproducible on wgpu using cts runner.

Given that this isn't first time of device mismatch error I believe all assertDeviceMatch should probably be removed (they are simply wrong as they trigger dom exception instead of validation error, hence CTS test failures) and add device validation checks to wgpu_core.

@sagudev
Copy link
Contributor Author

sagudev commented Apr 29, 2024

here we actually need to invalidate pass per step 5 in device timeline https://gpuweb.github.io/gpuweb/#dom-gpucommandencoder-beginrenderpass so validation error will need to happen in end pass.

@teoxoy
Copy link
Member

teoxoy commented Apr 29, 2024

I believe all assertDeviceMatch should probably be removed.

That sounds right to me, all the validation should be in wgpu-core.

@crowlKats thoughts on this?

@cwfitzgerald cwfitzgerald added type: bug Something isn't working area: validation Issues related to validation, diagnostics, and error handling labels Apr 29, 2024
@sagudev
Copy link
Contributor Author

sagudev commented May 3, 2024

I think this will be harder as I though because, even though we can detect error in beginRenderPass we only need to return invalid (is this even possible in wgpu?) pass and then when doing encoder finish raising validation error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: validation Issues related to validation, diagnostics, and error handling type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants