Valve a ouvert un nouveau compilateur de shader pour les GPU AMD

Société de vannes suggéré La liste de diffusion des développeurs Mesa a un nouveau compilateur de shader ACO pour le pilote Vulkan RADV, positionnable comme alternative au compilateur de shader AMDGPU utilisé dans les pilotes OpenGL et Vulkan RadeonSI et RADV pour les puces graphiques AMD.
Une fois les tests terminés et la fonctionnalité finalisée, l’ACO devrait être proposé pour inclusion dans la composition principale de Mesa.

Le code proposé par Valve vise à fournir une génération de code aussi optimale que possible pour les shaders d'applications de jeux, ainsi qu'à atteindre une vitesse de compilation très élevée. Le compilateur de shader de Mesa utilise des composants LLVM, qui ne fournissent pas la vitesse de compilation souhaitée et ne permettent pas un contrôle total du flux de contrôle, ce qui a provoqué de graves erreurs dans le passé. De plus, l'abandon de LLVM permet de mettre en œuvre une analyse des écarts plus agressive et un contrôle plus fin de la charge des registres, ce qui vous permet de générer des exécutables plus efficaces.

ACO est écrit en C++, conçu pour la compilation JIT et utilise des structures de données itératives rapides, évitant les structures basées sur des pointeurs telles que les listes chaînées et les chaînes d'utilisation def. La représentation du code intermédiaire est entièrement basée sur SSA (Static Single Assignment) et permet l'allocation de registre en pré-calculant avec précision le registre en fonction du shader.

Actuellement, seuls les pixel (fragment) et les shaders de calcul sont pris en charge sur les GPU AMD discrets (dGPU VI+). Cependant, ACO collecte déjà correctement les shaders pour tous les jeux testés, y compris les shaders complexes de Shadow of the Tomb Raider et Wolfenstein II. Le prototype ACO proposé aux tests est presque deux fois plus rapide que le compilateur de shader AMDGPU en termes de vitesse de compilation et démontre une augmentation des FPS dans certains jeux lorsqu'ils sont exécutés sur des systèmes dotés du pilote RADV.

Valve a ouvert un nouveau compilateur de shader pour les GPU AMD

Valve a ouvert un nouveau compilateur de shader pour les GPU AMD

Source: opennet.ru

Ajouter un commentaire