Share via


Compression de mipmaps

Un certain nombre de mips (par tranche de tableau) peut être regroupé dans un certain nombre de vignettes, en fonction des dimensions, du format, du nombre de mipmaps et des tranches de tableau d’une ressource de diffusion en continu.

Selon le niveau de prise en charge des ressources de diffusion en continu, les mipmaps avec certaines dimensions ne suivent pas les formes de vignette standard et sont considérés comme étant regroupés les uns avec les autres d’une manière opaque pour l’application. Les niveaux de prise en charge supérieurs ont des garanties plus larges quant aux types de dimensions de surface qui s’intègrent dans les formes de vignette standard (et peuvent donc être mappés individuellement par les applications).

Ce qui peut varier d’une implémentation à l’autre, c’est que, étant donné les dimensions, le format, le nombre de mipmaps et de tranches de tableau d’une ressource de streaming, un certain nombre de M de mips (par tranche de tableau) peuvent être regroupés dans des vignettes nombre N. Lorsque vous obtenez les informations de mosaïsage des ressources pour un appareil, le pilote indique à l’application ce que sont M et N (entre autres détails sur la surface qui sont standard et ne varient pas selon le fournisseur de matériel). L’ensemble de vignettes pour les mips emballés est toujours de 64 Ko et peut être mappé individuellement à des emplacements disparates dans un pool de vignettes.

Mais la forme de pixel des vignettes et la façon dont les mipmaps s’ajustent dans l’ensemble de vignettes sont spécifiques à un fournisseur de matériel et trop complexes à exposer. Par conséquent, les applications doivent mapper toutes les vignettes désignées comme étant empaquetées, ou aucune d’entre elles, à la fois. Sinon, le comportement d’accès à la ressource de streaming n’est pas défini.

Pour les surfaces matricielles, l’ensemble de mips empaquetés et le nombre de vignettes empaquetées stockant ces mips (M et N décrits précédemment) s’appliquent individuellement pour chaque tranche de tableau.

Les API dédiées pour la copie de vignettes ne peuvent pas accéder aux mips pack. Les applications qui souhaitent copier des données vers et à partir de mips packés peuvent le faire à l’aide de toutes les API spécifiques aux ressources non de diffusion en continu pour la copie et le rendu sur des surfaces.

Restitution de la surface d’une ressource de diffusion en continu sous forme de mosaïque