Direct3D 12 Graphics Hardware Feature Levels

 

To handle the diversity of video cards in new and existing machines, Microsoft Direct3D 11 introduced the concept of feature levels. Each video card implements a certain level of Microsoft DirectX (DX) functionality depending on the graphics processing units (GPUs) installed. A feature level is a well defined set of GPU functionality. For instance, the 11_0 feature level implements the functionality that was implemented in Direct3D 11.

 

Now when you create a device, you can attempt to create a device for the feature level that you want to request. If the device creation works, that feature level exists, if not, the hardware does not support that feature level. You can either try to recreate a device at a lower feature level or you can choose to exit the application.

 

The basic properties of feature levels are:

  • All Direct3D 12 drivers will be Feature Level 11.0 or better.
  • A GPU that allows a device to be created meets or exceeds the functionality of that feature level.
  • A feature level always includes the functionality of previous or lower feature levels.
  • A feature level does not imply performance, only functionality. Performance is dependent on hardware implementation.
  • A feature level is chosen when you call D3D12CreateDevice.
  • For more detailed information on supported features (especially those marked Optional in the table below, which means that the hardware might support the feature but is not required to) call CheckFeatureSupport.

For information about limitations creating non-hardware type devices on certain feature levels, see Limitations Creating WARP and Reference Devices. For more information on the introduction of feature levels, refer to the Direct3D 11 documentation on Direct3D feature levels.


Numbering Systems

Hardware feature levels are not the same as API versions. For example, there is a D3D11.3 API, but there is no 11_3 hardware feature level. Feature levels are defined in the D3D_FEATURE_LEVEL enum.

There are three distinct numbering systems:

  • Direct3D versions use a period; for example, Direct3D 12.0.
  • Shader models use a period; for example, shader model 5.1.
  • Feature levels use an underscore; for example, feature level 12_0


Feature Level Support

The following features are available for each Direct3D feature level.

The headings across the top row are Direct3D feature levels. The headings in the left-hand column are features.

Feature \ Feature Level

12_1⁰

12_0⁰

11_1¹

11_0

Shader Model

5.15.15.1²5.1²

Resource Binding Tier

Tier2³Tier2³Tier1³Tier1³

Tiled Resources

Tier2³Tier2³OptionalOptional

Conservative Rasterization

Tier1³OptionalOptionalNo

Rasterizer Ordered Views

YesOptionalOptionalNo

Min/Max Filters

YesYesOptionalNo

Map Default Buffer

OptionalOptionalOptionalOptional

Shader Specified Stencil Reference Value

OptionalOptionalOptionalNo

Typed Unordered Access View Loads

18 formats, more optional18 formats, more optional3 formats, more optional3 formats, more optional

Geometry Shader

YesYesYesYes

Stream Out

YesYesYesYes

DirectCompute / Compute Shader

YesYesYesYes

Hull and Domain Shaders

YesYesYesYes

Texture Resource Arrays

YesYesYesYes

Cubemap Resource Arrays

YesYesYesYes

BC1 to BC7 Compression

YesYesYesYes

Alpha-to-coverage

YesYesYesYes

Logic Operations (Output Merger)

YesYesYesOptional

Target-independent rasterization

YesYesYesNo

Multiple render target(MRT) with ForcedSampleCount 1

YesYesYesOptional

Max forced sample count for UAV-only rendering

1616168

Max Texture Dimension

16384163841638416384

Max Cubemap Dimension

16384163841638416384

Max Volume Extent

2048204820482048

Max Texture Repeat

16384163841638416384

Max Anisotropy

16161616

Max Primitive Count

2^32 – 12^32 – 12^32 – 12^32 – 1

Max Vertex Index

2^32 – 12^32 – 12^32 – 12^32 – 1

Max Input Slots

32323232

Simultaneous Render Targets

8888

Occlusion Queries

YesYesYesYes

Separate Alpha Blend

YesYesYesYes

Mirror Once

YesYesYesYes

Overlapping Vertex Elements

YesYesYesYes

Independent Write Masks

YesYesYesYes

Instancing

YesYesYesYes

 

  • Requires the Direct3D 11.3 or Direct3D 12 runtime.
  • Requires the Direct3D 11.1 runtime.
  • Shader model 5.0 can optionally support double-precision shaders, extended double-precision shaders, the SAD4shader instruction, and partial-precision shaders. To determine the shader model 5.0 options that are available, call ID3D12Device::CheckFeatureSupport. Some compatibility depends on what hardware you are running on: Shader model 5.1 is only supported on hardware that supports the DirectX 12 API, regardless of the feature level that's being used. DirectX 11 hardware only supports up to shader model 5.0. The DirectX 12 API only goes down to feature level 11_0.
  • Higher tiers are optional.
  • Feature levels 12.0 and 12.1 require the Direct3D 11.3 or Direct3D 12 runtime.
  • Feature level 11.1 requires the Direct3D 11.1 runtime.
  • Feature level 11.0 requires the Direct3D 11.0 runtime


以上参数说明:
DirectX 11、12 API桌面窗口管理器(DWM)使用最大表面分辨率为16k,也就是说垂直或者水平的像素不能超过16384

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Direct3D是由Microsoft开发的一种图形API,用于在Windows平台上实现图形渲染功能。Direct3D的源代码是指Direct3D库的实现源代码,这些源代码涵盖了Direct3D的各种功能和算法。Direct3D源码是机密的,并且不可公开,只有经过授权的开发人员才能访问和使用。 Direct3D的源代码提供了对图形硬件的底层访问,开发人员可以使用这些源代码构建图形应用程序,并实现图形渲染、投影、纹理映射、光照等各种图形效果。Direct3D源代码包括了底层的图形操作、纹理管理、三维空间计算等算法,以及与硬件交互的接口。 Direct3D源代码的访问受到严格的控制,只有合作伙伴或授权的开发人员才能查看和修改它。这样可以保护Direct3D的安全性,防止源代码被滥用或恶意利用。通过合理授权和许可,开发人员可以获得Direct3D源代码的访问权,并根据自己的需要进行定制和优化。 Direct3D源代码的使用需要一定的专业知识和经验,开发人员需要熟悉图形编程和底层硬件操作的相关知识。通过研究和理解Direct3D源代码,开发人员可以深入了解Direct3D的工作原理,并开发出更高效、更强大的图形应用程序。 总之,Direct3D源代码是实现Direct3D功能的基础,它提供了底层的图形操作和算法实现。通过合法的授权和许可,开发人员可以使用Direct3D源代码进行图形应用程序的开发和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zuozewei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值