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 },
});

새벽 업데이트

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

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

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

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

WebGPU의 새로운 기능

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

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

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