Spec-Zone.ru › Web APIs

GPUComputePassEncoder: метод end()

Ограниченная доступность

Эта функция не относится к базовым, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментальная функция: Это экспериментальная технология
Перед использованием в производстве внимательно проверьте таблицу совместимости с браузерами.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Метод end() интерфейса GPUComputePassEncoder завершает запись последовательности команд текущего пасса вычислений.

Синтаксис

end()

Параметры

Нет.

Возвращаемое значение

None (Undefined).

Валидация

При вызове end() должны быть выполнены следующие критерии, в противном случае генерируется GPUValidationError, и GPUComputePassEncoder становится недопустимым:

  • Кодировщик GPUComputePassEncoder открыт (т.е. не завершён ранее с помощью вызова end()).
  • Любые вызовы pushDebugGroup(), выполненные на этом кодировщике, должны иметь соответствующий вызов popDebugGroup() до вызова end().

Примеры

В нашем демо вычислений, несколько команд записываются через GPUCommandEncoder. Большинство этих команд исходят от GPUComputePassEncoder, созданного с помощью GPUCommandEncoder.beginComputePass().

const BUFFER_SIZE = 1000;

// ...

// Create GPUCommandEncoder to encode commands to issue to the GPU
const commandEncoder = device.createCommandEncoder();

// Initiate render pass
const passEncoder = commandEncoder.beginComputePass();

// Issue commands
passEncoder.setPipeline(computePipeline);
passEncoder.setBindGroup(0, bindGroup);
passEncoder.dispatchWorkgroups(Math.ceil(BUFFER_SIZE / 64));

// End the render pass
passEncoder.end();

// Copy output buffer to staging buffer
commandEncoder.copyBufferToBuffer(
  output,
  0, // Source offset
  stagingBuffer,
  0, // Destination offset
  BUFFER_SIZE,
);

// End frame by passing array of command buffers to command queue for execution
device.queue.submit([commandEncoder.finish()]);

// ...

Спецификации

Спецификация
WebGPU
# dom-gpucomputepassencoder-end

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
end
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121

См. также

  • API WebGPU

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GPUComputePassEncoder/end

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API