@@ -468,6 +468,61 @@ void test_format_support(void)
468
468
DXGI_FORMAT_P208 ,
469
469
DXGI_FORMAT_V208 ,
470
470
DXGI_FORMAT_V408 ,
471
+ /* DXGI_FORMAT_ASTC_4X4_TYPELESS */ (DXGI_FORMAT )0x85 ,
472
+ /* DXGI_FORMAT_ASTC_4X4_UNORM */ (DXGI_FORMAT )0x86 ,
473
+ /* DXGI_FORMAT_ASTC_4X4_UNORM_SRGB */ (DXGI_FORMAT )0x87 ,
474
+ /* DXGI_FORMAT_ASTC_4X4_FLOAT */ (DXGI_FORMAT )0x88 ,
475
+ /* DXGI_FORMAT_ASTC_5X4_TYPELESS */ (DXGI_FORMAT )0x89 ,
476
+ /* DXGI_FORMAT_ASTC_5X4_UNORM */ (DXGI_FORMAT )0x8a ,
477
+ /* DXGI_FORMAT_ASTC_5X4_UNORM_SRGB */ (DXGI_FORMAT )0x8b ,
478
+ /* DXGI_FORMAT_ASTC_5X5_TYPELESS */ (DXGI_FORMAT )0x8d ,
479
+ /* DXGI_FORMAT_ASTC_5X5_UNORM */ (DXGI_FORMAT )0x8e ,
480
+ /* DXGI_FORMAT_ASTC_5X5_UNORM_SRGB */ (DXGI_FORMAT )0x8f ,
481
+ /* DXGI_FORMAT_ASTC_5X5_FLOAT */ (DXGI_FORMAT )0x90 ,
482
+ /* DXGI_FORMAT_ASTC_6X5_TYPELESS */ (DXGI_FORMAT )0x91 ,
483
+ /* DXGI_FORMAT_ASTC_6X5_UNORM */ (DXGI_FORMAT )0x92 ,
484
+ /* DXGI_FORMAT_ASTC_6X5_UNORM_SRGB */ (DXGI_FORMAT )0x93 ,
485
+ /* DXGI_FORMAT_ASTC_6X5_FLOAT */ (DXGI_FORMAT )0x94 ,
486
+ /* DXGI_FORMAT_ASTC_6X6_TYPELESS */ (DXGI_FORMAT )0x95 ,
487
+ /* DXGI_FORMAT_ASTC_6X6_UNORM */ (DXGI_FORMAT )0x96 ,
488
+ /* DXGI_FORMAT_ASTC_6X6_UNORM_SRGB */ (DXGI_FORMAT )0x97 ,
489
+ /* DXGI_FORMAT_ASTC_6X6_FLOAT */ (DXGI_FORMAT )0x98 ,
490
+ /* DXGI_FORMAT_ASTC_8X5_TYPELESS */ (DXGI_FORMAT )0x99 ,
491
+ /* DXGI_FORMAT_ASTC_8X5_UNORM */ (DXGI_FORMAT )0x9a ,
492
+ /* DXGI_FORMAT_ASTC_8X5_UNORM_SRGB */ (DXGI_FORMAT )0x9b ,
493
+ /* DXGI_FORMAT_ASTC_8X5_FLOAT */ (DXGI_FORMAT )0x9c ,
494
+ /* DXGI_FORMAT_ASTC_8X6_TYPELESS */ (DXGI_FORMAT )0x9d ,
495
+ /* DXGI_FORMAT_ASTC_8X6_UNORM */ (DXGI_FORMAT )0x9e ,
496
+ /* DXGI_FORMAT_ASTC_8X6_UNORM_SRGB */ (DXGI_FORMAT )0x9f ,
497
+ /* DXGI_FORMAT_ASTC_8X6_FLOAT */ (DXGI_FORMAT )0xa0 ,
498
+ /* DXGI_FORMAT_ASTC_8X8_TYPELESS */ (DXGI_FORMAT )0xa1 ,
499
+ /* DXGI_FORMAT_ASTC_8X8_UNORM */ (DXGI_FORMAT )0xa2 ,
500
+ /* DXGI_FORMAT_ASTC_8X8_UNORM_SRGB */ (DXGI_FORMAT )0xa3 ,
501
+ /* DXGI_FORMAT_ASTC_8X8_FLOAT */ (DXGI_FORMAT )0xa4 ,
502
+ /* DXGI_FORMAT_ASTC_10X5_TYPELESS */ (DXGI_FORMAT )0xa5 ,
503
+ /* DXGI_FORMAT_ASTC_10X5_UNORM */ (DXGI_FORMAT )0xa6 ,
504
+ /* DXGI_FORMAT_ASTC_10X5_UNORM_SRGB */ (DXGI_FORMAT )0xa7 ,
505
+ /* DXGI_FORMAT_ASTC_10X5_FLOAT */ (DXGI_FORMAT )0xa8 ,
506
+ /* DXGI_FORMAT_ASTC_10X6_TYPELESS */ (DXGI_FORMAT )0xa9 ,
507
+ /* DXGI_FORMAT_ASTC_10X6_UNORM */ (DXGI_FORMAT )0xaa ,
508
+ /* DXGI_FORMAT_ASTC_10X6_UNORM_SRGB */ (DXGI_FORMAT )0xab ,
509
+ /* DXGI_FORMAT_ASTC_10X6_FLOAT */ (DXGI_FORMAT )0xac ,
510
+ /* DXGI_FORMAT_ASTC_10X8_TYPELESS */ (DXGI_FORMAT )0xad ,
511
+ /* DXGI_FORMAT_ASTC_10X8_UNORM */ (DXGI_FORMAT )0xae ,
512
+ /* DXGI_FORMAT_ASTC_10X8_UNORM_SRGB */ (DXGI_FORMAT )0xaf ,
513
+ /* DXGI_FORMAT_ASTC_10X8_FLOAT */ (DXGI_FORMAT )0xb0 ,
514
+ /* DXGI_FORMAT_ASTC_10X10_TYPELESS */ (DXGI_FORMAT )0xb1 ,
515
+ /* DXGI_FORMAT_ASTC_10X10_UNORM */ (DXGI_FORMAT )0xb2 ,
516
+ /* DXGI_FORMAT_ASTC_10X10_UNORM_SRGB */ (DXGI_FORMAT )0xb3 ,
517
+ /* DXGI_FORMAT_ASTC_10X10_FLOAT */ (DXGI_FORMAT )0xb4 ,
518
+ /* DXGI_FORMAT_ASTC_12X10_TYPELESS */ (DXGI_FORMAT )0xb5 ,
519
+ /* DXGI_FORMAT_ASTC_12X10_UNORM */ (DXGI_FORMAT )0xb6 ,
520
+ /* DXGI_FORMAT_ASTC_12X10_UNORM_SRGB */ (DXGI_FORMAT )0xb7 ,
521
+ /* DXGI_FORMAT_ASTC_12X10_FLOAT */ (DXGI_FORMAT )0xb8 ,
522
+ /* DXGI_FORMAT_ASTC_12X12_TYPELESS */ (DXGI_FORMAT )0xb9 ,
523
+ /* DXGI_FORMAT_ASTC_12X12_UNORM */ (DXGI_FORMAT )0xba ,
524
+ /* DXGI_FORMAT_ASTC_12X12_UNORM_SRGB */ (DXGI_FORMAT )0xbb ,
525
+ /* DXGI_FORMAT_ASTC_12X12_FLOAT */ (DXGI_FORMAT )0xbc ,
471
526
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE ,
472
527
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE ,
473
528
};
@@ -604,15 +659,23 @@ void test_format_support(void)
604
659
605
660
if (!unspecified_format )
606
661
{
607
- for (j = 0 ; j < ARRAY_SIZE (dxgi_format_list [k ].optional_formats ); ++ j )
662
+ /* ASTC format are optional */
663
+ if (all_formats [i ] >= /* DXGI_FORMAT_ASTC_4X4_TYPELESS */ (DXGI_FORMAT )0x85 &&
664
+ all_formats [i ] <= /* DXGI_FORMAT_ASTC_12X12_FLOAT */ (DXGI_FORMAT )0xbc )
665
+ optional_format = true;
666
+
667
+ if (!optional_format )
608
668
{
609
- // Fixed size list with only part of the list filled
610
- if (dxgi_format_list [k ].optional_formats [j ] == DXGI_FORMAT_UNKNOWN )
611
- break ;
612
- if (dxgi_format_list [k ].optional_formats [j ] == all_formats [i ])
669
+ for (j = 0 ; j < ARRAY_SIZE (dxgi_format_list [k ].optional_formats ); ++ j )
613
670
{
614
- optional_format = true;
615
- break ;
671
+ // Fixed size list with only part of the list filled
672
+ if (dxgi_format_list [k ].optional_formats [j ] == DXGI_FORMAT_UNKNOWN )
673
+ break ;
674
+ if (dxgi_format_list [k ].optional_formats [j ] == all_formats [i ])
675
+ {
676
+ optional_format = true;
677
+ break ;
678
+ }
616
679
}
617
680
}
618
681
}
0 commit comments