今天程序突然跑步起来,诡异之极啊,说我的Device创建失败,之前还好好的呢,最后找出原因。
UINT createDeviceFlags = 0; #if defined(DEBUG) || defined(_DEBUG) createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG; #endif // 创建驱动对象 D3D11CreateDeviceAndSwapChain( NULL, D3D_DRIVER_TYPE_HARDWARE,//D3D_DRIVER_TYPE_REFERENCE, NULL, createDeviceFlags, &featureLevel, 1, D3D11_SDK_VERSION, &swapChainDesc, &mSwapChain, &mDevice, &mFeatureLevels, // 返回结果一直是 0 有毛用 &mImmediateContext );
问题就出现在createDeviceFlags这个参数
#if defined(DEBUG) || defined(_DEBUG) createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG; #endif
这个的意思是,让驱动支持debug,当然具体是神马就不清楚了。重要的是D3D11_CREATE_DEVICE_DEBUG 需要安装 Windows 8 SDK。
D3D11_CREATE_DEVICE_DEBUG Creates a device that supports the debug layer. To use this flag, you must have D3D11*SDKLayers.dll installed; otherwise, device creation fails. To get D3D11_1SDKLayers.dll, install the SDK for Windows 8.
如果装的 VS2012,默认装 Windows 8 SDK,就没这个问题了。
解决办法就是注释掉这段代码
相关推荐
【C++】D3D11 最新HOOK 源码支持X86_X64 【C++】D3D11 最新HOOK 源码支持X86_X64 【C++】D3D11 最新HOOK 源码支持X86_X64 【C++】D3D11 最新HOOK 源码支持X86_X64 【C++】D3D11 最新HOOK 源码支持X86_X64 【C++】D3...
2、D3D11利用D3D9传入的HANDLE使用OpenSharedResource来打开句柄实现D3D9到D3D11的数据传递 需要的库 1、NVAPI 安装完成后需要运行NVIDIA Capture SDK\bin目录下的NvFBCEnable.exe使能NVFBC抓屏 2、DXSDK_Jun10 坑...
windows mft d3d11渲染显示 播放器 键盘D删除播放器 键盘P 重新创建和播放视频
ffmpeg硬解码。windows下支持d3d9 d3d11硬件加速
在Qt5窗口显示D3D11的程序示例,运行前需要自己设置D3D11的环境和Qt5的环境。
采取三纹理方式使D3D可以直接渲染YUV数据
https://blog.csdn.net/zlyadvocate/article/details/118669454配套代码
dx11 的hook源码 内含x86 x64 hook任意函数的源码
D3D11初始化,一个最简单的D3D11应用程序。学习D3D的开始。
使用D3D11接口API以三纹理方式高效渲染显示YUV格式的视频数据
D3D11_ShadowMap
D3D11_Render
D3D11_Blur
D3D11_DerfferredShading
该示例用于演示D3D11中纹理的基础使用,包括完整的框架源代码及可执行程序。如果可执行程序运行有问题,请自行手动编译程序,有关操作请参考附带的使用说明。程序有任何问题或不解之处,欢迎提出~
D3D11_fire
基于Direct3D 11的字体系统,通过和GDI交互得到字体,可以方便的显示基本字符,占用帧率也很少。
D3D11绘制文本源码
WIN7放到windows SYSTEM32中就可以了
D3D11_Pick.rar