繁体   English   中英

D3D功能级别问题

[英]D3D Feature Level issue

有人可以向我解释一下,如果有人尝试使用比Users GPU支持的更高的d3d_feautre_level,会发生什么?

这是我不明白的地方,所以如果有人可以帮助我解决这个问题,我将不胜感激

创建Direct3D设备时,将提供应用程序支持的Direct3D硬件功能级别列表。 如果硬件不支持任何这些功能级别,则设备创建失败。

对于Direct3D 11,请为D3D11CreateDevice提供支持的功能级别作为第5和第6参数:

HRESULT D3D11CreateDevice(...
    const D3D_FEATURE_LEVEL *pFeatureLevels,
    UINT FeatureLevels,
    ...);

如果传递nullptr / 0,则默认为:

D3D_FEATURE_LEVEL lvl[] = {
    D3D_FEATURE_LEVEL_11_0,
    D3D_FEATURE_LEVEL_10_1, D3D_FEATURE_LEVEL_10_0,
    D3D_FEATURE_LEVEL_9_3, D3D_FEATURE_LEVEL_9_2, D3D_FEATURE_LEVEL_9_1 };

对于Direct3D 12, D3D12CreateDevice将您支持的最低Direct3D功能级别作为第二个参数:

HRESULT WINAPI D3D12CreateDevice(...
    D3D_FEATURE_LEVEL MinimumFeatureLevel,
    ...);

大多数应用程序最少使用D3D_FEATURE_LEVEL_11_0

Direct3D 12需要支持它的Windows 10和WDDM 2.0驱动程序。 目前没有适用于功能级别11.0以下的任何视频卡的设备驱动程序。

请参阅Direct3D功能级别
Direct3D 11创建设备的剖析
Direct3D 12创建设备的剖析

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM