WebGPU의 새로운 기능 (Chrome 117)

François Beaufort
François Beaufort

설정되지 않은 버텍스 버퍼

GPURenderPassEncoder 또는 GPURenderBundleEncoder에서 GPUBuffer 대신 nullsetVertexBuffer()에 전달하면 지정된 슬롯에서 이전에 설정된 꼭짓점 버퍼를 설정 해제할 수 있습니다. 문제 dawn:1675를 참고하세요.

// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);

// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);

바인드 그룹 설정 해제

GPURenderPassEncoder 또는 GPURenderBundleEncoder에서 GPUBindGroup 대신 nullsetBindGroup()에 전달하면 지정된 슬롯에서 이전에 설정된 바인드 그룹을 설정 해제할 수 있습니다. issue dawn:1675를 참고하세요.

// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);

// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);

기기가 분실된 경우 비동기 파이프라인 생성 오류를 무시합니다.

GPUDevicecreateComputePipelineAsync()createRenderPipelineAsync() 메서드는 파이프라인 생성이 완료되면 확인되는 프로미스를 반환합니다. 이제 분실된 기기가 최대한 작동하는 것처럼 보이도록 GPUDevicelost인 경우 비동기 파이프라인 생성 오류가 표시되지 않습니다. dawn issue:1874를 참고하세요.

SPIR-V 셰이더 모듈 생성 업데이트

이제 createShaderModule()를 사용하여 SPIR-V 셰이더 모듈을 만들면 SPIR-V가 WebGPU 사양에 포함되지 않으므로 '안전하지 않은 WebGPU 지원' 플래그로 Chrome을 실행하지 않는 한 TypeError가 발생합니다. 이 변경사항이 적용되기 전에는 SPIR-V를 사용하면 대신 GPUInternalError가 생성되었습니다. chromium:4711911 변경을 참고하세요.

개발자 환경 개선

읽기 쓰기 저장소 버퍼 및 쓰기 전용 저장소 텍스처 바인딩을 위해 정점 셰이더의 바인드 그룹 레이아웃 바인딩에 관한 유효성 검사 오류 메시지가 개선되었습니다. issue dawn:1883을 참고하세요.

자동으로 생성된 레이아웃으로 파이프라인 캐싱

이제 createRenderPipeline({ layout: "auto" })로 만든 파이프라인이 Chrome의 캐싱 메커니즘을 활용합니다. 즉, 이러한 파이프라인이 더 효율적으로 생성되고 메모리를 덜 사용합니다. issue dawn:1933을 참고하세요.

Dawn 업데이트

이제 wgpu::RequestAdapterOptionsBackendTypewgpu::RequestAdapterOptions의 일부가 되어 애플리케이션이 어댑터를 가져올 때 특정 백엔드를 더 쉽게 요청할 수 있습니다. 다음 예와 issue dawn:1875를 참고하세요.

wgpu::RequestAdapterOptions options = {
    .backendType = wgpu::BackendType::D3D12};

// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);

Node.js에 몇 가지 추가 메서드가 구현되었습니다. change dawn:142465를 참고하세요.

webgpu.h C API에서 불리언 값의 유형이 stdbool에서 uint32_tWGPUBool로 변경되었습니다. 이 변경사항은 API가 C와 C++에서 동등한 ABI를 갖도록 하기 위한 것입니다.

여기에는 주요 내용 중 일부만 다룹니다. 전체 커밋 목록을 확인하세요.

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