Yayınlanma tarihi: 25 Şubat 2026
OpenGL ES 3.1'de WebGPU uyumluluk modunu destekleme
WebGPU, Vulkan, Metal ve D3D12 gibi modern grafik API'leriyle uyumlu olacak şekilde tasarlanmış olsa da birçok kullanıcının bu standartları desteklemeyen eski donanımları vardır. Bu açığı kapatmak ve geniş kapsamlı erişilebilirlik sağlamak için Chrome, uyumluluk modu adlı yeni bir etkinleştirme özelliği sunuyor.
Bu mod, WebGPU'yu OpenGL ES 3.1 gibi eski grafik API'lerinde çalıştırmanıza olanak tanır. WebGPU spesifikasyonunun biraz kısıtlanmış bir alt kümesini hedefleyerek web uygulamanızın en yeni oyun bilgisayarlarından eski dizüstü bilgisayarlara ve mobil cihazlara kadar herkes tarafından erişilebilir olmasını sağlarsınız. Android ile başlayan ekip, OpenGL ES 3.1 ile ChromeOS ve Direct3D 11 ile Windows gibi diğer cihazlar için destek sunma olasılığını araştırıyor.
Birçok web uygulamasında, requestAdapter() işlevini çağırırken featureLevel: "compatibility" parametresini ileterek uyumluluk modunu etkinleştirebilirsiniz. Cihazınız Core WebGPU'yu destekliyorsa Chrome, Core özellikli bir bağdaştırıcı döndürür ancak web uygulamanız "core-features-and-limits" özelliğini etkinleştirmediği (veya mevcut tüm özellikleri etkinleştirmediği) sürece uyumluluk sınırları içinde kalması gerektiğini bilir. Daha karmaşık uygulamaların, modun kısıtlamalarına uyması için küçük ayarlamalar yapılması gerekebilir.
// Request a GPUAdapter in compatibility mode.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });
const device = await adapter.requestDevice();
Bu modun mimariyle ilgili kısıtlamaları hakkında ayrıntılı bilgi için WebGPU Temelleri Kılavuzu'na bakın. Ayrıca, tüm WebGPU örnekleri artık uyumluluk modunu destekliyor. Gönderme niyetini de okuyabilirsiniz.
Geçici ekler
Bellek açısından verimli ekler oluşturmak için yeni TRANSIENT_ATTACHMENT GPUTextureUsage işaretini kullanabilirsiniz. Bu sayede oluşturma geçişi işlemleri döşeme belleğinde kalır. Böylece VRAM trafiği önlenir ve dokular için VRAM ayırma işlemi yapılmaz.
Bir dokuyu geçici (veya "hafızasız") olarak tanımladığınızda GPU, dokunun içeriğine yalnızca geçici olarak (özellikle yalnızca mevcut oluşturma geçişi içinde) ihtiyaç duyduğunu bilir. Ayrıca, dokunun içeriği oluşturma geçişinden sonra atıldığından sürücünün bunun için VRAM ayırması gerekmez.
Aşağıdaki örnekte geçici dokunun nasıl oluşturulacağı gösterilmektedir.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
if ('TRANSIENT_ATTACHMENT' in GPUTextureUsage) {
const transientTexture = device.createTexture({
size: [42, 42],
// The TRANSIENT_ATTACHMENT flag indicates the texture content is temporary,
// potentially keeping it in fast on-chip memory.
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TRANSIENT_ATTACHMENT,
format: 'rgba8unorm',
});
}
Hello Triangle MSAA - WebGPU Sample (Merhaba Üçgen MSAA - WebGPU Örneği) ve intent to ship (gönderme amacı) sayfasına bakın.
WGSL texture_and_sampler_let uzantısı
WGSL dil uzantısı texture_and_sampler_let, WGSL gölgelendiricisinde let öğesine doku veya örnekleyici değişkenleri atamanıza olanak tanır. Bu özellik şu anda alternatif bir adlandırma mekanizması sunuyor ve doku veya örnekleyici döndüren yöntemlerin doğrudan yerel değişkenlerde depolanabileceği bağlantısız destek için hazırlanıyor.
Aşağıdaki örneğe ve gönderme amacı'na bakın.
@group(0) @binding(0) var tex: texture_2d<f32>;
@group(1) @binding(0) var store : texture_storage_2d<r32float, read_write>;
@fragment fn main() {
let a = tex;
var res: vec4f = textureLoad(a, vec2i(1i), 0);
textureStore(store, vec2i(0i), res);
}
Dawn ile ilgili güncellemeler
Aşağıdaki yeni sınır katmanları kullanılabilir:
maxStorageBuffersPerShaderStageen fazla 16'yı destekler. 366151398 numaralı sorunu inceleyin.maxSampledTexturesPerShaderStageen fazla 48'i destekler. 475255737 numaralı soruna bakın.
Android'de ek bir güvenlik katmanı sağlamak ve hatalı giriş nedeniyle sürücü kararsızlığını önlemek için SPIR-V doğrulama varsayılan olarak etkindir. 473526182 numaralı sorunu inceleyin.
Bu özet yalnızca önemli noktalardan bazılarını kapsar. Kapsamlı commit listesine göz atın.
WebGPU'daki yenilikler
WebGPU'daki Yenilikler serisinde ele alınan tüm konuların listesi.
Chrome 146
- OpenGL ES 3.1'de WebGPU uyumluluk modunu destekleme
- Geçici ekler
- WGSL texture_and_sampler_let
- Dawn ile ilgili güncellemeler
Chrome 145
- WGSL subgroup_uniformity uzantısı
- Çalışanlarda deneysel senkron arabellek eşleme
- Dawn ile ilgili güncellemeler
Chrome 144
- WGSL subgroup_id uzantısı
- WGSL uniform_buffer_standard_layout uzantısı
- Linux'ta WebGPU
- Daha hızlı writeBuffer ve writeTexture
- Dawn ile ilgili güncellemeler
Chrome 143
- Doku bileşeni karıştırması
- bgra8unorm salt okunur depolama dokusu kullanımını kaldırma
- Dawn ile ilgili güncellemeler
Chrome 142
Chrome 141
- Tint IR tamamlandı
- WGSL derleyicisinde tam sayı aralığı analizi
- Vulkan arka ucu için SPIR-V 1.4 güncellemesi
- Dawn ile ilgili güncellemeler
Chrome 140
- Cihaz istekleri adaptörü tüketiyor
- Doku görünümünün kullanıldığı yerlerde doku kullanmak için kısa yol
- WGSL textureSampleLevel, 1 boyutlu dokuları destekler
- bgra8unorm salt okunur depolama dokusu kullanımını kullanımdan kaldırma
- GPUAdapter isFallbackAdapter özelliğini kaldırın
- Dawn ile ilgili güncellemeler
Chrome 139
- BC ve ASTC sıkıştırılmış biçimleri için 3D doku desteği
- Yeni "temel özellikler ve sınırlar" özelliği
- WebGPU uyumluluk modu için deneme süreci
- Dawn ile ilgili güncellemeler
Chrome 138
- Arabellek bağlama kaynağı olarak kullanma için kısa yol
- Oluşturma sırasında eşlenen arabellekler için boyut şartı değişiklikleri
- Yakın tarihli GPU'lar için mimari raporu
- GPUAdapter isFallbackAdapter özelliğinin desteğini sonlandırma
- Dawn ile ilgili güncellemeler
Chrome 137
- externalTexture bağlama için doku görünümünü kullanma
- Arabellekler, ofset ve boyut belirtilmeden kopyalanıyor
- Atomik işaretçi kullanarak WGSL workgroupUniformLoad
- GPUAdapterInfo powerPreference özelliği
- GPURequestAdapterOptions compatibilityMode özelliğini kaldırma
- Dawn ile ilgili güncellemeler
Chrome 136
- GPUAdapterInfo isFallbackAdapter özelliği
- D3D12'de gölgelendirici derleme süresinde iyileştirmeler
- Kanvas görüntülerini kaydetme ve kopyalama
- Artış uyumluluk modu kısıtlamaları
- Dawn ile ilgili güncellemeler
Chrome 135
- Boş bağlama grubu düzeniyle işlem hattı düzeni oluşturmaya izin verme
- Görüntü alanlarının, oluşturma hedefi sınırlarının ötesine geçmesine izin verme
- Android'de deneysel uyumluluk moduna daha kolay erişim
- maxInterStageShaderComponents sınırını kaldırma
- Dawn ile ilgili güncellemeler
Chrome 134
- Alt gruplarla makine öğrenimi iş yüklerini iyileştirme
- Karıştırılabilir olarak kayan filtrelenebilir doku türleri desteğini kaldırma
- Dawn ile ilgili güncellemeler
Chrome 133
- Ek unorm8x4-bgra ve 1 bileşenli köşe biçimleri
- Bilinmeyen sınırların tanımlanmamış değerle istenmesine izin verme
- WGSL hizalama kurallarında yapılan değişiklikler
- WGSL'de discard ile performans artışı
- Harici dokular için VideoFrame displaySize'ı kullanma
- copyExternalImageToTexture kullanarak varsayılan olmayan yönlere sahip resimleri işleme
- Geliştirici deneyimini iyileştirme
- featureLevel ile uyumluluk modunu etkinleştirme
- Deneysel alt grup özelliklerinde temizleme
- maxInterStageShaderComponents sınırının desteğini sonlandırma
- Dawn ile ilgili güncellemeler
Chrome 132
- Doku görünümü kullanımı
- 32 bit kayan noktalı doku karıştırma
- GPUDevice adapterInfo özelliği
- Geçersiz biçimle tuval bağlamı yapılandırıldığında JavaScript hatası oluşuyor
- Doku üzerinde filtreleme örnekleyici kısıtlamaları
- Genişletilmiş alt grup denemesi
- Geliştirici deneyimini iyileştirme
- 16 bit normalleştirilmiş doku biçimleri için deneysel destek
- Dawn ile ilgili güncellemeler
Chrome 131
- WGSL'de kırpma mesafeleri
- GPUCanvasContext getConfiguration()
- Nokta ve çizgi temel öğelerinde derinlik önyargısı olmamalıdır
- Alt gruplar için kapsayıcı tarama yerleşik işlevleri
- Çoklu çekme dolaylı desteği (deneysel)
- Shader modülü derleme seçeneği strict math
- GPUAdapter requestAdapterInfo() yöntemini kaldırın
- Dawn ile ilgili güncellemeler
Chrome 130
- Çift kaynaklı karıştırma
- Metal'de gölgelendirici derleme süresinde iyileştirmeler
- GPUAdapter requestAdapterInfo() yönteminin desteğinin sonlandırılması
- Dawn ile ilgili güncellemeler
Chrome 129
Chrome 128
- Alt gruplarla deneme yapma
- Çizgiler ve noktalar için derinlik önyargısı ayarını kullanımdan kaldırma
- preventDefault kullanılıyorsa yakalanmamış hata DevTools uyarısını gizleme
- WGSL, önce örnekleme interpolasyonu
- Dawn ile ilgili güncellemeler
Chrome 127
- Android'de OpenGL ES için deneysel destek
- GPUAdapter info özelliği
- WebAssembly birlikte çalışabilirlik iyileştirmeleri
- Komut kodlayıcı hatalarında iyileştirme
- Dawn ile ilgili güncellemeler
Chrome 126
- maxTextureArrayLayers sınırını artırma
- Vulkan arka ucu için arabellek yükleme optimizasyonu
- Gölgeleyici derleme süresinde iyileştirmeler
- Gönderilen komut arabellekleri benzersiz olmalıdır
- Dawn ile ilgili güncellemeler
Chrome 125
- Alt gruplar (geliştirme aşamasında olan bir özellik)
- 3D dokunun dilimine göre oluşturma
- Dawn ile ilgili güncellemeler
Chrome 124
- Salt okunur ve okuma-yazma depolama dokuları
- Hizmet çalışanı ve paylaşılan çalışan desteği
- Yeni adaptör bilgisi özellikleri
- Hata düzeltmeleri
- Dawn ile ilgili güncellemeler
Chrome 123
- WGSL'de DP4a yerleşik işlevleri desteği
- WGSL'de kısıtlanmamış işaretçi parametreleri
- WGSL'de bileşikleri referanssızlaştırmak için sözdizimi kolaylığı
- Şablon ve derinlik yönleri için ayrı salt okunur durum
- Dawn ile ilgili güncellemeler
Chrome 122
- Uyumluluk moduyla erişimi genişletme (geliştirme aşamasında olan bir özellik)
- Maksimum köşe özelliği sınırını artırma
- Dawn ile ilgili güncellemeler
Chrome 121
- Android'de WebGPU'yu destekleme
- Windows'da gölgelendirici derleme için FXC yerine DXC kullanma
- İşleme ve oluşturma geçişlerindeki zaman damgalı sorgular
- Shader modüllerine varsayılan giriş noktaları
- GPUExternalTexture renk alanı olarak display-p3'ü destekleme
- Bellek yığınları bilgileri
- Dawn ile ilgili güncellemeler
Chrome 120
- WGSL'de 16 bitlik kayan nokta değerleri için destek
- Sınırları zorlama
- Derinlik-şablon durumundaki değişiklikler
- Adaptör bilgisi güncellemeleri
- Zaman damgası sorgularının nicelleştirilmesi
- Bahar temizliği özellikleri
Chrome 119
- Filtrelenebilir 32 bit kayan nokta dokular
- unorm10-10-10-2 köşe biçimi
- rgb10a2uint doku biçimi
- Dawn ile ilgili güncellemeler
Chrome 118
copyExternalImageToTexture()içinde HTMLImageElement ve ImageData desteği- Okuma-yazma ve salt okunur depolama dokusu için deneysel destek
- Dawn ile ilgili güncellemeler
Chrome 117
- Köşe arabelleğini ayarlamayı kaldırma
- Bağlama grubunu kaldırma
- Cihaz kaybolduğunda eşzamansız işlem hattı oluşturma işlemindeki hataları sessize alma
- SPIR-V gölgelendirici modülü oluşturma güncellemeleri
- Geliştirici deneyimini iyileştirme
- Otomatik olarak oluşturulan düzene sahip işlem hatlarını önbelleğe alma
- Dawn ile ilgili güncellemeler
Chrome 116
- WebCodecs entegrasyonu
- GPUAdapter
requestDevice()tarafından döndürülen kayıp cihaz importExternalTexture()çağrılırsa video oynatmayı sorunsuz tutma- Spesifikasyon uygunluğu
- Geliştirici deneyimini iyileştirme
- Dawn ile ilgili güncellemeler
Chrome 115
- Desteklenen WGSL dil uzantıları
- Direct3D 11 için deneysel destek
- AC gücünde varsayılan olarak ayrı GPU kullanma
- Geliştirici deneyimini iyileştirme
- Dawn ile ilgili güncellemeler
Chrome 114
- JavaScript'i optimize etme
- Yapılandırılmamış tuvalde getCurrentTexture() işlevi InvalidStateError hatası veriyor
- WGSL güncellemeleri
- Dawn ile ilgili güncellemeler