WebGPU의 새로운 기능 (Chrome 117)

François Beaufort
François Beaufort

꼭짓점 버퍼 설정 해제

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

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

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

바인드 그룹 설정 해제

GPUBindGroup 대신 nullGPURenderPassEncoder 또는 GPURenderBundleEncodersetBindGroup()에 전달하면 지정된 슬롯에서 이전에 설정된 바인드 그룹을 설정 해제할 수 있습니다. 문제 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의 캐싱 메커니즘을 활용합니다. 즉, 이러한 파이프라인이 더 효율적으로 생성되고 메모리를 적게 사용합니다. 문제 dawn:1933을 참조하세요.

여명 업데이트

이제 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에서 WGPUBool(uint32_t)로 변경했습니다. 이러한 변경은 API가 C 및 C++에서 동등한 ABI를 보유하도록 하기 위한 것입니다.

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

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