mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 10:00:40 +00:00
Add a couple of utility functions for DXGI_FORMAT
This commit is contained in:
@@ -539,6 +539,42 @@ bool IsDepthFormat(DXGI_FORMAT f)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsTypelessFormat(DXGI_FORMAT f)
|
||||
{
|
||||
switch(f)
|
||||
{
|
||||
case DXGI_FORMAT_R32G32B32A32_TYPELESS:
|
||||
case DXGI_FORMAT_R32G32B32_TYPELESS:
|
||||
case DXGI_FORMAT_R16G16B16A16_TYPELESS:
|
||||
case DXGI_FORMAT_R32G32_TYPELESS:
|
||||
case DXGI_FORMAT_R32G8X24_TYPELESS:
|
||||
case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS:
|
||||
case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT:
|
||||
case DXGI_FORMAT_R10G10B10A2_TYPELESS:
|
||||
case DXGI_FORMAT_R8G8B8A8_TYPELESS:
|
||||
case DXGI_FORMAT_R16G16_TYPELESS:
|
||||
case DXGI_FORMAT_R32_TYPELESS:
|
||||
case DXGI_FORMAT_R24G8_TYPELESS:
|
||||
case DXGI_FORMAT_R24_UNORM_X8_TYPELESS:
|
||||
case DXGI_FORMAT_X24_TYPELESS_G8_UINT:
|
||||
case DXGI_FORMAT_R8G8_TYPELESS:
|
||||
case DXGI_FORMAT_R16_TYPELESS:
|
||||
case DXGI_FORMAT_R8_TYPELESS:
|
||||
case DXGI_FORMAT_BC1_TYPELESS:
|
||||
case DXGI_FORMAT_BC2_TYPELESS:
|
||||
case DXGI_FORMAT_BC3_TYPELESS:
|
||||
case DXGI_FORMAT_BC4_TYPELESS:
|
||||
case DXGI_FORMAT_BC5_TYPELESS:
|
||||
case DXGI_FORMAT_B8G8R8A8_TYPELESS:
|
||||
case DXGI_FORMAT_B8G8R8X8_TYPELESS:
|
||||
case DXGI_FORMAT_BC6H_TYPELESS:
|
||||
case DXGI_FORMAT_BC7_TYPELESS:
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsUIntFormat(DXGI_FORMAT f)
|
||||
{
|
||||
switch(f)
|
||||
@@ -628,6 +664,32 @@ DXGI_FORMAT GetDepthTypedFormat(DXGI_FORMAT f)
|
||||
return f;
|
||||
}
|
||||
|
||||
DXGI_FORMAT GetNonSRGBFormat(DXGI_FORMAT f)
|
||||
{
|
||||
switch(f)
|
||||
{
|
||||
case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB:
|
||||
return DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
case DXGI_FORMAT_BC1_UNORM_SRGB:
|
||||
return DXGI_FORMAT_BC1_UNORM;
|
||||
case DXGI_FORMAT_BC2_UNORM_SRGB:
|
||||
return DXGI_FORMAT_BC2_UNORM;
|
||||
case DXGI_FORMAT_BC3_UNORM_SRGB:
|
||||
return DXGI_FORMAT_BC3_UNORM;
|
||||
case DXGI_FORMAT_BC7_UNORM_SRGB:
|
||||
return DXGI_FORMAT_BC7_UNORM;
|
||||
case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB:
|
||||
return DXGI_FORMAT_B8G8R8A8_UNORM;
|
||||
case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB:
|
||||
return DXGI_FORMAT_B8G8R8X8_UNORM;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
DXGI_FORMAT GetSRGBFormat(DXGI_FORMAT f)
|
||||
{
|
||||
switch(f)
|
||||
|
||||
@@ -83,10 +83,12 @@ DXGI_FORMAT GetSnormTypedFormat(DXGI_FORMAT f);
|
||||
DXGI_FORMAT GetUIntTypedFormat(DXGI_FORMAT f);
|
||||
DXGI_FORMAT GetSIntTypedFormat(DXGI_FORMAT f);
|
||||
DXGI_FORMAT GetSRGBFormat(DXGI_FORMAT f);
|
||||
DXGI_FORMAT GetNonSRGBFormat(DXGI_FORMAT f);
|
||||
bool IsBlockFormat(DXGI_FORMAT f);
|
||||
bool IsDepthFormat(DXGI_FORMAT f);
|
||||
|
||||
bool IsUIntFormat(DXGI_FORMAT f);
|
||||
bool IsTypelessFormat(DXGI_FORMAT f);
|
||||
bool IsIntFormat(DXGI_FORMAT f);
|
||||
bool IsSRGBFormat(DXGI_FORMAT f);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user