Bien que la fonctionnalité décrite ci-dessous fonctionne avec toutes les données qui respectent les exigences d’alignement, elle est destinée à du contenu réorganisé hors ligne et s’avère plus efficace lorsqu’elle est associée à un tel contenu.
Contenu
- DSTORAGE_SWIZZLE_MODE_4K_4K_8K
- DSTORAGE_SWIZZLE_MODE_4K_12K_4K_4K_8K
- DSTORAGE_SWIZZLE_MODE_4K_4K_24K
- DSTORAGE_SWIZZLE_MODE_4K_12K_4K_12K
DSTORAGE_SWIZZLE_MODE_4K_4K_8K
Ce mode est destiné à être utilisé avec du contenu encodé en BC1. La taille du contenu non compressé doit être un multiple de 16KB. Ce mode suppose que les données sources sont regroupées par flux (c.-à-d. extrémités et index), ce qui améliore la compressibilité. Les données sources doivent également être compressées au moyen de Zlib ou de BCPack. Lorsque DSTORAGE_SWIZZLE_MODE_4K_4K_8K est fourni pour l’option DSTORAGE_REQUEST_OPTIONS::SwizzleMode, DirectStorage réorganise le contenu non compressé en mémoire en groupes entrelacés d’une taille de 16KB, à partir des données correspondantes du contenu regroupé. Chaque groupe de 16KB contient toutes les données du contenu BC1 d’origine, bien qu’elles soient toujours regroupées. Le contenu d’origine peut être entièrement reconstruit sur place à partir du groupe de 16KB au moyen d’un nuanceur de calcul (compute shader).
DSTORAGE_SWIZZLE_MODE_4K_12K_4K_4K_8K
Ce mode est destiné à être utilisé avec du contenu encodé en BC3. La taille du contenu non compressé doit être un multiple de 32KB. Ce mode suppose que les données sources sont regroupées par flux (c.-à-d. extrémités et index), ce qui améliore la compressibilité. Les données sources doivent également être compressées au moyen de Zlib ou de BCPack. Lorsque DSTORAGE_SWIZZLE_MODE_4K_12K_4K_4K_8K est fourni pour l’option DSTORAGE_REQUEST_OPTIONS::SwizzleMode, DirectStorage réorganise le contenu non compressé en mémoire en groupes entrelacés d’une taille de 32KB, à partir des données correspondantes du contenu regroupé. Chaque groupe de 32KB contient toutes les données du contenu BC3 d’origine, bien qu’elles soient toujours regroupées. Le contenu d’origine peut être entièrement reconstruit sur place à partir du groupe de 32KB au moyen d’un nuanceur de calcul (compute shader).
DSTORAGE_SWIZZLE_MODE_4K_4K_24K
Ce mode est destiné à être utilisé avec du contenu encodé en BC4. La taille du contenu non compressé doit être un multiple de 32KB. Ce mode suppose que les données sources sont regroupées par flux (c.-à-d. extrémités et index), ce qui améliore la compressibilité. Les données sources doivent également être compressées au moyen de Zlib ou de BCPack. Lorsque DSTORAGE_SWIZZLE_MODE_4K_4K_24K est fourni pour l’option DSTORAGE_REQUEST_OPTIONS::SwizzleMode, DirectStorage réorganise le contenu non compressé en mémoire en groupes entrelacés d’une taille de 32KB, à partir des données correspondantes du contenu regroupé. Chaque groupe de 32KB contient toutes les données du contenu BC4 d’origine, bien qu’elles soient toujours regroupées. Le contenu d’origine peut être entièrement reconstruit sur place à partir du groupe de 32KB au moyen d’un nuanceur de calcul (compute shader).
DSTORAGE_SWIZZLE_MODE_4K_12K_4K_12K
Ce mode est destiné à être utilisé avec du contenu encodé en BC5. La taille du contenu non compressé doit être un multiple de 32KB. Ce mode suppose que les données sources sont regroupées par flux (c.-à-d. extrémités et index), ce qui améliore la compressibilité. Les données sources doivent également être compressées au moyen de Zlib ou de BCPack. Lorsque DSTORAGE_SWIZZLE_MODE_4K_12K_4K_12K est fourni pour l’option DSTORAGE_REQUEST_OPTIONS::SwizzleMode, DirectStorage réorganise le contenu non compressé en mémoire en groupes entrelacés d’une taille de 32KB, à partir des données correspondantes du contenu regroupé. Chaque groupe de 32KB contient toutes les données du contenu BC5 d’origine, bien qu’elles soient toujours regroupées. Le contenu d’origine peut être entièrement reconstruit sur place à partir du groupe de 32KB au moyen d’un nuanceur de calcul (compute shader).
