Tính năng mới trong WebGPU (Chrome 143)

François Beaufort
François Beaufort

Xuất bản: Ngày 19 tháng 11 năm 2025

Thành phần hoạ tiết hoán đổi

Giờ đây, bạn có thể sắp xếp lại hoặc thay thế các thành phần màu từ các kênh alpha, xanh dương, xanh lục và đỏ của hoạ tiết khi được truy cập bằng một chương trình đổ bóng.

Khi tính năng "texture-component-swizzle" có trong GPUAdapter, hãy yêu cầu GPUDevice có tính năng này và tạo GPUTextureView bằng cách gọi createView() với một lựa chọn swizzle mới. Giá trị này là một chuỗi có độ dài bằng 4, trong đó mỗi ký tự tương ứng với thành phần màu đỏ, xanh lục, xanh lam và alpha của khung hiển thị. Mỗi ký tự có thể là:

  • "r": Lấy giá trị từ kênh màu đỏ của hoạ tiết.
  • "g": Lấy giá trị từ kênh màu xanh lục của hoạ tiết.
  • "b": Lấy giá trị từ kênh màu xanh dương của hoạ tiết.
  • "a": Lấy giá trị từ kênh alpha của hoạ tiết.
  • "0": Buộc giá trị của nó thành 0.
  • "1": Buộc giá trị của nó thành 1.

Hãy xem đoạn mã sau và mục 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...

Xoá việc sử dụng kết cấu bộ nhớ chỉ đọc bgra8unorm

Như đã thông báo trước đó, việc sử dụng định dạng "bgra8unorm" với các hoạ tiết bộ nhớ chỉ đọc hiện đã bị xoá. Quy cách WebGPU không cho phép điều này một cách rõ ràng và việc cho phép trước đây trong Chrome là một lỗi, vì định dạng này chỉ dành cho quyền truy cập chỉ ghi và không thể di chuyển. Xem vấn đề 427681156.

Thông tin cập nhật về bình minh

Đã khắc phục lỗi xác thực xảy ra khi xoá một hoạ tiết 3D trong Vulkan. Xem vấn đề 443950688

Đây chỉ là một số điểm nổi bật chính. Xem danh sách đầy đủ các cam kết.

Tính năng mới trong WebGPU

Danh sách mọi nội dung đã được đề cập trong loạt bài Tính năng mới trong 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