Optimiser JavaScript
Les contributeurs Chromium ont accéléré les performances WebGPU pour les méthodes GPUComputePassEncoder
, GPURenderPassEncoder
et GPUCommandEncoder
en réduisant les frais d'appel du code généré dans le moteur JavaScript V8 vers les gestionnaires C++ dans le moteur de rendu Blink. Consultez problème chromium:1417558.
Le microbenchmark suivant montre que le temps CPU des appels de JavaScript passe d'environ 0,5 ms pour 10 000 tirages à environ 0,3 ms pour 10 000 tirages, soit une amélioration de 40 %.
getCurrentTexture() sur un canevas non configuré génère une erreur InvalidStateError
L'appel de la méthode getCurrentTexture()
GPUCanvasContext
sur un canevas non configuré génère désormais InvalidStateError
au lieu de OperationError
, conformément à la spécification WebGPU. Consultez le problème chromium:1424461.
const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError
Mises à jour WGSL
Les vecteurs remplis de zéro de AbstractInt peuvent désormais être écrits sous la forme vec2()
, vec3()
et vec4()
. Consultez issue tint:1892. Exemple :
vec2()
:vec2(0,0)
vec3()
:vec3(0,0,0)
vec4()
:vec4(0,0,0,0)
Mises à jour de l'aube
Améliorer les messages d'erreur
Les libellés de descripteur des objets non valides ne sont plus supprimés pour être visibles dans les messages d'erreur. Voir issue dawn:1771.
Ajouter les API manquantes pour Node.js
Les méthodes GPUAdapter::requestAdapterInfo()
et GPUBuffer::getMapState()
sont désormais implémentées pour Node.js. Voir issue dawn:1761.
Nouveautés de WebGPU
Liste des points abordés dans la série Nouveautés de WebGPU.
Chrome 125
- Sous-groupes (fonctionnalité en cours de développement)
- Effectuer le rendu sur une tranche de texture 3D
- Informations dès l'aube
Chrome 124
- Textures de stockage en lecture seule et en lecture/écriture
- Assistance pour les service workers et les workers partagés
- Nouveaux attributs d'informations sur l'adaptateur
- Corrections de bugs
- Informations dès l'aube
Chrome 123
- Compatibilité des fonctions intégrées DP4a en WGSL
- Paramètres de pointeur non restreints dans WGSL
- Sucre syntaxique pour déréférencer des composites en WGSL
- État en lecture seule distinct pour les aspects du pochoir et de la profondeur
- Informations dès l'aube
Chrome 122
- Élargir la couverture grâce au mode de compatibilité (fonctionnalité en développement)
- Augmenter la limite maxVertexAttributes
- Informations dès l'aube
Chrome 121
- Prendre en charge WebGPU sur Android
- Utiliser DXC au lieu de FXC pour la compilation de nuanceurs sous Windows
- Horodatage des requêtes dans les passes de calcul et de rendu
- Points d'entrée par défaut des modules de nuanceurs
- Prendre en charge display-p3 en tant qu'espace colorimétrique GPUExternalTexture
- Informations sur les segments de mémoire
- Informations dès l'aube
Chrome 120
- Compatibilité avec les valeurs à virgule flottante 16 bits dans WGSL
- Repoussez les limites
- Modifications de l'état du pochoir de profondeur
- Mises à jour des informations concernant l'adaptateur
- Quantification des requêtes d'horodatage
- Fonctionnalités de nettoyage de printemps
Chrome 119
- Textures flottantes 32 bits filtrables
- Format des sommets unorm10-10-10-2
- format de texture rgb10a2uint
- Informations dès l'aube
Chrome 118
- Compatibilité avec HTMLImageElement et ImageData dans
copyExternalImageToTexture()
- Compatibilité expérimentale avec la texture de stockage en lecture/écriture et en lecture seule
- Informations dès l'aube
Chrome 117
- Tampon des sommets non défini
- Groupe de liaisons non défini
- Couper le son des erreurs lors de la création asynchrone d'un pipeline en cas de perte d'un appareil
- Mises à jour apportées à la création du module de nuanceur SPIR-V
- Améliorer l'expérience des développeurs
- Mettre en cache des pipelines avec une mise en page générée automatiquement
- Informations dès l'aube
Chrome 116
- Intégration de WebCodecs
- Appareil perdu renvoyé par GPUAdapter
requestDevice()
- Assurer une lecture vidéo fluide si
importExternalTexture()
est appelé - Conformité aux spécifications
- Améliorer l'expérience des développeurs
- Informations dès l'aube
Chrome 115
- Extensions de langage WGSL compatibles
- Compatibilité expérimentale avec Direct3D 11
- Utiliser un GPU distinct par défaut sur secteur
- Améliorer l'expérience des développeurs
- Informations dès l'aube
Chrome 114
- Optimiser JavaScript
- getCurrentTexture() sur un canevas non configuré génère une erreur InvalidStateError
- Mises à jour WGSL
- Informations dès l'aube