GPUTexture: свойство usage
Ограниченная доступность
Эта функция не является Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментально: Это экспериментальная технология .
Перед использованием в продуктовой среде тщательно проверьте таблицу совместимости браузеров .
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Свойство usage только для чтения интерфейса GPUTexture — это битовые флаги, представляющие разрешенные способы использования GPUTexture.
Это устанавливается через свойство usage в объекте описания, переданном в исходный вызов GPUDevice.createTexture().
Значение
Битовые флаги, представляющие исходные способы использования, заданные при первом создании GPUTexture. Возвращаемое число является суммой десятичных значений, представляющих различные флаги, как показано в таблице ниже.
| Флаг использования | Описание использования | Шест. эквив. | Десят. эквив. |
|---|---|---|---|
GPUTextureUsage.COPY_SRC | Текстура может использоваться в качестве источника операции копирования, например, аргумент source вызова copyTextureToBuffer(). | 0x01 | 1 |
GPUTextureUsage.COPY_DST | Текстура может использоваться в качестве назначения операции копирования/записи, например, аргумент destination вызова copyBufferToTexture(). | 0x02 | 2 |
GPUTextureUsage.RENDER_ATTACHMENT | Текстура может использоваться в качестве цветового или глубинно-маскирующего/маскирующего глубины и черт привязки в проходе отрисовки, например, как свойство view объекта описания в вызове beginRenderPass(). | 0x10 | 16 |
GPUTextureUsage.STORAGE_BINDING | Текстура может быть связана для использования в качестве текстуры хранения в шейдере, например, как ресурс в записи группы связей при создании GPUBindGroup (через createBindGroup()), которая соответствует записи GPUBindGroupLayout с указанной структурой расположения текстуры хранения. | 0x08 | 8 |
GPUTextureUsage.TEXTURE_BINDING | Текстура может быть связана для использования в качестве текстуры выборки в шейдере, например, как ресурс в записи группы связей при создании GPUBindGroup (через createBindGroup()), которая соответствует записи GPUBindGroupLayout с указанной структурой расположения текстуры. | 0x04 | 4 |
Примеры
// ...
const depthTexture = device.createTexture({
size: [canvas.width, canvas.height],
format: "depth24plus",
usage: GPUTextureUsage.RENDER_ATTACHMENT,
});
console.log(depthTexture.usage); // 16
Спецификации
| Спецификация |
|---|
| WebGPU # dom-gputexture-usage |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
usage |
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/GPUTexture/usage