Skip to content

Retire support for Direct3D Feature Level 9.x #657

Description

@walbourn

The DirectX Tool Kit for DX11 supports D3D_FEATURE_LEVEL_9_1 devices for most implementations, using 2_4_0_level_9_1 when building shaders. This generates both a Shader Model 2 and Shader Model 4 version of the shader blob.

Newer features like NormalMapEffect, PBREffect, and PostProcess requires D3D_FEATURE_LEVEL_10_0 or higher because they make use of Shader Model 4 features.

The motivation for supporting Direct3D 9.x feature levels dates back to the Surface RT ARM32 devices and is the lowest supported feature level for all Windows Vista+ systems using WDDM drivers. At this point, however, there are no Windows devices in use that require 9.x support, and by dropping it we can minimize some code branching and reduce the overall size of the shader blobs included in the library (545k -> 278k).

Note we want to stick with D3D_FEATURE_LEVEL_10_0 rather than use D3D_FEATURE_LEVEL_11 to support 'app mode' for UWP on Xbox One. I could use D3D_FEATURE_LEVEL_10_1, but there's really no case where that difference matters much for the toolkit.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions