> ## 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.

# D3D12_FEATURE_DATA_SHADER_MODEL

> Contains the supported shader model.

Contains the supported shader model.

## Syntax

```cpp theme={null}
typedef struct D3D12_FEATURE_DATA_SHADER_MODEL
{
    D3D_SHADER_MODEL HighestShaderModel;
} D3D12_FEATURE_DATA_SHADER_MODEL
```

### Members

*HighestShaderModel*\
Type: D3D\_SHADER\_MODEL

Specifies one member of [D3D\_SHADER\_MODEL](/reference/graphics/d3d12/enums/d3d_shader_model_public) that indicates the maximum supported shader model.

## Remarks

Refer to the enumeration constant *D3D12\_FEATURE\_SHADER\_MODEL* in the [D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public).

When used with the [ID3D12Device::CheckFeatureSupport](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_checkfeaturesupport_public) function, before calling the function initialize the *HighestShaderModel* field to the highest shader model that your application understands. After the function completes successfully, the *HighestShaderModel* field contains the highest shader model that is both supported by the device and no higher than the shader model passed in.

<Note>
  **ID3D12Device::CheckFeatureSupport** returns **E\_INVALIDARG** if *HighestShaderModel* isn't known by the current runtime. For that reason, we recommend that you call this in a loop with decreasing shader models to determine the highest supported shader model. Alternatively, use the caps checking helper to simplify this; see the blog post [Introducing a New API for Checking Feature Support in Direct3D 12](https://devblogs.microsoft.com/directx/introducing-a-new-api-for-checking-feature-support-in-direct3d-12/).
</Note>

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h\
**Library:** d3d12\_xs.lib or d3d12\_x.lib\
**Supported Platforms**: XBOX Series consoles and XBOX One family

## See Also

* [Core structures](https://learn.microsoft.com/en-us/windows/win32/direct3d12/direct3d-12-structures)
* [D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public)


## Related topics

- [D3D_SHADER_MODEL](/reference/graphics/d3d12/enums/d3d_shader_model_public.md)
- [D3D12_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public.md)
- [D3D12_FEATURE_DATA_D3D12_OPTIONS4](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options4_public.md)
- [D3D12_FEATURE_DATA_D3D12_OPTIONS1](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options1_public.md)
- [D3D12_FEATURE_DATA_SHADER_CACHE](/reference/graphics/d3d12/structs/d3d12_feature_data_shader_cache_public.md)
