Spec-Zone.ru › Web APIs

GPURenderPipeline: метод getBindGroupLayout()

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

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

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

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

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

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

Метод getBindGroupLayout() интерфейса GPURenderPipeline возвращает объект GPUBindGroupLayout конвейера с заданным индексом (т. е. включённый в исходный вызов GPUDevice.createRenderPipeline() или GPUDevice.createRenderPipelineAsync() с макетом конвейера).

Если GPURenderPipeline был создан с layout: "auto", этот метод является единственным способом получения GPUBindGroupLayout сгенерированных конвейером.

Синтаксис

getBindGroupLayout(index)

Параметры

index

Число, представляющее индекс GPUBindGroupLayout для возврата.

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

Экземпляр объекта GPUBindGroupLayout.

Валидация

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

  • index меньше количества объектов GPUBindGroupLayout, используемых в макете конвейера.

Примеры

Примечание: Вы можете увидеть полные рабочие примеры с getBindGroupLayout() в действии в примерах WebGPU.

// ...

// Create a render pipeline using layout: "auto" to automatically generate
// appropriate bind group layouts
const fullscreenQuadPipeline = device.createRenderPipeline({
  layout: "auto",
  vertex: {
    module: device.createShaderModule({
      code: fullscreenTexturedQuadWGSL,
    }),
    entryPoint: "vert_main",
  },
  fragment: {
    module: device.createShaderModule({
      code: fullscreenTexturedQuadWGSL,
    }),
    entryPoint: "frag_main",
    targets: [
      {
        format: presentationFormat,
      },
    ],
  },
  primitive: {
    topology: "triangle-list",
  },
});

// ...

// Create a bind group with the auto-generated layout from the render pipeline
const showResultBindGroup = device.createBindGroup({
  layout: fullscreenQuadPipeline.getBindGroupLayout(0),
  entries: [
    {
      binding: 0,
      resource: sampler,
    },
    {
      binding: 1,
      resource: textures[1].createView(),
    },
  ],
});

// ...

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

Спецификация
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/GPURenderPipeline/getBindGroupLayout

Spec-Zone.ru

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