Spec-Zone.ru › Web APIs

GPUBuffer: свойство usage

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

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

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

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

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

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

Чтение-только свойство usage интерфейса GPUBuffer содержит битовые флаги, представляющие разрешенные способы использования GPUBuffer.

usage устанавливается через свойство usage в объекте описания, переданном в вызов исходного GPUDevice.createBuffer().

Значение

Битовые флаги, представляющие исходные разрешенные способы использования, установленные при первом создании GPUBuffer. Возвращаемое число является суммой десятичных значений, представляющих различные флаги, как показано в таблице ниже.

Битовый флаг Описание использования Шест. эквив. Дес. эквив.
GPUBufferUsage.COPY_SRC Буфер может использоваться как источник операции копирования, например, аргумент source вызова copyBufferToBuffer(). 0x0004 4
GPUBufferUsage.COPY_DST Буфер может использоваться как место назначения операции копирования/записи, например, аргумент destination вызова copyTextureToBuffer(). 0x0008 8
GPUBufferUsage.INDEX Буфер может использоваться как буфер индексов, например, как аргумент buffer передаваемый в setIndexBuffer(). 0x0010 16
GPUBufferUsage.INDIRECT Буфер может использоваться для хранения аргументов косвенных команд, например, как аргумент indirectBuffer вызова drawIndirect() или dispatchWorkgroupsIndirect(). 0x0100 256
GPUBufferUsage.MAP_READ Буфер может быть отображен для чтения, например, при вызове mapAsync() с mode значением GPUMapMode.READ. Этот флаг можно использовать только в сочетании с GPUBufferUsage.COPY_DST. 0x0001 1
GPUBufferUsage.MAP_WRITE Буфер может быть отображен для записи, например, при вызове mapAsync() с mode значением GPUMapMode.WRITE. Этот флаг можно использовать только в сочетании с GPUBufferUsage.COPY_SRC. 0x0002 2
GPUBufferUsage.QUERY_RESOLVE Буфер может использоваться для захвата результатов запросов, например, как аргумент destination вызова resolveQuerySet(). 0x0200 512
GPUBufferUsage.STORAGE Буфер может использоваться как буфер хранения, например, как ресурс в записи группы привязок при создании GPUBindGroup (через createBindGroup()), который соответствует записи GPUBindGroupLayout с расположением привязки буфера type типа "storage" или "read-only-storage". 0x0080 128
GPUBufferUsage.UNIFORM Буфер может использоваться как буфер униформ, например, как ресурс в записи группы привязок при создании GPUBindGroup (через createBindGroup()), который соответствует записи GPUBindGroupLayout с расположением привязки буфера type типа "uniform". 0x0040 64
GPUBufferUsage.VERTEX Буфер может использоваться как буфер вершин, например, как аргумент buffer передаваемый в setVertexBuffer(). 0x0020 32

Примеры

const output = device.createBuffer({
  size: BUFFER_SIZE,
  usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC,
});

console.log(output.usage); // 132

const stagingBuffer = device.createBuffer({
  size: BUFFER_SIZE,
  usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
});

console.log(stagingBuffer.usage); // 9

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

Спецификация
WebGPU
# dom-gpubuffer-usage

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

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

См. также

  • The 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/GPUBuffer/usage

Spec-Zone.ru

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