
La révision 1.4.351 de Vulkan ajoute six extensions d’un coup, avec un impact direct sur le ray tracing et l’instrumentation GPU. Le changement le plus tangible concerne la gestion des géométries transparentes, un cas coûteux que l’API commence à traiter de façon bien plus efficace.
Vulkan 1.4.351 : l’opacity micromap cible le ray tracing transparent
La principale évolution côté rendu est VK_KHR_opacity_micromap. Cette extension vise les charges Vulkan en ray tracing qui utilisent des géométries transparentes, en évitant d’ajouter davantage de détails géométriques ou d’exécuter un any-hit shader pendant la traversée des rayons.
Concrètement, une application peut attacher une opacity micromap à une géométrie lors de la construction d’une structure d’accélération. Ces micromaps stockent les données d’opacité dans un format compressé, que l’implémentation Vulkan peut exploiter pour marquer des zones de triangles comme opaques, transparentes ou comme hit possible.
Khronos précise que le format découpe les triangles en sous-triangles, chacun recevant deux ou quatre valeurs d’opacité. Pour les moteurs qui manipulent beaucoup d’assets alpha-testés, c’est une piste claire pour réduire le coût de traversal sans dégrader la description des scènes.
Synchronisation plus fine et nouveaux outils AMD et Qualcomm
L’autre extension multi-constructeur de cette mise à jour est VK_EXT_shader_split_barrier. Elle scinde OpControlBarrier en OpControlBarrierArriveEXT et OpControlBarrierWaitEXT, ce qui permet de synchroniser l’exécution des sous-groupes à l’intérieur d’un workgroup sans obliger tous les sous-groupes à attendre avant de poursuivre un travail indépendant.
La version 1.4.351 ajoute aussi VK_AMD_gpa_interface. Cette extension expose l’interface GPU Performance API d’AMD pour les compteurs de performances globaux, les streaming performance monitors et les traces de threads SQTT sur les GPU Radeon.
Trois extensions pour Qualcomm
Qualcomm récupère de son côté trois ajouts : VK_QCOM_elapsed_timer_query, VK_QCOM_image_processing3 et VK_QCOM_shader_multiple_wait_queues. Le premier couvre les requêtes de temps écoulé, le second des opérations de traitement d’image pour des tâches comme l’upscaling et le sharpening, et le troisième fournit un indice au compilateur pour l’usage de plusieurs files d’attente d’attente dans les boucles.
NVIDIA a déjà référencé VK_KHR_opacity_micromap et VK_EXT_shader_split_barrier dans les notes de ses pilotes Vulkan Developer Beta, en Windows 596.50 et Linux 595.44.07. Cela donne un premier signal sur la vitesse d’adoption des deux extensions les plus immédiatement utiles côté moteurs 3D.
L’arrivée d’opacity micromaps dans le tronc commun Khronos est surtout intéressante pour les scènes riches en végétation, grillages, cheveux ou surfaces alpha-testées, là où le ray tracing perd vite en efficacité. Avec un support déjà visible chez NVIDIA, cette brique a de bonnes chances d’être exploitée rapidement dans les stacks orientées rendu temps réel.
Source : VideoCardz