ID3D11DeviceContext: как мне заставить его завершить существующие отправки, прежде чем переходить к новым отправкам?

Дальнейший контекст таков; У меня есть несколько вычислительных шейдеров, которые мне нужно запустить последовательно. Однако от начала до конца выполнение всех отправлений может занять много времени (> 2 секунды), и это проблема в Windows, которая приводит к ошибке тайм-аута графического процессора. На моей собственной машине я могу отредактировать TdrDelay, чтобы обойти эту проблему, но если я хочу сделать что-то, что пользователи могут использовать, не редактируя реестр вручную, мне нужно, чтобы мои отправки в очереди завершались менее чем за 2 секунды. Так…

...

this->deviceContext->Dispatch(
DispatchSize,
1,
1);

//
//  <Some function or functions needed here to force
//   queued dispatches to complete before continuing>
//

this->deviceContext->Dispatch(
DispatchSize,
1,
1);

...

Теперь я знаю, что метод, который я использую для чтения с БПЛА (с использованием CopySubresourceRegion и Map), выполняет это, но кажется немного затрудненным для чтения данных с БПЛА, прежде чем он станет значимым. Я попытался вставить туда Flush (), но само по себе этого было недостаточно.

Я мог бы использовать небольшой совет здесь. Благодарю.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]