Annulla l'impostazione del buffer dei vertici
Se passi null anziché un GPUBuffer a setVertexBuffer() su GPURenderPassEncoder o GPURenderBundleEncoder, puoi annullare l'impostazione di un buffer dei vertici impostato in precedenza in uno slot specifico. Vedi il problema dawn:1675.
// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);
// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);
Annulla l'impostazione del gruppo di binding
Se passi null anziché un GPUBindGroup a setBindGroup() su GPURenderPassEncoder o GPURenderBundleEncoder, puoi annullare l'impostazione di un gruppo di binding impostato in precedenza in uno slot specifico. Vedi il problema dawn:1675.
// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);
// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);
Disattiva gli errori dalla creazione della pipeline asincrona quando il dispositivo viene perso
I metodi createComputePipelineAsync() e createRenderPipelineAsync() di GPUDevice restituiscono una promessa che viene risolta al termine della creazione della pipeline. D'ora in poi, gli errori della creazione della pipeline asincrona verranno disattivati quando il GPUDevice è lost per fare in modo che i dispositivi persi sembrino funzionare il più possibile. Vedi il problema dawn:1874.
Aggiornamenti della creazione del modulo shader SPIR-V
La creazione di un modulo shader SPIR-V con createShaderModule() ora genera un errore TypeError, a meno che tu non esegui Chrome con il flag "Unsafe WebGPU Support", poiché SPIR-V non fa parte della specifica WebGPU. Prima di questa modifica, l'utilizzo di SPIR-V avrebbe causato la generazione di un GPUInternalError.
Vedi la modifica chromium:4711911.
Miglioramento dell'esperienza degli sviluppatori
Il messaggio di errore di convalida per i binding del layout del gruppo di binding nello shader dei vertici è stato migliorato per i binding del buffer di archiviazione in lettura/scrittura e della texture di archiviazione in sola scrittura. Vedi il problema dawn:1883.
Memorizzazione nella cache delle pipeline con layout generato automaticamente
Le pipeline create con createRenderPipeline({ layout: "auto" }) ora sfruttano i meccanismi di memorizzazione nella cache in Chrome. Ciò significa che queste pipeline verranno create in modo più efficiente e utilizzeranno meno memoria. Vedi il problema dawn:1933.
Aggiornamenti di Dawn
Il wgpu::RequestAdapterOptionsBackendType fa ora parte di wgpu::RequestAdapterOptions per consentire alle applicazioni di richiedere più facilmente un backend specifico quando ottengono un adattatore. Vedi l'esempio seguente e il problema dawn:1875.
wgpu::RequestAdapterOptions options = {
.backendType = wgpu::BackendType::D3D12};
// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);
Sono stati implementati diversi metodi aggiuntivi per Node.js. Vedi la modifica dawn:142465.
L'API C webgpu.h ha modificato il tipo per i valori booleani da stdbool a WGPUBool, che è un uint32_t. Questa modifica è stata apportata per garantire che l'API abbia un ABI equivalente in C e C++.
Questi sono solo alcuni dei punti salienti principali. Consulta l'elenco esaustivo dei commit.
Novità di WebGPU
Un elenco di tutti gli argomenti trattati nella serie Novità di WebGPU.
Chrome 149-150
Chrome 147-148
Chrome 146
- Supporto della modalità di compatibilità WebGPU su OpenGL ES 3.1
- Allegati temporanei
- Estensione WGSL texture_and_sampler_let
- Aggiornamenti di Dawn
Chrome 145
- Estensione WGSL subgroup_uniformity
- Mapping del buffer sincrono sperimentale nei worker
- Aggiornamenti di Dawn
Chrome 144
- Estensione WGSL subgroup_id
- Estensione WGSL uniform_buffer_standard_layout
- WebGPU su Linux
- writeBuffer e writeTexture più veloci
- Aggiornamenti di Dawn
Chrome 143
- Swizzle del componente texture
- Rimuovi l'utilizzo della texture di archiviazione in sola lettura bgra8unorm
- Aggiornamenti di Dawn
Chrome 142
Chrome 141
- Tint IR completato
- Analisi dell'intervallo di numeri interi nel compilatore WGSL
- Aggiornamento SPIR-V 1.4 per il backend Vulkan
- Aggiornamenti di Dawn
Chrome 140
- Le richieste di dispositivi utilizzano l'adattatore
- Abbreviazione per l'utilizzo della texture quando viene utilizzata la visualizzazione della texture
- WGSL textureSampleLevel supporta le texture 1D
- Deprecazione dell'utilizzo della texture di archiviazione in sola lettura bgra8unorm
- Rimuovi l'attributo GPUAdapter isFallbackAdapter
- Aggiornamenti di Dawn
Chrome 139
- Supporto delle texture 3D per i formati compressi BC e ASTC
- Nuova funzionalità "core-features-and-limits"
- Prova dell'origine per la modalità di compatibilità WebGPU
- Aggiornamenti di Dawn
Chrome 138
- Abbreviazione per l'utilizzo del buffer come risorsa di binding
- Modifiche ai requisiti di dimensione per i buffer mappati al momento della creazione
- Report sull'architettura per le GPU recenti
- Deprecazione dell'attributo GPUAdapter isFallbackAdapter
- Aggiornamenti di Dawn
Chrome 137
- Utilizza la visualizzazione della texture per il binding externalTexture
- Copia dei buffer senza specificare offset e dimensioni
- WGSL workgroupUniformLoad che utilizza il puntatore ad atomic
- Attributo GPUAdapterInfo powerPreference
- Rimuovi l'attributo GPURequestAdapterOptions compatibilityMode
- Aggiornamenti di Dawn
Chrome 136
- Attributo GPUAdapterInfo isFallbackAdapter
- Miglioramenti dei tempi di compilazione degli shader su D3D12
- Salva e copia le immagini del canvas
- Rimuovi le limitazioni della modalità di compatibilità
- Aggiornamenti di Dawn
Chrome 135
- Consenti la creazione del layout della pipeline con il layout del gruppo di binding null
- Consenti alle finestre di visualizzazione di estendersi oltre i limiti delle destinazioni di rendering
- Accesso più facile alla modalità di compatibilità sperimentale su Android
- Rimuovi il limite maxInterStageShaderComponents
- Aggiornamenti di Dawn
Chrome 134
- Migliora i carichi di lavoro di machine learning con i sottogruppi
- Rimuovi il supporto dei tipi di texture filtrabili in virgola mobile come combinabili
- Aggiornamenti di Dawn
Chrome 133
- Formati dei vertici unorm8x4-bgra e a 1 componente aggiuntivi
- Consenti di richiedere limiti sconosciuti con valore non definito
- Modifiche alle regole di allineamento WGSL
- Aumento del rendimento WGSL con discard
- Utilizza displaySize di VideoFrame per le texture esterne
- Gestisci le immagini con orientamenti non predefiniti utilizzando copyExternalImageToTexture
- Miglioramento dell'esperienza degli sviluppatori
- Attiva la modalità di compatibilità con featureLevel
- Pulizia delle funzionalità sperimentali dei sottogruppi
- Deprecazione del limite maxInterStageShaderComponents
- Aggiornamenti di Dawn
Chrome 132
- Utilizzo della visualizzazione della texture
- Blending delle texture in virgola mobile a 32 bit
- Attributo adapterInfo di GPUDevice
- La configurazione del contesto del canvas con un formato non valido genera un errore JavaScript
- Limitazioni del campionatore di filtri sulle texture
- Sperimentazione estesa dei sottogruppi
- Miglioramento dell'esperienza degli sviluppatori
- Supporto sperimentale per i formati di texture normalizzati a 16 bit
- Aggiornamenti di Dawn
Chrome 131
- Distanze di ritaglio in WGSL
- GPUCanvasContext getConfiguration()
- Le primitive di punti e linee non devono avere una distorsione della profondità
- Funzioni integrate di scansione inclusiva per i sottogruppi
- Supporto sperimentale per il disegno indiretto multiplo
- Opzione di compilazione del modulo shader strict math
- Rimuovi GPUAdapter requestAdapterInfo()
- Aggiornamenti di Dawn
Chrome 130
- Blending a doppia origine
- Miglioramenti dei tempi di compilazione degli shader su Metal
- Deprecazione di GPUAdapter requestAdapterInfo()
- Aggiornamenti di Dawn
Chrome 129
- Supporto HDR con la modalità di mappatura tonale del canvas
- Supporto esteso dei sottogruppi
- Aggiornamenti di Dawn
Chrome 128
- Sperimentazione con i sottogruppi
- Deprecazione dell'impostazione della distorsione della profondità per linee e punti
- Nascondi l'avviso di DevTools relativo agli errori non acquisiti se preventDefault
- WGSL interpolate sampling first and either
- Aggiornamenti di Dawn
Chrome 127
- Supporto sperimentale per OpenGL ES su Android
- Attributo info di GPUAdapter
- Miglioramenti dell'interoperabilità di WebAssembly
- Errori del codificatore di comandi migliorati
- Aggiornamenti di Dawn
Chrome 126
- Aumenta il limite maxTextureArrayLayers
- Ottimizzazione del caricamento dei buffer per il backend Vulkan
- Miglioramenti dei tempi di compilazione degli shader
- I buffer dei comandi inviati devono essere univoci
- Aggiornamenti di Dawn
Chrome 125
- Sottogruppi (funzionalità in fase di sviluppo)
- Rendering sulla sezione della texture 3D
- Aggiornamenti di Dawn
Chrome 124
- Texture di archiviazione in sola lettura e in lettura/scrittura
- Supporto di service worker e worker condivisi
- Nuovi attributi delle informazioni sull'adattatore
- Correzioni di bug
- Aggiornamenti di Dawn
Chrome 123
- Supporto delle funzioni integrate DP4a in WGSL
- Parametri del puntatore senza restrizioni in WGSL
- Zucchero sintattico per la dereferenziazione dei compositi in WGSL
- Stato di sola lettura separato per gli aspetti stencil e profondità
- Aggiornamenti di Dawn
Chrome 122
- Espandi la copertura con la modalità di compatibilità (funzionalità in fase di sviluppo)
- Aumenta il limite maxVertexAttributes
- Aggiornamenti di Dawn
Chrome 121
- Supporto di WebGPU su Android
- Utilizza DXC anziché FXC per la compilazione degli shader su Windows
- Query sui timestamp nei passaggi di calcolo e rendering
- Punti di ingresso predefiniti per i moduli shader
- Supporta display-p3 come spazio colore GPUExternalTexture
- Informazioni sugli heap di memoria
- Aggiornamenti di Dawn
Chrome 120
- Supporto dei valori in rappresentazione in virgola mobile a 16 bit in WGSL
- Spingiti oltre ai tuoi limiti
- Modifiche allo stato di profondità-stencil
- Aggiornamenti delle informazioni sull'adattatore
- Quantizzazione delle query sui timestamp
- Funzionalità di pulizia di primavera
Chrome 119
- Texture filtrabili in virgola mobile a 32 bit
- Formato dei vertici unorm10-10-10-2
- Formato della texture rgb10a2uint
- Aggiornamenti di Dawn
Chrome 118
- Supporto di HTMLImageElement e ImageData in
copyExternalImageToTexture() - Supporto sperimentale per la texture di archiviazione in lettura/scrittura e in sola lettura
- Aggiornamenti di Dawn
Chrome 117
- Annulla l'impostazione del buffer dei vertici
- Annulla l'impostazione del gruppo di binding
- Disattiva gli errori dalla creazione della pipeline asincrona quando il dispositivo viene perso
- Aggiornamenti della creazione del modulo shader SPIR-V
- Miglioramento dell'esperienza degli sviluppatori
- Memorizzazione nella cache delle pipeline con layout generato automaticamente
- Aggiornamenti di Dawn
Chrome 116
- Integrazione di WebCodecs
- Dispositivo perso restituito da GPUAdapter
requestDevice() - Mantieni la riproduzione video fluida se viene chiamato
importExternalTexture() - Conformità alle specifiche
- Miglioramento dell'esperienza degli sviluppatori
- Aggiornamenti di Dawn
Chrome 115
- Estensioni del linguaggio WGSL supportate
- Supporto sperimentale per Direct3D 11
- Ottieni la GPU discreta per impostazione predefinita quando è collegata all'alimentazione CA
- Miglioramento dell'esperienza degli sviluppatori
- Aggiornamenti di Dawn
Chrome 114
- Ottimizza JavaScript
- getCurrentTexture() su canvas non configurato genera InvalidStateError
- Aggiornamenti di WGSL
- Aggiornamenti di Dawn