เผยแพร่: 27 สิงหาคม 2025
คำขออุปกรณ์ใช้ตัวดัดแปลง
ตามข้อกำหนดของ WebGPU ระบบจะทำเครื่องหมายอะแดปเตอร์ว่า "ใช้แล้ว" เมื่อคำขออุปกรณ์สำเร็จ ดังนั้น requestDevice() การเรียกใช้ในภายหลังโดยใช้อะแดปเตอร์เดียวกันจะทำให้เกิดการปฏิเสธสัญญา ก่อนหน้านี้ การเรียกเหล่านี้จะแสดงผลอุปกรณ์ที่สูญหาย ณ เวลาที่สร้าง ดูปัญหา 415825174
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
await adapter.requestDevice(); // Fails because adapter has been consumed.
รูปแบบย่อสำหรับการใช้พื้นผิวในที่ที่ใช้มุมมองพื้นผิว
ตอนนี้คุณใช้ GPUTexture เป็น GPUBindingResource ได้โดยตรงเพื่อแสดงต่อเชเดอร์สำหรับการเชื่อมโยง นอกจากนี้ยังใช้เป็น GPURenderPassColorAttachment view, GPURenderPassColorAttachment resolveTarget และ GPURenderPassDepthStencilAttachment view เพื่อปรับปรุงการยศาสตร์ได้ด้วย ซึ่งเป็นวิธีที่ง่ายกว่าการใช้ GPUTextureView เพื่อรับมุมมองเริ่มต้น ดู ปัญหา 425906323
const bindGroup = myDevice.createBindGroup({
layout: myPipeline.getBindGroupLayout(0),
entries: [
{ binding: 0, resource: mySampler },
{ binding: 1, resource: myTexture }, // Same as myTexture.createView()
{ binding: 2, resource: myExternalTexture },
{ binding: 3, resource: myBuffer },
],
});
WGSL textureSampleLevel รองรับพื้นผิว 1 มิติ
ตอนนี้คุณสุ่มตัวอย่างเท็กซ์เจอร์ 1 มิติได้โดยใช้ textureSampleLevel() เพื่อให้สอดคล้องกับเท็กซ์เจอร์ 2 มิติ ซึ่งจะช่วยให้คุณสุ่มตัวอย่างเท็กซ์เจอร์ 1 มิติจาก Vertex Shader ได้ ซึ่งก่อนหน้านี้ทำได้จาก Fragment Shader เท่านั้นด้วย textureSample() ดู ปัญหา 382514673
เลิกใช้งานการใช้พื้นผิวพื้นที่เก็บข้อมูลแบบอ่านอย่างเดียว bgra8unorm
ตอนนี้เราเลิกใช้รูปแบบ "bgra8unorm" กับเท็กซ์เจอร์พื้นที่เก็บข้อมูลแบบอ่านอย่างเดียวแล้ว ข้อกำหนด WebGPU ไม่อนุญาตให้ใช้รูปแบบนี้อย่างชัดเจน และการอนุญาตก่อนหน้านี้ใน Chrome เป็นข้อบกพร่อง เนื่องจากรูปแบบนี้มีไว้สำหรับการเข้าถึงแบบเขียนอย่างเดียวและไม่สามารถพกพาได้ โปรดดูปัญหา 427681156
นำแอตทริบิวต์ isFallbackAdapter ของ GPUAdapter ออก
ตามที่ได้ประกาศไว้ก่อนหน้านี้ ตอนนี้เราได้นำแอตทริบิวต์ isFallbackAdapter ของ GPUAdapter ออกแล้ว โดยจะแทนที่ด้วยแอตทริบิวต์ isFallbackAdapter ของ GPUAdapterInfo ซึ่งเปิดตัวใน Chrome 136 ดูความตั้งใจที่จะนำออก
ข้อมูลอัปเดตเกี่ยวกับ Dawn
ฟังก์ชัน wgpuInstanceGetWGSLLanguageFeatures() ใช้เพื่อรับรายการฟีเจอร์ภาษา WGSL ที่อินสแตนซ์รองรับ ก่อนหน้านี้จะแสดงค่า WGPUStatus เราได้อัปเดตฟังก์ชันนี้เพื่อไม่ให้แสดงค่าเนื่องจากฟังก์ชันนี้ไม่สามารถล้มเหลวได้ ดูปัญหา 429178774
ตอนนี้ฟังก์ชัน wgpuSurfacePresent() จะแสดงผลข้อผิดพลาด WGPUStatus หากพื้นผิวไม่มีพื้นผิวปัจจุบัน ดูปัญหา 425930323
wgpu::InstanceFeatureName::MultipleDevicesPerAdapter ฟีเจอร์ใหม่ช่วยให้ผู้ดัดแปลงสร้างอุปกรณ์หลายเครื่องได้โดยไม่ต้อง "ใช้" ดูปัญหา 415825174
dump_shaders_on_failureปุ่มเปิด/ปิดอุปกรณ์ช่วยให้คุณดัมพ์ Shader เฉพาะในกรณีที่เกิดข้อผิดพลาดเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่อง โดยจะมีผลกับแบ็กเอนด์ D3 เท่านั้น แต่เราอาจขยายการให้บริการไปยังแบ็กเอนด์อื่นๆ ในอนาคต ดูปัญหา 429187478
เราได้ทำการเปลี่ยนแปลงหลายอย่างในแบ็กเอนด์ Vulkan เพื่อลดค่าใช้จ่ายเมื่อส่งการแสดงผล โดยเฉพาะอย่างยิ่งเพื่อปรับปรุงประสิทธิภาพใน GPU ของอุปกรณ์เคลื่อนที่ เช่น caching VkFramebuffers
นี่เป็นเพียงไฮไลต์สำคัญบางส่วนเท่านั้น ดูรายการคอมมิตทั้งหมด
มีอะไรใหม่ใน WebGPU
รายการทุกอย่างที่ครอบคลุมในซีรีส์มีอะไรใหม่ใน WebGPU
Chrome 149-150
Chrome 147-148
Chrome 146
- รองรับโหมดความเข้ากันได้ของ WebGPU ใน OpenGL ES 3.1
- ไฟล์แนบชั่วคราว
- ส่วนขยาย texture_and_sampler_let ของ WGSL
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 145
- ส่วนขยาย subgroup_uniformity ของ WGSL
- การแมปบัฟเฟอร์แบบซิงโครนัสทดลองใน Worker
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 144
- ส่วนขยาย subgroup_id ของ WGSL
- ส่วนขยาย uniform_buffer_standard_layout ของ WGSL
- WebGPU ใน Linux
- writeBuffer และ writeTexture เร็วขึ้น
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 143
- การสลับคอมโพเนนต์พื้นผิว
- นำการใช้พื้นผิวพื้นที่เก็บข้อมูลแบบอ่านอย่างเดียว bgra8unorm ออก
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 142
Chrome 141
- การแก้ไขสี IR เสร็จสมบูรณ์แล้ว
- การวิเคราะห์ช่วงจำนวนเต็มในคอมไพเลอร์ WGSL
- การอัปเดต SPIR-V 1.4 สำหรับแบ็กเอนด์ Vulkan
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 140
- คำขอของอุปกรณ์จะใช้ตัวดัดแปลง
- คำย่อสำหรับการใช้พื้นผิวในที่ที่ใช้มุมมองพื้นผิว
- WGSL textureSampleLevel รองรับพื้นผิว 1 มิติ
- เลิกใช้งานการใช้พื้นผิวพื้นที่เก็บข้อมูลแบบอ่านอย่างเดียว bgra8unorm
- นำแอตทริบิวต์ isFallbackAdapter ของ GPUAdapter ออก
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 139
- รองรับพื้นผิว 3 มิติสำหรับรูปแบบที่บีบอัด BC และ ASTC
- ฟีเจอร์ใหม่ "ฟีเจอร์หลักและขีดจำกัด"
- ช่วงทดลองใช้จากต้นทางสำหรับโหมดความเข้ากันได้ของ WebGPU
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 138
- คำย่อสำหรับการใช้บัฟเฟอร์เป็นทรัพยากรที่เชื่อมโยง
- การเปลี่ยนแปลงข้อกำหนดด้านขนาดสำหรับบัฟเฟอร์ที่แมปเมื่อสร้าง
- รายงานสถาปัตยกรรมสำหรับ GPU รุ่นล่าสุด
- เลิกใช้งานแอตทริบิวต์ isFallbackAdapter ของ GPUAdapter
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 137
- ใช้มุมมองพื้นผิวสำหรับการเชื่อมโยง ExternalTexture
- คัดลอกบัฟเฟอร์โดยไม่ต้องระบุออฟเซ็ตและขนาด
- WGSL workgroupUniformLoad โดยใช้พอยน์เตอร์ไปยังอะตอม
- แอตทริบิวต์ powerPreference ของ GPUAdapterInfo
- นำแอตทริบิวต์ compatibilityMode ของ GPURequestAdapterOptions ออก
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 136
- แอตทริบิวต์ isFallbackAdapter ของ GPUAdapterInfo
- ปรับปรุงเวลาการคอมไพล์ Shader ใน D3D12
- บันทึกและคัดลอกรูปภาพแคนวาส
- ข้อจำกัดของโหมดความเข้ากันได้ของ Lift
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 135
- อนุญาตให้สร้างเลย์เอาต์ของไปป์ไลน์ที่มีเลย์เอาต์กลุ่มการเชื่อมโยงเป็น Null
- อนุญาตให้ Viewport ขยายเกินขอบเขตของเป้าหมายการแสดงผล
- เข้าถึงโหมดความเข้ากันได้เวอร์ชันทดลองใน Android ได้ง่ายขึ้น
- นำขีดจำกัด maxInterStageShaderComponents ออก
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 134
- ปรับปรุงภาระงานแมชชีนเลิร์นนิงด้วยกลุ่มย่อย
- นำการรองรับประเภทพื้นผิวที่กรองได้แบบลอยเป็นแบบผสมออก
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 133
- รูปแบบจุดยอด unorm8x4-bgra และรูปแบบจุดยอดแบบ 1 คอมโพเนนต์เพิ่มเติม
- อนุญาตให้ขอโควต้าที่ไม่รู้จักด้วยค่าที่ไม่ได้กำหนด
- การเปลี่ยนแปลงกฎการจัดแนว WGSL
- การเพิ่มประสิทธิภาพ WGSL ด้วยการทิ้ง
- ใช้ displaySize ของ VideoFrame สำหรับเท็กซ์เจอร์ภายนอก
- จัดการรูปภาพที่มีการวางแนวที่ไม่ใช่ค่าเริ่มต้นโดยใช้ copyExternalImageToTexture
- การปรับปรุงประสบการณ์ของนักพัฒนาแอป
- เปิดใช้โหมดความเข้ากันได้ด้วย featureLevel
- การล้างข้อมูลฟีเจอร์กลุ่มย่อยเวอร์ชันทดลอง
- เลิกใช้งานขีดจำกัด maxInterStageShaderComponents
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 132
- การใช้งานมุมมองพื้นผิว
- การผสมพื้นผิวแบบลอยตัว 32 บิต
- แอตทริบิวต์ adapterInfo ของ GPUDevice
- การกำหนดค่าบริบท Canvas ด้วยรูปแบบที่ไม่ถูกต้องจะทำให้เกิดข้อผิดพลาด JavaScript
- ข้อจำกัดของตัวอย่างการกรองในเท็กซ์เจอร์
- การทดลองกลุ่มย่อยแบบขยาย
- การปรับปรุงประสบการณ์ของนักพัฒนาแอป
- การรองรับรูปแบบพื้นผิวแบบปกติ 16 บิตในเวอร์ชันทดลอง
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 131
- ระยะทางคลิปใน WGSL
- GPUCanvasContext getConfiguration()
- Primitive ของจุดและเส้นต้องไม่มีการปรับความลึก
- ฟังก์ชันการสแกนแบบครอบคลุมในตัวสำหรับกลุ่มย่อย
- การรองรับการวาดหลายรายการแบบอ้อมในเวอร์ชันทดลอง
- ตัวเลือกการคอมไพล์โมดูล Shader แบบเข้มงวด
- นำ requestAdapterInfo() ของ GPUAdapter ออก
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 130
- การผสมผสานแหล่งที่มา 2 แหล่ง
- การปรับปรุงเวลาในการคอมไพล์ Shader บน Metal
- การเลิกใช้งาน requestAdapterInfo() ของ GPUAdapter
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 129
Chrome 128
- การทดลองใช้กลุ่มย่อย
- เลิกใช้งานการตั้งค่าอคติของความลึกสำหรับเส้นและจุด
- ซ่อนคำเตือนในเครื่องมือสำหรับนักพัฒนาเว็บเกี่ยวกับข้อผิดพลาดที่ไม่ได้บันทึกหาก preventDefault
- WGSL interpolate sampling first and either
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 127
- การรองรับ OpenGL ES ใน Android (เวอร์ชันทดลอง)
- แอตทริบิวต์ข้อมูล GPUAdapter
- การปรับปรุงการทำงานร่วมกันของ WebAssembly
- ข้อผิดพลาดของเครื่องมือเข้ารหัสคำสั่งที่ได้รับการปรับปรุง
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 126
- เพิ่มขีดจำกัด maxTextureArrayLayers
- การเพิ่มประสิทธิภาพการอัปโหลดบัฟเฟอร์สำหรับแบ็กเอนด์ Vulkan
- การปรับปรุงเวลาการคอมไพล์ Shader
- บัฟเฟอร์คำสั่งที่ส่งต้องไม่ซ้ำกัน
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 125
- กลุ่มย่อย (ฟีเจอร์ที่อยู่ระหว่างการพัฒนา)
- แสดงผลไปยังชิ้นส่วนของพื้นผิว 3 มิติ
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 124
- เท็กซ์เจอร์พื้นที่เก็บข้อมูลแบบอ่านอย่างเดียวและอ่าน/เขียน
- การรองรับ Service Worker และ Shared Worker
- แอตทริบิวต์ข้อมูลอะแดปเตอร์ใหม่
- แก้ไขข้อบกพร่อง
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 123
- การรองรับฟังก์ชันบิวท์อิน DP4a ใน WGSL
- พารามิเตอร์ตัวชี้ที่ไม่จำกัดใน WGSL
- ไวยากรณ์ที่ช่วยให้การอ้างอิงคอมโพสิตใน WGSL ง่ายขึ้น
- สถานะแบบอ่านอย่างเดียวแยกกันสำหรับด้านลายฉลุและความลึก
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 122
- ขยายการเข้าถึงด้วยโหมดความเข้ากันได้ (ฟีเจอร์ที่อยู่ระหว่างการพัฒนา)
- เพิ่มขีดจำกัด maxVertexAttributes
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 121
- รองรับ WebGPU ใน Android
- ใช้ DXC แทน FXC สำหรับการคอมไพล์ Shader ใน Windows
- การค้นหาการประทับเวลาในพาสการคำนวณและการแสดงผล
- จุดแรกเข้าเริ่มต้นของโมดูล Shader
- รองรับ display-p3 เป็นพื้นที่สี GPUExternalTexture
- ข้อมูลฮีปหน่วยความจำ
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 120
- การรองรับค่าจุดลอยตัว 16 บิตใน WGSL
- ก้าวข้ามขีดจำกัด
- การเปลี่ยนแปลงสถานะของสเตนซิลความลึก
- การอัปเดตข้อมูลอะแดปเตอร์
- การหาปริมาณการค้นหาตามการประทับเวลา
- ฟีเจอร์การทำความสะอาดช่วงฤดูใบไม้ผลิ
Chrome 119
- เท็กซ์เจอร์แบบลอยตัว 32 บิตที่กรองได้
- รูปแบบจุดยอด unorm10-10-10-2
- รูปแบบเท็กซ์เจอร์ rgb10a2uint
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 118
- การรองรับ HTMLImageElement และ ImageData ใน
copyExternalImageToTexture() - การรองรับแบบทดลองสำหรับเท็กซ์เจอร์พื้นที่เก็บข้อมูลแบบอ่าน-เขียนและแบบอ่านอย่างเดียว
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 117
- เลิกตั้งค่าบัฟเฟอร์จุดยอด
- ยกเลิกการตั้งค่ากลุ่มที่เชื่อมโยง
- ปิดเสียงข้อผิดพลาดจากการสร้างไปป์ไลน์แบบไม่พร้อมกันเมื่ออุปกรณ์สูญหาย
- ข้อมูลอัปเดตเกี่ยวกับการสร้างโมดูล Shader SPIR-V
- การปรับปรุงประสบการณ์ของนักพัฒนาแอป
- ไปป์ไลน์การแคชที่มีเลย์เอาต์ที่สร้างขึ้นโดยอัตโนมัติ
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 116
- การผสานรวม WebCodecs
- อุปกรณ์ที่สูญหายซึ่งส่งคืนโดย GPUAdapter
requestDevice() - เล่นวิดีโออย่างราบรื่นหากมีการเรียกใช้
importExternalTexture() - การปฏิบัติตามข้อกำหนด
- การปรับปรุงประสบการณ์ของนักพัฒนาแอป
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 115
- ส่วนขยายภาษา WGSL ที่รองรับ
- การรองรับ Direct3D 11 ในเวอร์ชันทดลอง
- รับ GPU แยกโดยค่าเริ่มต้นเมื่อใช้ไฟ AC
- การปรับปรุงประสบการณ์ของนักพัฒนาแอป
- ข้อมูลอัปเดตเกี่ยวกับ Dawn
Chrome 114
- เพิ่มประสิทธิภาพ JavaScript
- getCurrentTexture() ใน Canvas ที่ไม่ได้กำหนดค่าจะแสดง InvalidStateError
- ข้อมูลอัปเดตเกี่ยวกับ WGSL
- ข้อมูลอัปเดตเกี่ยวกับ Dawn