꼭짓점 버퍼 설정 해제
GPURenderPassEncoder
또는 GPURenderBundleEncoder
에서 GPUBuffer
대신 null
을 setVertexBuffer()
에 전달하면 지정된 슬롯에서 이전에 설정된 꼭짓점 버퍼를 설정 해제할 수 있습니다. issue 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
대신 null
을 setBindGroup()
에 전달하면 지정된 슬롯에서 이전에 설정된 바인드 그룹을 설정 해제할 수 있습니다. 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);
기기 분실 시 비동기 파이프라인 생성 시 오류 차단
GPUDevice
의 createComputePipelineAsync()
및 createRenderPipelineAsync()
메서드는 파이프라인 생성이 완료되면 확인되는 프로미스를 반환합니다. 이제 분실된 기기가 최대한 작동하는 것처럼 보이도록 GPUDevice
가 lost
일 때 비동기 파이프라인 생성으로 인한 오류가 음소거됩니다. dawn issue:1874를 참고하세요.
SPIR-V 셰이더 모듈 생성 업데이트
이제 createShaderModule()
를 사용하여 SPIR-V 셰이더 모듈을 만들면 '안전하지 않은 WebGPU 지원'으로 Chrome을 실행하지 않는 한 TypeError가 발생합니다. SPIR-V가 WebGPU 사양에 포함되지 않으므로 flag를 지정해야 합니다. 이 변경 이전에는 SPIR-V를 사용하면 GPUInternalError가 대신 생성됩니다.
chromium:4711911 변경사항을 참고하세요.
개발자 환경 개선
꼭짓점 셰이더의 바인드 그룹 레이아웃 바인딩에 대한 유효성 검사 오류 메시지가 읽기-쓰기 스토리지 버퍼와 쓰기 전용 저장소 텍스처 바인딩에 맞게 개선되었습니다. issue dawn:1883을 참고하세요.
자동으로 생성된 레이아웃으로 파이프라인 캐싱
createRenderPipeline({ layout: "auto" })
로 만든 파이프라인은 이제 Chrome의 캐싱 메커니즘을 활용합니다. 즉, 이러한 파이프라인이 더 효율적으로 생성되고 메모리를 덜 사용하게 됩니다. issue dawn:1933을 참고하세요.
Dawn 업데이트
이제 wgpu::RequestAdapterOptionsBackendType
가 wgpu::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 128
- 하위 그룹 실험
- 선 및 점의 설정 깊이 바이어스 지원 중단
- preventDefault인 경우 캡처되지 않은 오류 DevTools 경고 숨기기
- WGSL에서는 샘플링을 먼저 보간하고
- Dawn 업데이트
Chrome 127
Chrome 126
Chrome 125
Chrome 124
Chrome 123
- WGSL에서 DP4a 내장 함수 지원
- WGSL의 제한되지 않은 포인터 매개변수
- WGSL에서 복합을 역참조하기 위한 구문 슈가
- 스텐실 및 깊이 측면의 별도 읽기 전용 상태
- Dawn 업데이트
Chrome 122
Chrome 121
- Android에서 WebGPU 지원
- Windows에서 셰이더 컴파일에 FXC 대신 DXC 사용
- 컴퓨팅 및 렌더링 패스의 타임스탬프 쿼리
- 셰이더 모듈의 기본 진입점
- display-p3을 GPUExternalTexture 색상 공간으로 지원
- 메모리 힙 정보
- Dawn 업데이트
Chrome 120
Chrome 119
Chrome 118
copyExternalImageToTexture()
의 HTMLImageElement 및 ImageData 지원- 읽기-쓰기 및 읽기 전용 저장소 텍스처를 실험적으로 지원합니다.
- Dawn 업데이트
Chrome 117
- 꼭짓점 버퍼 설정 해제
- 바인드 그룹 설정 해제
- 기기 분실 시 비동기 파이프라인 생성 시 오류 차단
- SPIR-V 셰이더 모듈 만들기 업데이트
- 개발자 환경 개선
- 자동으로 생성된 레이아웃으로 파이프라인 캐싱
- Dawn 업데이트
Chrome 116
- WebCodecs 통합
- GPUAdapter
requestDevice()
에서 반품한 분실 기기 importExternalTexture()
가 호출되는 경우 동영상을 원활하게 재생합니다.- 사양 적합성
- 개발자 환경 개선
- Dawn 업데이트