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 vertex attributes.
const device = await adapter.requestDevice({
  requiredLimits: { maxVertexAttributes: 30 },
});

Dawn 업데이트

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

최근 Node.js용 Dawn 바인딩의 개선사항에는 다음이 포함됩니다.

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

여기에서는 몇 가지 주요 사항만 다룹니다. 전체 커밋 목록을 확인하세요.

WebGPU의 새로운 기능

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

Chrome 131

Chrome 130

Chrome 129

Chrome 128

Chrome 127

Chrome 126

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