GPUCommandEncoder: метод clearBuffer()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.
Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде тщательно проверьте таблицу совместимости с браузерами.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Метод clearBuffer() интерфейса GPUCommandEncoder кодирует команду, которая заполняет область GPUBuffer нулями.
Синтаксис
clearBuffer(buffer) clearBuffer(buffer, offset) clearBuffer(buffer, offset, size)
Параметры
buffer-
Объект
GPUBuffer, представляющий буфер, который нужно очистить. offsetНеобязательно-
Число, представляющее смещение в байтах от начала
bufferдо подрегиона, который нужно очистить. Если опущено, по умолчанию значениеoffsetравно 0. sizeНеобязательно-
Число, представляющее размер в байтах подрегиона, который нужно очистить. Если опущено, значение
sizeпо умолчанию равно размеруbufferминусoffset.
Возвращаемое значение
Ничего (Undefined).
Проверка
При вызове clearBuffer() должны быть соблюдены следующие критерии; в противном случае генерируется ошибка GPUValidationError, и GPUCommandEncoder становится недействительным:
- Использование
bufferсодержит флагGPUBufferUsage.COPY_DST. -
offsetиsizeявляются кратными 4. - Размер
bufferGPUBuffer.sizeбольше или равенoffset+size.
Примеры
// ...
const buffer = device.createBuffer({
size: 1000,
usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
});
// Later on
const commandBuffer = device.createCommandEncoder();
commandEncoder.clearBuffer(buffer);
// ...
Спецификации
| Спецификация |
|---|
| WebGPU # dom-gpucommandencoder-clearbuffer |
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
clearBuffer |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
113В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
предварительная версияВ настоящее время поддерживается только на Linux и Windows. |
99В настоящее время поддерживается только на ChromeOS, macOS и Windows. |
предварительная версия | 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/GPUCommandEncoder/clearBuffer