我正在尝试创建一个D3D12设备,如
https://msdn.microsoft.com/en-us/library/dn899120%28v=vs.85%29.aspx
我有一个NVidia 670 gtx,Windows 10预览构建9926,最后10041 windows。
我还有最新的NVidia测试版驱动程序,GeForce的系统信息报告了DirectX12运行时。
呼叫
ID3D12Device* device;
HRESULT hr = D3D12CreateDevice(NULL, D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_HARDWARE,
D3D12_CREATE_DEVICE_FLAG::D3D12_CREATE_DEVICE_NONE,
D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_0, D3D12_SDK_VERSION, __uuidof(ID3D12Device), (void**)&device);返回一个带有非NOINTERFACE错误代码的HRESULT
奇怪的叫法:
ID3D12Object* device;
HRESULT hr = D3D12CreateDevice(NULL, D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_HARDWARE,
D3D12_CREATE_DEVICE_FLAG::D3D12_CREATE_DEVICE_NONE,
D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_0, D3D12_SDK_VERSION, __uuidof(ID3D12Object), (void**)&device);返回一个有效的对象,但我无法使用QueryInterface获得一个有效的设备对象。
请注意,我已经尝试使用LoadLibrary/GetProcAddress,而不是使用d3d12头,后者返回相同的错误代码。
发布于 2015-03-29 06:22:07
您应该始终使用相同的OS和SDK构建,因为API可以在不同版本之间进行更改。因为您对生成10041使用SDK,所以还应该将Windows10更新为Build 10041。打开Settings应用程序,搜索一个新的Windows 10生成并安装它。
https://stackoverflow.com/questions/29317356
复制相似问题