À propos du projet
gpucontext est une bibliothèque d'infrastructure partagée pour l'écosystème gogpu, conçue pour faciliter le partage des ressources GPU entre plusieurs packages tout en évitant les dépendances circulaires. Elle fournit un ensemble d'interfaces typées et d'utilitaires qui permettent à différents composants d'interagir avec les périphériques GPU, les systèmes de fenêtrage et les fonctionnalités spécifiques à la plateforme.
Les capacités clés incluent :
- Gestion des ressources GPU : L'interface DeviceProvider permet l'injection de dépendances pour les périphériques GPU, les files d'attente et les adaptateurs, prenant en charge le partage typé sans l'utilisation de 'any'.
- Intégration de la fenêtre et de la plateforme : Les interfaces WindowProvider et PlatformProvider gèrent la géométrie des fenêtres, la mise à l'échelle DPI, l'accès au presse-papiers, les formes de curseur et la détection du thème système (mode sombre).
- Gestion des événements : EventSource et PointerEventSource fournissent des interfaces pour les entrées clavier, souris et tactiles, incluant un support spécialisé pour les langues CJK via les interfaces IME (Input Method Editor).
- Utilitaires de texture : Une interface Texture minimale ainsi que TextureUpdater et TextureRegionUpdater pour des téléchargements de textures GPU complets ou partiels efficaces.
- Personnalisation des fenêtres : Support de WindowChrome pour les fenêtres sans cadre, tests de collision personnalisés pour les barres de titre et basculement du plein écran au moment de l'exécution.
- Registre de backend : Un Registry[T] générique et thread-safe pour la sélection de backend basée sur la priorité.
La bibliothèque agit comme un pont entre les types WebGPU de bas niveau (via gputypes) et les frameworks de plus haut niveau comme gogpu, gg et ui.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.