Рабочая группа GPU для Web приглашает к реализации первых снимков рекомендаций-кандидатов для следующих документов:
WebGPU: графические процессоры, или сокращенно GPU, играют важную роль в обеспечении богатого рендеринга и вычислительных приложений в персональных компьютерах. WebGPU — это API, который раскрывает возможности аппаратного обеспечения GPU для Интернета. API разработан с нуля для эффективного сопоставления с (после 2014 года) собственными API GPU.
WebGPU Shading Language, также сокращенно WGSL: приложение, использующее API WebGPU, использует WGSL для выражения программ, известных как шейдеры, которые работают на GPU. Язык шейдеров предназначен для параллельного выполнения и использования в Интернете.
Комментарии принимаются через GitHub Issues до 28 февраля 2025 года.
Графические процессоры, или сокращенно GPU, играют важную роль в обеспечении богатых возможностей рендеринга и вычислительных приложений на персональных компьютерах.
WebGPU — это API, который раскрывает возможности аппаратного обеспечения GPU для Интернета. API разработан с нуля для эффективного сопоставления с собственными API GPU (после 2014 года). WebGPU не связан с WebGL и не нацелен явно на OpenGL ES.
WebGPU видит физическое аппаратное обеспечение GPU как GPUAdapters. Он обеспечивает подключение к адаптеру через GPUDevice, который управляет ресурсами, и GPUQueues устройства, которые выполняют команды. GPUDevice может иметь собственную память с высокоскоростным доступом к процессорным блокам. GPUBuffer и GPUTexture — это физические ресурсы, поддерживаемые памятью GPU. GPUCommandBuffer и GPURenderBundle — это контейнеры для записанных пользователем команд. GPUShaderModule содержит код шейдера. Другие ресурсы, такие как GPUSampler или GPUBindGroup, настраивают способ использования физических ресурсов графическим процессором.
Графические процессоры выполняют команды, закодированные в GPUCommandBuffers, передавая данные через конвейер, который представляет собой смесь фиксированных функций и программируемых этапов. Программируемые этапы выполняют шейдеры, которые являются специальными программами, разработанными для работы на оборудовании графического процессора. Большая часть состояния конвейера определяется объектом GPURenderPipeline или GPUComputePipeline. Состояние, не включенное в эти объекты конвейера, устанавливается во время кодирования с помощью команд, таких как beginRenderPass()
или setBlendConstant()
.