7 std::uint32_t search_flags,
16 return texture_format::RGBA32F;
18 return texture_format::RGBA16F;
25 return texture_format::RG32F;
27 return texture_format::RG16F;
28 if(accept_padding && accept_half &&
is_format_supported(type_flags, texture_format::RGBA16F))
29 return texture_format::RGBA16F;
30 if(accept_padding && accept_full &&
is_format_supported(type_flags, texture_format::RGBA32F))
31 return texture_format::RGBA32F;
35 if(accept_padding && accept_half &&
is_format_supported(type_flags, texture_format::RGBA16F))
36 return texture_format::RGBA16F;
37 if(accept_padding && accept_full &&
is_format_supported(type_flags, texture_format::RGBA32F))
38 return texture_format::RGBA32F;
46 return texture_format::R32F;
48 return texture_format::R16F;
50 return texture_format::RG16F;
52 return texture_format::RG32F;
53 if(accept_padding && accept_half &&
is_format_supported(type_flags, texture_format::RGBA16F))
54 return texture_format::RGBA16F;
55 if(accept_padding && accept_full &&
is_format_supported(type_flags, texture_format::RGBA32F))
56 return texture_format::RGBA32F;
60 if(accept_padding && accept_half &&
is_format_supported(type_flags, texture_format::RGBA16F))
61 return texture_format::RGBA16F;
62 if(accept_padding && accept_full &&
is_format_supported(type_flags, texture_format::RGBA32F))
63 return texture_format::RGBA32F;
67 return texture_format::Unknown;
71 std::uint32_t search_flags,
80 return texture_format::RGBA8;
82 return texture_format::BGRA8;
84 return texture_format::RGBA16;
86 return texture_format::RGB10A2;
88 return texture_format::RGB5A1;
93 return texture_format::RGBA8;
95 return texture_format::BGRA8;
97 return texture_format::RGB8;
99 return texture_format::RGB10A2;
101 return texture_format::RGBA16;
103 return texture_format::R5G6B5;
105 return texture_format::RGB5A1;
113 return texture_format::RG16;
117 return texture_format::RGB8;
119 return texture_format::RGBA8;
121 return texture_format::BGRA8;
123 return texture_format::RGB10A2;
125 return texture_format::RGBA16;
127 return texture_format::R5G6B5;
129 return texture_format::RGB5A1;
137 return texture_format::RGBA8;
139 return texture_format::BGRA8;
141 return texture_format::RGBA16;
143 return texture_format::RGB10A2;
145 return texture_format::RGB5A1;
154 return texture_format::R8;
158 return texture_format::RG16;
160 return texture_format::RGB8;
162 return texture_format::RGBA8;
164 return texture_format::BGRA8;
166 return texture_format::RGB10A2;
168 return texture_format::RGBA16;
170 return texture_format::R5G6B5;
172 return texture_format::RGB5A1;
178 return texture_format::A8;
182 return texture_format::RGBA8;
184 return texture_format::BGRA8;
186 return texture_format::RGBA16;
188 return texture_format::RGB10A2;
190 return texture_format::RGB5A1;
195 return texture_format::Unknown;
205 if(!requires_stencil)
208 return texture_format::D32F;
210 return texture_format::D24F;
215 if(!requires_stencil)
218 return texture_format::D32;
220 return texture_format::D24;
222 return texture_format::D16;
227 return texture_format::D24S8;
231 return texture_format::Unknown;
250 return texture_format::BC2;
252 return texture_format::BC3;
257 return texture_format::BC1;
280 return texture_format::Unknown;
382 case texture_format::BC1:
return "BC1";
383 case texture_format::BC2:
return "BC2";
384 case texture_format::BC3:
return "BC3";
385 case texture_format::BC4:
return "BC4";
386 case texture_format::BC5:
return "BC5";
387 case texture_format::BC6H:
return "BC6H";
388 case texture_format::BC7:
return "BC7";
389 case texture_format::ETC1:
return "ETC1";
390 case texture_format::ETC2:
return "ETC2";
391 case texture_format::ETC2A:
return "ETC2A";
392 case texture_format::ETC2A1:
return "ETC2A1";
393 case texture_format::PTC12:
return "PTC12";
394 case texture_format::PTC14:
return "PTC14";
395 case texture_format::PTC12A:
return "PTC12A";
396 case texture_format::PTC14A:
return "PTC14A";
397 case texture_format::PTC22:
return "PTC22";
398 case texture_format::PTC24:
return "PTC24";
399 case texture_format::ATC:
return "ATC";
400 case texture_format::ATCE:
return "ATCE";
401 case texture_format::ATCI:
return "ATCI";
402 case texture_format::ASTC4x4:
return "ASTC4x4";
403 case texture_format::ASTC5x4:
return "ASTC5x4";
404 case texture_format::ASTC5x5:
return "ASTC5x5";
405 case texture_format::ASTC6x5:
return "ASTC6x5";
406 case texture_format::ASTC6x6:
return "ASTC6x6";
407 case texture_format::ASTC8x5:
return "ASTC8x5";
408 case texture_format::ASTC8x6:
return "ASTC8x6";
409 case texture_format::ASTC8x8:
return "ASTC8x8";
410 case texture_format::ASTC10x5:
return "ASTC10x5";
411 case texture_format::ASTC10x6:
return "ASTC10x6";
412 case texture_format::ASTC10x8:
return "ASTC10x8";
413 case texture_format::ASTC10x10:
return "ASTC10x10";
414 case texture_format::ASTC12x10:
return "ASTC12x10";
415 case texture_format::ASTC12x12:
return "ASTC12x12";
417 case texture_format::Unknown:
return "Unknown";
419 case texture_format::R1:
return "R1";
420 case texture_format::A8:
return "A8";
421 case texture_format::R8:
return "R8";
422 case texture_format::R8I:
return "R8I";
423 case texture_format::R8U:
return "R8U";
424 case texture_format::R8S:
return "R8S";
425 case texture_format::R16:
return "R16";
426 case texture_format::R16I:
return "R16I";
427 case texture_format::R16U:
return "R16U";
428 case texture_format::R16F:
return "R16F";
429 case texture_format::R16S:
return "R16S";
430 case texture_format::R32I:
return "R32I";
431 case texture_format::R32U:
return "R32U";
432 case texture_format::R32F:
return "R32F";
433 case texture_format::RG8:
return "RG8";
434 case texture_format::RG8I:
return "RG8I";
435 case texture_format::RG8U:
return "RG8U";
436 case texture_format::RG8S:
return "RG8S";
437 case texture_format::RG16:
return "RG16";
438 case texture_format::RG16I:
return "RG16I";
439 case texture_format::RG16U:
return "RG16U";
440 case texture_format::RG16F:
return "RG16F";
441 case texture_format::RG16S:
return "RG16S";
442 case texture_format::RG32I:
return "RG32I";
443 case texture_format::RG32U:
return "RG32U";
444 case texture_format::RG32F:
return "RG32F";
445 case texture_format::RGB8:
return "RGB8";
446 case texture_format::RGB8I:
return "RGB8I";
447 case texture_format::RGB8U:
return "RGB8U";
448 case texture_format::RGB8S:
return "RGB8S";
449 case texture_format::RGB9E5F:
return "RGB9E5F";
450 case texture_format::BGRA8:
return "BGRA8";
451 case texture_format::RGBA8:
return "RGBA8";
452 case texture_format::RGBA8I:
return "RGBA8I";
453 case texture_format::RGBA8U:
return "RGBA8U";
454 case texture_format::RGBA8S:
return "RGBA8S";
455 case texture_format::RGBA16:
return "RGBA16";
456 case texture_format::RGBA16I:
return "RGBA16I";
457 case texture_format::RGBA16U:
return "RGBA16U";
458 case texture_format::RGBA16F:
return "RGBA16F";
459 case texture_format::RGBA16S:
return "RGBA16S";
460 case texture_format::RGBA32I:
return "RGBA32I";
461 case texture_format::RGBA32U:
return "RGBA32U";
462 case texture_format::RGBA32F:
return "RGBA32F";
463 case texture_format::B5G6R5:
return "B5G6R5";
464 case texture_format::R5G6B5:
return "R5G6B5";
465 case texture_format::BGRA4:
return "BGRA4";
466 case texture_format::RGBA4:
return "RGBA4";
467 case texture_format::BGR5A1:
return "BGR5A1";
468 case texture_format::RGB5A1:
return "RGB5A1";
469 case texture_format::RGB10A2:
return "RGB10A2";
470 case texture_format::RG11B10F:
return "RG11B10F";
472 case texture_format::UnknownDepth:
return "UnknownDepth";
474 case texture_format::D16:
return "D16";
475 case texture_format::D24:
return "D24";
476 case texture_format::D24S8:
return "D24S8";
477 case texture_format::D32:
return "D32";
478 case texture_format::D16F:
return "D16F";
479 case texture_format::D24F:
return "D24F";
480 case texture_format::D32F:
return "D32F";
481 case texture_format::D0S8:
return "D0S8";
483 case texture_format::Count:
return "Count";