wgpu: Validation Errors compute shaders - vkResetCommandPool, vkDestroyBuffer

I get a

0 took 5.152398114s 1 took 921.852867ms MESA-INTEL: error: …/src/intel/vulkan/anv_device.c:3713: GPU hung on one of our command buffers (VK_ERROR_DEVICE_LOST) thread ‘main’ panicked at ‘Error in Queue::submit: parent device is lost’, /home/david/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/6931e57/wgpu/src/backend/direct.rs:231:9

when running this code with “cargo run --release”.

https://gist.github.com/peters-david/70a7a7ee6526cb35fe7f7b028cb820f5

Looks like the first two calls to use_gpu() work fine, after that it panics. Is this intended? If so, why does it work the first two times? If i remove the lazy_static and request a new wgpu::Instance in use_gpu() it works fine.

Sorry if this is a stupid question, just got started with Rust and wgpu.

I run it on a i7-1065G7 with the ICL GT2 on Linux Ubuntu 21.10.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (7 by maintainers)

Commits related to this issue

Most upvoted comments

Thank you @kvark ! I misunderstood the relation between workgroups, invocations and the difference between local & global.

Find it in https://github.com/peters-david/wgpu The test is in wgpu/tests