Formatos DXGI necesarios
En este tema se presentan los requisitos que los niveles de características de Microsoft Direct3D colocan en el controlador de pantalla en modo de usuario.
Las columnas primera y segunda de la primera tabla muestran todos los tipos de formato Direct3D que el controlador debe admitir. En la tercera columna se muestran todos los valores constantes asociados de las enumeraciones de D3D10_FORMAT_SUPPORT direct3D o D3D11_FORMAT_SUPPORT que el controlador debe admitir. La cuarta columna muestra el nivel de característica mínimo de Direct3D en el que el controlador debe admitir cada formato.
En la segunda tabla se muestra el algoritmo de compatibilidad de Direct3D 10Level 9 para cada valor de enumeración.
Formato D3D9 (D3DDDIFMT_* o D3DDECLTYPE | Equivalente a la API D3D10+ (DXGI_FORMAT_) | Valores de enumeración D3D10_ o D3D11_ FORMAT_SUPPORT_* necesarios | Nivel mínimo necesario de Direct3D |
---|---|---|---|
A32B32G32R32F o D3DDECLTYPE_FLOAT4 | R32G32B32A32_FLOAT | IA_VERTEX_BUFFER TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD MIP MIP_AUTOGEN RENDER_TARGET CPU_LOCKABLE |
9_1 9_2 9_3 9_3 9_2 9_3 9_3 9_2 9_2 |
D3DDECLTYPE_FLOAT3 | R32G32B32_FLOAT | IA_VERTEX_BUFFER |
9_1 |
A16B16G16R16F o D3DDECLTYPE_FLOAT16_4 | R16G16B16A16_FLOAT | IA_VERTEX_BUFFER TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD MIP MIP_AUTOGEN RENDER_TARGET BLENDABLE CPU_LOCKABLE |
9_3 9_2 9_2 9_2 9_2 9_2 9_2 9_2 9_3 9_2 |
A16B16G16R16 o D3DDECLTYPE_USHORT4N | R16G16B16A16_UNORM | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET CPU_LOCKABLE |
9_2 9_2 9_2 9_2 9_2 9_2 9_2 9_2 9_2 |
Q16W16V16U16 o D3DDECLTYPE_SHORT4N | R16G16B16A16_SNORM | IA_VERTEX_BUFFER |
9_1 |
D3DDECLTYPE_SHORT4 | R16G16B16A16_SINT | IA_VERTEX_BUFFER |
9_1 |
G32R32F o D3DDECLTYPE_FLOAT2 | R32G32_FLOAT | IA_VERTEX_BUFFER TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD RENDER_TARGET CPU_LOCKABLE |
9_1 9_3 9_3 9_3 9_3 9_3 9_3 |
D3DDECLTYPE_UBYTE4 | R8G8B8A8_UINT | IA_VERTEX_BUFFER |
9_1 |
A8R8G8B8 o D3DDECLTYPE_UBYTE4N | R8G8B8A8_UNORM | IA_VERTEX_BUFFER TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET BLENDABLE CPU_LOCKABLE PANTALLA BACK_BUFFER_CAST |
9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 |
A8R8G8B8 | R8G8B8A8_UNORM_SRGB | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET BLENDABLE CPU_LOCKABLE PANTALLA BACK_BUFFER_CAST |
9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 |
Q8W8V8U8 | R8G8B8A8_SNORM | TEXTURE2D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 9_1 |
A8R8G8B8 | B8G8R8A8_UNORM | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET BLENDABLE CPU_LOCKABLE PANTALLA BACK_BUFFER_CAST |
9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 |
X8R8G8B8 | B8G8R8X8_UNORM | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET BLENDABLE CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 |
A8R8G8B8 | B8G8R8A8_UNORM_SRGB | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET BLENDABLE CPU_LOCKABLE PANTALLA BACK_BUFFER_CAST |
9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 |
X8R8G8B8 | B8G8R8X8_UNORM_SRGB | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET BLENDABLE CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 9_1 |
G16R16F o D3DDECLTYPE_FLOAT16_2 | R16G16_FLOAT | IA_VERTEX_BUFFER TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD MIP MIP_AUTOGEN RENDER_TARGET CPU_LOCKABLE |
9_3 9_2 9_2 9_2 9_2 9_2 9_2 9_2 9_2 |
G16R16 o D3DDECLTYPE_USHORT2N | R16G16_UNORM | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP MIP_AUTOGEN RENDER_TARGET CPU_LOCKABLE |
9_2 9_2 9_2 9_2 9_2 9_2 9_2 9_2 9_2 |
V16U16 o D3DDECLTYPE_SHORT2N | R16G16_SNORM | IA_VERTEX_BUFFER TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_1 9_1 9_2 9_2 9_1 9_2 9_1 9_1 |
D3DDECLTYPE_SHORT2 | R16G16_SINT | IA_VERTEX_BUFFER |
9_1 |
R32F o D3DDECLTYPE_FLOAT1 | R32_FLOAT | IA_VERTEX_BUFFER TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD MIP MIP_AUTOGEN RENDER_TARGET CPU_LOCKABLE |
9_1 9_2 9_2 9_2 9_2 9_2 9_2 9_2 9_2 |
R32_UINT | IA_INDEX_BUFFER |
9_1 |
|
S8D24 o D24S8 | D24_UNORM_S8_UINT | TEXTURE2D DEPTH_STENCIL |
9_1 9_1 |
L16 | R16_UNORM | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_2 9_2 9_2 9_2 9_2 9_2 9_2 |
R16_UINT | IA_INDEX_BUFFER |
9_1 |
|
D16 o D16_LOCKABLE | D16_UNORM | TEXTURE2D DEPTH_STENCIL |
9_1 9_1 |
V8U8 | R8G8_SNORM | TEXTURE2D SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 |
L8 | R8_UNORM | TEXTURE2D TEXTURE3D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 9_1 9_1 |
DXT1 | BC1_UNORM o BC1_UNORM_SRGB | TEXTURE2D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 9_1 |
DXT2 | BC2_UNORM o BC2_UNORM_SRGB | TEXTURE2D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 9_1 |
DXT4 | BC3_UNORM o BC3_UNORM_SRGB | TEXTURE2D TEXTURECUBE SHADER_LOAD SHADER_SAMPLE MIP CPU_LOCKABLE |
9_1 9_1 9_1 9_1 9_1 9_1 |
Valores de enumeración D3D10_ o D3D11_ FORMAT_SUPPORT_* necesarios | Algoritmo de compatibilidad en Direct3D 10Level 9 |
---|---|
BACK_BUFFER_CAST |
Se supone true para cualquier formato que admita DISPLAY. |
BLENDABLE |
Sin FORMATOP_NOALPHABLEND |
CPU_LOCKABLE |
Se supone siempre true. |
PANTALLA |
Codificado de forma rígida. |
IA_VERTEX_BUFFER |
D3DDTCAPS_* (consulte nota). |
MIP |
Sin FORMATOP_NOTEXCOORDWRAPNORMIP |
MIP_AUTOGEN |
(Consulte la siguiente nota.) |
RENDER_TARGET |
FORMATOP_OFFSCREEN_RENDERTARGET |
SHADER_LOAD |
Se presupone para todos los formatos que no son de profundidad. |
SHADER_SAMPLE |
(Consulte la siguiente nota.) |
TEXTURE2D |
FORMATOP_TEXTURE |
TEXTURE3D |
FORMATOP_VOLUMETEXTURE |
TEXTURECUBE |
FORMATOP_CUBETEXTURE |
Nota Estos son más detalles sobre los requisitos del algoritmo de soporte técnico en Direct3D 10Level 9:
- Los formatos de IA_VERTEX_BUFFER o IA_INDEX_BUFFER son compatibles con el procesamiento de vértices de software si no hay ninguna funcionalidad D3DDEVCAPS_HWTRANSFORMANDLIGHT.
- El formato TEXTURE2D también se puede deducir de que es un formato de galería de símbolos de profundidad.
- Para el formato SHADER_SAMPLE, el controlador debe admitir FORMATOP_TEXTURE, FORMATOP_VOLUMETEXTURE o FORMATOP_CUBETEXTURE, y no debe notificar FORMATOP_NOFILTER.
- Para el formato de MIP_AUTOGEN, Direct3D 10Level 9 genera sus propios mapas mip, por lo que requiere MIP, RENDER_TARGET y bits de TEXTURE2D.