Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
cc69d463
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cc69d463
编写于
11月 28, 2013
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cmake: detect Direct 3D 11
上级
b43d6b68
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
96 addition
and
0 deletion
+96
-0
CMakeLists.txt
CMakeLists.txt
+6
-0
cmake/OpenCVDetectDirectX.cmake
cmake/OpenCVDetectDirectX.cmake
+14
-0
cmake/checks/directx.cpp
cmake/checks/directx.cpp
+70
-0
cmake/templates/cvconfig.h.in
cmake/templates/cvconfig.h.in
+6
-0
未找到文件。
CMakeLists.txt
浏览文件 @
cc69d463
...
...
@@ -155,6 +155,7 @@ OCV_OPTION(WITH_CLP "Include Clp support (EPL)" OFF
OCV_OPTION
(
WITH_OPENCL
"Include OpenCL Runtime support"
ON
IF
(
NOT IOS
)
)
OCV_OPTION
(
WITH_OPENCLAMDFFT
"Include AMD OpenCL FFT library support"
ON
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_OPENCLAMDBLAS
"Include AMD OpenCL BLAS library support"
ON
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_DIRECTX
"Include DirectX support"
ON IF WIN32
)
# OpenCV build components
...
...
@@ -428,6 +429,11 @@ if(WITH_OPENCL)
include
(
cmake/OpenCVDetectOpenCL.cmake
)
endif
()
# --- DirectX ---
if
(
WITH_DIRECTX
)
include
(
cmake/OpenCVDetectDirectX.cmake
)
endif
()
# --- Matlab/Octave ---
include
(
cmake/OpenCVFindMatlab.cmake
)
...
...
cmake/OpenCVDetectDirectX.cmake
0 → 100644
浏览文件 @
cc69d463
if
(
WIN32
)
try_compile
(
__VALID_DIRECTX
"
${
OpenCV_BINARY_DIR
}
"
"
${
OpenCV_SOURCE_DIR
}
/cmake/checks/directx.cpp"
OUTPUT_VARIABLE TRY_OUT
)
if
(
NOT __VALID_DIRECTX
)
return
()
endif
()
set
(
HAVE_DIRECTX ON
)
set
(
HAVE_D3D11 ON
)
set
(
HAVE_D3D10 ON
)
set
(
HAVE_D3D9 ON
)
endif
()
cmake/checks/directx.cpp
0 → 100644
浏览文件 @
cc69d463
#include <windows.h>
#include <d3d11.h>
#pragma comment (lib, "d3d11.lib")
HINSTANCE
g_hInst
=
NULL
;
D3D_DRIVER_TYPE
g_driverType
=
D3D_DRIVER_TYPE_NULL
;
D3D_FEATURE_LEVEL
g_featureLevel
=
D3D_FEATURE_LEVEL_11_0
;
ID3D11Device
*
g_pd3dDevice
=
NULL
;
ID3D11DeviceContext
*
g_pImmediateContext
=
NULL
;
IDXGISwapChain
*
g_pSwapChain
=
NULL
;
static
HRESULT
InitDevice
()
{
HRESULT
hr
=
S_OK
;
UINT
width
=
640
;
UINT
height
=
480
;
UINT
createDeviceFlags
=
0
;
D3D_DRIVER_TYPE
driverTypes
[]
=
{
D3D_DRIVER_TYPE_HARDWARE
,
D3D_DRIVER_TYPE_WARP
,
D3D_DRIVER_TYPE_REFERENCE
,
};
UINT
numDriverTypes
=
ARRAYSIZE
(
driverTypes
);
D3D_FEATURE_LEVEL
featureLevels
[]
=
{
D3D_FEATURE_LEVEL_11_0
,
D3D_FEATURE_LEVEL_10_1
,
D3D_FEATURE_LEVEL_10_0
,
};
UINT
numFeatureLevels
=
ARRAYSIZE
(
featureLevels
);
DXGI_SWAP_CHAIN_DESC
sd
;
ZeroMemory
(
&
sd
,
sizeof
(
sd
)
);
sd
.
BufferCount
=
1
;
sd
.
BufferDesc
.
Width
=
width
;
sd
.
BufferDesc
.
Height
=
height
;
sd
.
BufferDesc
.
Format
=
DXGI_FORMAT_R8G8B8A8_UNORM
;
sd
.
BufferDesc
.
RefreshRate
.
Numerator
=
60
;
sd
.
BufferDesc
.
RefreshRate
.
Denominator
=
1
;
sd
.
BufferUsage
=
DXGI_USAGE_RENDER_TARGET_OUTPUT
;
sd
.
OutputWindow
=
NULL
;
//g_hWnd;
sd
.
SampleDesc
.
Count
=
1
;
sd
.
SampleDesc
.
Quality
=
0
;
sd
.
Windowed
=
TRUE
;
for
(
UINT
driverTypeIndex
=
0
;
driverTypeIndex
<
numDriverTypes
;
driverTypeIndex
++
)
{
g_driverType
=
driverTypes
[
driverTypeIndex
];
hr
=
D3D11CreateDeviceAndSwapChain
(
NULL
,
g_driverType
,
NULL
,
createDeviceFlags
,
featureLevels
,
numFeatureLevels
,
D3D11_SDK_VERSION
,
&
sd
,
&
g_pSwapChain
,
&
g_pd3dDevice
,
&
g_featureLevel
,
&
g_pImmediateContext
);
if
(
SUCCEEDED
(
hr
))
break
;
}
if
(
FAILED
(
hr
))
return
hr
;
return
S_OK
;
}
int
main
(
int
/*argc*/
,
char
**
/*argv*/
)
{
InitDevice
();
return
0
;
}
cmake/templates/cvconfig.h.in
浏览文件 @
cc69d463
...
...
@@ -55,6 +55,12 @@
/* IEEE1394 capturing support - libdc1394 v2.x */
#cmakedefine HAVE_DC1394_2
/* DirectX */
#cmakedefine HAVE_DIRECTX
#cmakedefine HAVE_D3D11
#cmakedefine HAVE_D3D10
#cmakedefine HAVE_D3D9
/* DirectShow Video Capture library */
#cmakedefine HAVE_DSHOW
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录