MCPcopy Create free account
hub / github.com/baldurk/renderdoc / ResourceFormat2DXGIFormat

Function ResourceFormat2DXGIFormat

renderdoc/common/dds_readwrite.cpp:483–674  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

481}
482
483DXGI_FORMAT ResourceFormat2DXGIFormat(ResourceFormat format)
484{
485 if(format.Special())
486 {
487 switch(format.type)
488 {
489 case ResourceFormatType::BC1:
490 return format.SRGBCorrected() ? DXGI_FORMAT_BC1_UNORM_SRGB : DXGI_FORMAT_BC1_UNORM;
491 case ResourceFormatType::BC2:
492 return format.SRGBCorrected() ? DXGI_FORMAT_BC2_UNORM_SRGB : DXGI_FORMAT_BC2_UNORM;
493 case ResourceFormatType::BC3:
494 return format.SRGBCorrected() ? DXGI_FORMAT_BC3_UNORM_SRGB : DXGI_FORMAT_BC3_UNORM;
495 case ResourceFormatType::BC4:
496 return format.compType == CompType::SNorm ? DXGI_FORMAT_BC4_SNORM : DXGI_FORMAT_BC4_UNORM;
497 case ResourceFormatType::BC5:
498 return format.compType == CompType::SNorm ? DXGI_FORMAT_BC5_SNORM : DXGI_FORMAT_BC5_UNORM;
499 case ResourceFormatType::BC6:
500 return format.compType == CompType::SNorm ? DXGI_FORMAT_BC6H_SF16 : DXGI_FORMAT_BC6H_UF16;
501 case ResourceFormatType::BC7:
502 return format.SRGBCorrected() ? DXGI_FORMAT_BC7_UNORM_SRGB : DXGI_FORMAT_BC7_UNORM;
503 case ResourceFormatType::R10G10B10A2:
504 if(format.BGRAOrder())
505 return DXGI_FORMAT_UNKNOWN;
506 return format.compType == CompType::UInt ? DXGI_FORMAT_R10G10B10A2_UINT
507 : DXGI_FORMAT_R10G10B10A2_UNORM;
508 case ResourceFormatType::R11G11B10: return DXGI_FORMAT_R11G11B10_FLOAT;
509 case ResourceFormatType::R5G6B5:
510 if(!format.BGRAOrder())
511 return DXGI_FORMAT_UNKNOWN;
512 return DXGI_FORMAT_B5G6R5_UNORM;
513 case ResourceFormatType::R5G5B5A1:
514 if(!format.BGRAOrder())
515 return DXGI_FORMAT_UNKNOWN;
516 return DXGI_FORMAT_B5G5R5A1_UNORM;
517 case ResourceFormatType::R9G9B9E5: return DXGI_FORMAT_R9G9B9E5_SHAREDEXP;
518 case ResourceFormatType::R4G4B4A4:
519 if(!format.BGRAOrder())
520 return DXGI_FORMAT_UNKNOWN;
521 return DXGI_FORMAT_B4G4R4A4_UNORM;
522 case ResourceFormatType::D24S8: return DXGI_FORMAT_D24_UNORM_S8_UINT;
523 case ResourceFormatType::D32S8: return DXGI_FORMAT_D32_FLOAT_S8X24_UINT;
524 case ResourceFormatType::S8: return DXGI_FORMAT_R8_UINT;
525 case ResourceFormatType::A8: return DXGI_FORMAT_A8_UNORM;
526 default:
527 case ResourceFormatType::R4G4:
528 case ResourceFormatType::D16S8:
529 case ResourceFormatType::ETC2:
530 case ResourceFormatType::EAC:
531 case ResourceFormatType::ASTC:
532 case ResourceFormatType::YUV8:
533 case ResourceFormatType::YUV10:
534 case ResourceFormatType::YUV12:
535 case ResourceFormatType::YUV16: return DXGI_FORMAT_UNKNOWN;
536 }
537 }
538
539 if(format.compCount == 4)
540 {

Callers 1

write_dds_to_fileFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected