GPUComputePipeline: метод getBindGroupLayout()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в продакшене тщательно проверьте таблицу совместимости с браузерами.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Метод getBindGroupLayout() интерфейса GPUComputePipeline возвращает объект GPUBindGroupLayout конвейера с заданным индексом (т. е. включённый в макет конвейера из вызова GPUDevice.createComputePipeline() или GPUDevice.createComputePipelineAsync()).
Если GPUComputePipeline был создан с layout: "auto", этот метод является единственным способом извлечения объектов GPUBindGroupLayout, сгенерированных конвейером.
Синтаксис
getBindGroupLayout(index)
Параметры
index-
Число, представляющее индекс
GPUBindGroupLayout, который нужно вернуть.
Возвращаемое значение
Экземпляр объекта GPUBindGroupLayout.
Проверка
При вызове getBindGroupLayout() должны быть соблюдены следующие условия, в противном случае генерируется GPUValidationError и возвращается недействительный объект GPUBindGroupLayout:
-
indexменьше числа объектовGPUBindGroupLayout, используемых в макете конвейера.
Примеры
Примечание: Полные рабочие примеры с getBindGroupLayout() можно найти в примерах WebGPU.
// ...
// Create a compute pipeline using layout: "auto" to automatically generate
// appropriate bind group layouts
const computePipeline = device.createComputePipeline({
layout: "auto",
compute: {
module: shaderModule,
entryPoint: "main",
},
});
// Create a bind group with the auto-generated layout from the compute pipeline
const computeBindGroup = device.createBindGroup({
layout: computePipeline.getBindGroupLayout(0),
entries: [
{
binding: 0,
resource: { buffer: storageBuffer },
},
],
});
// ...
Спецификации
| Спецификация |
|---|
| WebGPU # dom-gpupipelinebase-getbindgrouplayout |
Совместимость с браузерами
| Рабочий стол | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getBindGroupLayout |
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/GPUComputePipeline/getBindGroupLayout