Annulla impostazione buffer vertice
Se passi null
anziché GPUBuffer
a setVertexBuffer()
su GPURenderPassEncoder
o GPURenderBundleEncoder
, puoi annullare l'impostazione di un buffer del vertice impostato in precedenza in una determinata area. Vedi issue 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 impostazione gruppo di associazione
Se passi null
anziché GPUBindGroup
a setBindGroup()
su GPURenderPassEncoder
o GPURenderBundleEncoder
, puoi annullare l'impostazione di un gruppo di associazione impostato in precedenza in un determinato spazio. Vedi issue dawn:1675.
// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);
// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);
Silenzia gli errori della creazione di pipeline asincrone in caso di perdita del dispositivo
I metodi createComputePipelineAsync()
e createRenderPipelineAsync()
di GPUDevice
restituiscono una promessa che si risolve al termine della creazione della pipeline. D'ora in poi, gli errori della creazione asincrona della pipeline verranno silenziati quando GPUDevice
raggiunge lost
per far funzionare il più possibile i dispositivi smarriti. Vedi dawn issue:1874.
Aggiornamenti sulla creazione del modulo shabby di SPIR-V
La creazione di un modulo Shader SPIR-V con createShaderModule()
ora genera un TypeError, a meno che non esegui Chrome con il flag "Unsafe WebGPU Support" (Assistenza WebGPU non sicura) perché SPIR-V non fa parte della specifica WebGPU. Prima di questa modifica, utilizzando SPIR-V veniva generato un errore GPUInternalError.
Consulta la pagina Change chromium:4711911.
Migliorare l'esperienza degli sviluppatori
Il messaggio di errore relativo alla convalida per le associazioni di layout dei gruppi di associazione in Vertex Shader è stato migliorato per le associazioni del buffer di archiviazione in lettura/scrittura e per le associazioni di texture di archiviazione di sola scrittura. Vedi issue dawn:1883.
Memorizzazione nella cache delle pipeline con il layout generato automaticamente
Le pipeline create con createRenderPipeline({ layout: "auto" })
ora sfruttano i meccanismi di memorizzazione nella cache in Chrome. Significa che queste pipeline saranno create in modo più efficiente e utilizzeranno meno memoria. Vedi issue dawn:1933.
Aggiornamenti da Dawn
wgpu::RequestAdapterOptionsBackendType
ora fa parte di wgpu::RequestAdapterOptions
per consentire alle applicazioni di richiedere più facilmente un determinato backend quando ricevono un adattatore. Vedi l'esempio che segue e issue 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 change dawn:142465.
L'API webgpu.h C ha cambiato il tipo di valori booleani da stdbool
a WGPUBool
, che corrisponde a un uint32_t
. Questa modifica è stata apportata per garantire che l'API abbia un'ABI equivalente in C e C++.
Vengono trattati solo alcuni dei punti salienti. Consulta l'elenco completo dei commit.
Novità di WebGPU
Un elenco di tutti gli argomenti trattati nella serie Novità di WebGPU.
Chrome 125
- Sottogruppi (funzionalità in fase di sviluppo)
- Eseguire il rendering su una fetta di texture 3D
- Aggiornamenti dell'alba
Chrome 124
- Texture di archiviazione di sola lettura e lettura/scrittura
- Assistenza per i Service worker e i worker condivisi
- Nuovi attributi delle informazioni sull'adattatore
- Correzioni di bug
- Aggiornamenti dell'alba
Chrome 123
- Supporto delle funzioni integrate DP4a in WGSL
- Parametri puntatore senza limitazioni in WGSL
- zucchero della sintassi per dereferenziare i compositi in WGSL
- Stato di sola lettura separato per aspetti stencil e di profondità
- Aggiornamenti dell'alba
Chrome 122
- Espandi la copertura con la modalità di compatibilità (funzionalità in fase di sviluppo)
- Aumenta il limite maxVertexAttributes
- Aggiornamenti dell'alba
Guida introduttiva di Chrome
- Supporto di WebGPU su Android
- Usare DXC anziché FXC per la compilazione dello Shader su Windows
- Query di timestamp nelle tessere di calcolo e rendering
- Punti di contatto predefiniti per i moduli Shadr
- Supporto display-p3 come spazio colore GPUExternalTexture
- Informazioni sui heap di memoria
- Aggiornamenti dell'alba
Chrome 120
- Supporto per valori in virgola mobile a 16 bit in WGSL
- Supera i limiti
- Modifiche allo stato dello stencil di profondità
- Aggiornamenti alle informazioni sull'alimentatore
- Quantizzazione delle query dei timestamp
- Funzionalità per le pulizie di primavera
Chrome 119
- Trame fluttuanti a 32 bit filtrabili
- formato unorm10-10-10-2 vertex
- Formato trama Memcache10a2uint
- Aggiornamenti dell'alba
Chrome 118
- Supporto di HTMLImageElement e ImageData in
copyExternalImageToTexture()
- Supporto sperimentale per la texture di archiviazione in lettura/scrittura e in sola lettura
- Aggiornamenti dell'alba
Chrome 117
- Impostazione del buffer del vertex non impostata
- Annulla impostazione gruppo di associazione
- Silenziare gli errori della creazione di pipeline asincrone in caso di perdita del dispositivo
- Aggiornamenti alla creazione del modulo shabby di SPIR-V
- Migliorare l'esperienza degli sviluppatori
- Memorizzazione nella cache delle pipeline con il layout generato automaticamente
- Aggiornamenti dell'alba
Chrome 116
- Integrazione di WebCodecs
- Dispositivo smarrito restituito da GPUAdapter
requestDevice()
- Mantieni la riproduzione video fluida se viene chiamato
importExternalTexture()
- Conformità alle specifiche
- Migliorare l'esperienza degli sviluppatori
- Aggiornamenti dell'alba
Versione 115 di Chrome
- Estensioni in lingua WGSL supportate
- Supporto sperimentale per Direct3D 11
- Ricevi una GPU discreta per impostazione predefinita tramite alimentazione CA
- Migliorare l'esperienza degli sviluppatori
- Aggiornamenti dell'alba
Chrome 114
- Ottimizzare JavaScript
- getCurrentTexture() su canvas non configurati genera InvalidStateError
- Aggiornamenti di WGSL
- Aggiornamenti dell'alba