------------------------------------------------------------------------------
| 141 | |
| 142 | //------------------------------------------------------------------------------ |
| 143 | void vtkWebGPUComputePipeline::Update() |
| 144 | { |
| 145 | this->EnsureConfigured(); |
| 146 | |
| 147 | wgpu::QueueWorkDoneStatus workStatus = wgpu::QueueWorkDoneStatus::Error; |
| 148 | bool done = false; |
| 149 | this->WGPUConfiguration->GetDevice().GetQueue().OnSubmittedWorkDone( |
| 150 | wgpu::CallbackMode::AllowProcessEvents, |
| 151 | [&workStatus, &done](wgpu::QueueWorkDoneStatus status, wgpu::StringView) |
| 152 | { |
| 153 | workStatus = status; |
| 154 | done = true; |
| 155 | }); |
| 156 | while (!done) |
| 157 | { |
| 158 | this->WGPUConfiguration->ProcessEvents(); |
| 159 | } |
| 160 | if (workStatus != wgpu::QueueWorkDoneStatus::Success) |
| 161 | { |
| 162 | vtkErrorMacro(<< "Submitted work did not complete!"); |
| 163 | } |
| 164 | } |
| 165 | |
| 166 | //------------------------------------------------------------------------------ |
| 167 | void vtkWebGPUComputePipeline::EnsureConfigured() |
no test coverage detected