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

François Beaufort
François Beaufort

Đã xuất bản: Ngày 24 tháng 9 năm 2025

Đã hoàn tất dự án Tint IR

Một dự án dài hạn (hơn 2,5 năm) nhằm tăng hiệu suất của các thành phần bên trong của Tint, trình biên dịch WGSL đã hoàn tất. Một Biểu diễn trung gian (IR) đã được chèn vào phần phụ trợ giữa Cây cú pháp trừu tượng (AST) hiện tại và trình tạo mã phụ trợ. Việc giới thiệu IR cho phép nhóm Chrome xoá tất cả các phép biến đổi AST và tạo lại chúng dưới dạng các phép biến đổi IR. Do sự khác biệt về kiến trúc, các phép biến đổi này nhanh hơn đáng kể. Các thành phần bên trong của Tint trên một số nền tảng đã cải thiện tốc độ lên đến 7 lần nhờ những thay đổi này.

IR mới này mở ra tiềm năng đáng kể cho việc phân tích và biến đổi chương trình đổ bóng phức tạp, quy mô lớn, hứa hẹn không chỉ mang lại hiệu suất đáng chú ý mà còn giúp Chrome dễ dàng cung cấp các tính năng mới thú vị của WebGPU trong tương lai.

Kể từ cột mốc này, tất cả trình tạo mã phụ trợ đều hoạt động dựa trên biểu diễn IR, tất cả các phép biến đổi AST đều đã bị xoá và tất cả mã hỗ trợ AST để chạy các phép biến đổi đều đã bị xoá.

Trong quá trình cải thiện IR, phần phụ trợ SPIR-V (do các ứng dụng dùng để chuyển đổi SPIR-V thành WGSL) đã được chuyển đổi từ việc tạo biểu diễn AST sang tạo trực tiếp thành IR. Tính năng nâng cao này cũng giới thiệu các tính năng được chờ đợi từ lâu như hỗ trợ dấu phẩy động 16 bit cho phần phụ trợ SPIR-V.

Phân tích phạm vi số nguyên trong trình biên dịch WGSL

Nhóm Chrome đang dần triển khai tính năng phân tích phạm vi số nguyên mới cho Tint, trình biên dịch ngôn ngữ đổ bóng WebGPU. Tính năng phân tích phạm vi số nguyên ước tính các giá trị tối thiểu và tối đa mà một biến số nguyên có thể nhận trong quá trình thực thi chương trình mà không cần thực sự chạy chương trình.

Tính năng này nhằm mục đích cải thiện hiệu quả bằng cách giảm nhu cầu kiểm tra ranh giới tốn kém và sẽ sớm được bật theo mặc định trên tất cả các nền tảng. Xem vấn đề 348701956.

Bản cập nhật SPIR-V 1.4 cho phần phụ trợ Vulkan

Tính năng hỗ trợ SPIR-V 1.4 được triển khai ở những nơi có sẵn trên thiết bị Android và ChromeOS. Bản cập nhật này cho phép Tint, trình biên dịch WGSL, tận dụng các tính năng, quy tắc mới của SPIR-V và các hướng dẫn mới để tạo mã hiệu quả hơn trong một số trường hợp khi biên dịch chương trình đổ bóng Vulkan. Xem vấn đề 427717267.

Thông tin cập nhật về Dawn

Tiêu đề webgpu.h được chuẩn hoá, xác định API WebGPU C cốt lõi, hiện đã được coi là ổn định. Tính ổn định này áp dụng riêng cho API cốt lõi được xác định ở thượng nguồn, không bao gồm các tiện ích triển khai (ví dụ: từ Dawn hoặc Emdawnwebgpu). Vì vậy, bạn nên sử dụng webgpu.h do chính quá trình triển khai mà bạn đang liên kết cung cấp. Mặc dù tiêu đề này ổn định, nhưng bạn vẫn có thể gặp phải những điểm khác biệt không mong muốn giữa các quá trình triển khai khi chúng tôi tiếp tục sửa lỗi và giải quyết vấn đề về khả năng tương thích trên toàn hệ sinh thái. Nếu bạn gặp phải vấn đề này, hãy báo cáo lỗi.

Nhờ cộng tác viên bên ngoài William Candillon, giờ đây bạn có thể tìm thấy các tệp nhị phân Dawn được tạo sẵn dưới dạng cấu phần phần mềm trên GitHub Actions. Các tệp này bao gồm các tệp .lib tĩnh cho Android, gói .XCFramework cho Apple và tất cả các tệp tiêu đề cần thiết. Xem Dawn PR #39ví dụ về các cấu phần phần mềm.

Đây chỉ là một số điểm nổi bật chính. Hãy 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 149-150

Chrome 147-148

Chrome 146

Chrome 145

Chrome 144

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