> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CheckFeatureSupport

> Obtém informações sobre os recursos compatíveis com o driver gráfico atual. (ID3D12Device.CheckFeatureSupport)

Obtém informações sobre os recursos compatíveis com o driver gráfico atual.

## Sintaxe

```cpp theme={null}
HRESULT CheckFeatureSupport(
    D3D12_FEATURE Feature,
    void  pFeatureSupportData,
    UINT FeatureSupportDataSize
)
```

### Parâmetros

*Feature*\
Tipo: D3D12\_FEATURE

Uma constante da enumeração [D3D12\_FEATURE](/pt-BR/reference/graphics/d3d12/enums/d3d12_feature_public) que descreve os recursos cuja compatibilidade você deseja consultar.

*pFeatureSupportData \[in, out]*\
Tipo: void \*

Um ponteiro para uma estrutura de dados que corresponde ao valor do parâmetro <i>Feature</i>. Para determinar a estrutura de dados correspondente a cada constante, consulte [D3D12\_FEATURE](/pt-BR/reference/graphics/d3d12/enums/d3d12_feature_public).

*FeatureSupportDataSize*\
Tipo: UINT

O tamanho da estrutura apontada pelo parâmetro <i>pFeatureSupportData</i>.

### Valor retornado

Tipo: HRESULT

Retorna **S\_OK** se bem-sucedido. Retorna **E\_INVALIDARG** se um tipo de dados sem suporte for passado para o parâmetro <i>pFeatureSupportData</i> ou se uma incompatibilidade de tamanho for detectada no parâmetro <i>FeatureSupportDataSize</i>.

## Comentários

Como exemplo de uso, para verificar a compatibilidade com ray tracing, especifique a estrutura [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5](/pt-BR/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options5_public) no parâmetro <i>pFeatureSupportData</i>. Quando a função for concluída com êxito, acesse o campo <i>RaytracingTier</i> (que especifica a camada de ray tracing compatível) da estrutura **D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5** agora preenchida.

Para obter mais informações, consulte [Consulta de funcionalidades](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/capability-querying).

<h3><a id="Hardware_support_for_DXGI_Formats" /><a id="hardware_support_for_dxgi_formats" /><a id="HARDWARE_SUPPORT_FOR_DXGI_FORMATS" />Suporte de hardware para formatos DXGI</h3>
Para ver tabelas de formatos DXGI e recursos de hardware, consulte:

<ul>
  <li>
    [Suporte a formatos DXGI para hardware de nível de recurso 12.1 do Direct3D](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/hardware-support-for-direct3d-12-1-formats)
  </li>

  <li>
    [Suporte a formatos DXGI para hardware de nível de recurso 12.0 do Direct3D](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/hardware-support-for-direct3d-12-0-formats)
  </li>

  <li>
    [Suporte a formatos DXGI para hardware de nível de recurso 11.1 do Direct3D](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-11-1-feature-level-hardware)
  </li>

  <li>
    [Suporte a formatos DXGI para hardware de nível de recurso 11.0 do Direct3D](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-11-0-feature-level-hardware)
  </li>

  <li>
    [Suporte de hardware para formatos Direct3D 10Level9](https://learn.microsoft.com/en-us/previous-versions/ff471324\(v=vs.85\))
  </li>

  <li>
    [Suporte a formatos para hardware de nível de recurso 10.1 do Direct3D](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-10-1-hardware)
  </li>

  <li>
    [Suporte a formatos para hardware de nível de recurso 10.0 do Direct3D](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-10-0-hardware)
  </li>
</ul>

#### Exemplos

O exemplo [D3D1211on12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/working-samples) usa **ID3D12Device::CheckFeatureSupport** da seguinte maneira:

```cpp theme={null}
inline UINT8 D3D12GetFormatPlaneCount(
_In_ ID3D12Device* pDevice,
DXGI_FORMAT Format
)
{
D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = {Format};
if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))
{
return 0;
}
return formatInfo.PlaneCount;
}

```

## Requisitos

**Cabeçalho:** d3d12\_xs.h ou d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib ou d3d12\_x.lib\
**Plataformas compatíveis**: consoles XBOX Series e família XBOX One

## Confira também

[ID3D12Device](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [D3D12_FEATURE](/pt-BR/reference/graphics/d3d12/enums/d3d12_feature_public.md)
- [D3D12_FEATURE_DATA_SHADER_MODEL](/pt-BR/reference/graphics/d3d12/structs/d3d12_feature_data_shader_model_public.md)
- [D3D12_FEATURE_DATA_D3D12_OPTIONS5](/pt-BR/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options5_public.md)
- [D3D12_FEATURE_DATA_SHADER_CACHE](/pt-BR/reference/graphics/d3d12/structs/d3d12_feature_data_shader_cache_public.md)
- [D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY](/pt-BR/reference/graphics/d3d12/structs/d3d12_feature_data_command_queue_priority_public.md)
