WebGPU의 새로운 기능 (Chrome 122)

François Beaufort
François Beaufort

이번에는 WebGPU 기능의 수가 약간 많아 보일 수 있지만 주요 개선사항이 눈앞에 있습니다. 다음 출시에는 DP4a, 읽기 전용 및 읽기-쓰기 저장소 텍스처, 별도의 스텐실 및 깊이 가로세로 제어, 3D 텍스처 슬라이스로의 렌더링, 셰이더 컴파일 개선사항과 같은 기능이 포함됩니다.

그동안 헤드리스 Chrome에서 WebGPU 및 WebGL 지원으로 웹 AI 모델 테스트를 강화하는 방법과 Chrome에서 WebGPU가 사용 중지되거나 작동하지 않는 이유를 알아보세요.

호환성 모드 (개발 중 기능)로 도달범위 확장

WebGPU는 최신 그래픽 API (Vulkan, Metal, D3D12)와 잘 일치하지만 일부 기기에서는 이러한 API가 지원되지 않습니다. 이로 인해 특히 Windows (Chrome 사용자의 31% 가 D3D11.1 이상이 없음), Android (23% 에 Vulkan 1.1 이상이 없음), ChromeOS (Vulkan 채택 증가 중)와 같은 플랫폼에서 WebGPU의 접근성이 제한됩니다.

Chrome팀은 D3D11 및 OpenGL ES와 같은 이전 API에서 작동하는 약간 제한된 버전의 WebGPU를 제공하여 이 문제를 해결하기 위해 WebGPU의 호환성 모드를 개발하고 있습니다. 이렇게 하면 WebGPU의 잠재적 사용자층이 확대됩니다.

무엇보다도 호환성 모드를 사용하는 애플리케이션은 완전히 유효한 WebGPU 애플리케이션으로 유지됩니다. 호환성 모드를 지원하지 않는 기기는 핵심 WebGPU 어댑터로 기본 설정되므로 폭넓은 사용성이 보장됩니다.

WebGPU 호환성 모드 다이어그램
WebGPU 호환성 모드 확장된 도달범위

제안서를 확인하고 궁금한 점이 있으면 의견을 보내주세요.

maxVertexAttributes 한도 늘리기

GPURenderPipeline을 만들 때 버퍼 전체의 최대 속성 수는 기본적으로 16개입니다. 이제 지원되는 경우 maxVertexAttributes 한도를 사용해 최대 30개까지 요청할 수 있습니다. 다음 예와 issue dawn:2223을 참고하세요.

const adapter = await navigator.gpu.requestAdapter();

if (adapter.limits.maxVertexAttributes < 30) {
  // When the desired limit isn't supported, take action to either fall back to
  // a code path that does not require the higher limit or notify the user that
  // their device does not meet minimum requirements.
}

// Request highest limit of max vertext attributes.
const device = await adapter.requestDevice({
  requiredLimits: { maxVertexAttributes: 30 },
});

여명 업데이트

인스턴스가 실험용 WGSL 기능만 노출하고 안전하지 않은 WGSL 기능은 노출하지 않도록 'allow_unsafe_apis' 전환을 사용 설정하지 않고도 안전한 실험용 WGSL 기능을 사용할 수 있도록 'expose_wgsl_experimental_features'라는 새로운 인스턴스 전환이 추가되었습니다. Issue dawn:2260을 참조하세요.

Node.js용 Dawn 바인딩의 최근 개선사항은 다음과 같습니다.

  • GPUSupportedFeatures::getSize()이(가) 추가되었습니다.
  • GPUAdapter 비활성이 구현되었습니다.
  • 이제 GPUInternalError가 기기에 대해 올바르게 보고됩니다.
  • 이제 속성을 열거할 수 있습니다.

여기에서는 주요 특징 중 일부만 다루었습니다. 전체 커밋 목록을 확인하세요.

WebGPU의 새로운 기능

WebGPU의 새로운 기능 시리즈에서 다룬 모든 사항의 목록

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113