WebGPU의 새로운 기능 (Chrome 143)

François Beaufort
François Beaufort

게시일: 2025년 11월 19일

텍스처 구성요소 스위즐

이제 셰이더에서 액세스할 때 텍스처의 빨간색, 녹색, 파란색, 알파 채널에서 색상 구성요소를 재정렬하거나 대체할 수 있습니다.

GPUAdapter에서 "texture-component-swizzle" 기능을 사용할 수 있는 경우 이 기능으로 GPUDevice를 요청하고 새 swizzle 옵션으로 createView()를 호출하여 GPUTextureView를 만듭니다. 이 값은 길이가 4인 문자열이며 각 문자는 뷰의 빨간색, 녹색, 파란색, 알파 구성요소에 각각 매핑됩니다. 각 문자는 다음 중 하나일 수 있습니다.

  • "r": 텍스처의 빨간색 채널에서 값을 가져옵니다.
  • "g": 텍스처의 녹색 채널에서 값을 가져옵니다.
  • "b": 텍스처의 파란색 채널에서 값을 가져옵니다.
  • "a": 텍스처의 알파 채널에서 값을 가져옵니다.
  • "0": 값을 0으로 강제합니다.
  • "1": 값을 1로 강제합니다.

다음 스니펫과 chromestatus 항목을 참고하세요.

const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("texture-component-swizzle")) {
  throw new Error("Texture component swizzle support is not available");
}
// Explicitly request texture component swizzle support.
const device = await adapter.requestDevice({
  requiredFeatures: ["texture-component-swizzle"],
});

// ... Assuming myTexture is a GPUTexture with a single red channel.

// Map the view's red, green, blue components to myTexture's red channel
// and force the view's alpha component to 1 so that the shader sees it as
// a grayscale image.
const view = myTexture.createView({ swizzle: "rrr1" });

// Send the appropriate commands to the GPU...

bgra8unorm 읽기 전용 스토리지 텍스처 사용량 삭제

이전에 발표한 바와 같이 읽기 전용 스토리지 텍스처와 함께 "bgra8unorm" 형식을 사용하는 기능이 삭제되었습니다. WebGPU 사양에서는 이를 명시적으로 허용하지 않으며 Chrome에서 이전에 허용된 것은 버그였습니다. 이 형식은 쓰기 전용 액세스를 위한 것이며 이식할 수 없기 때문입니다. 문제 427681156을 참고하세요.

Dawn 업데이트

Vulkan에서 3D 텍스처를 삭제할 때 발생하는 검증 오류가 수정되었습니다. 443950688 문제 참고

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

WebGPU의 새로운 기능

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

Chrome 143

Chrome 142

Chrome 141

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