Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
1dea8291
Commit
1dea8291
authored
Nov 18, 2008
by
Henri Verbeet
Committed by
Alexandre Julliard
Nov 18, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dxgi: Add a test for DXGID3D10CreateDevice().
parent
1988ed16
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
150 additions
and
0 deletions
+150
-0
configure
configure
+9
-0
configure.ac
configure.ac
+1
-0
Makefile.in
dlls/dxgi/tests/Makefile.in
+13
-0
device.c
dlls/dxgi/tests/device.c
+127
-0
No files found.
configure
View file @
1dea8291
...
...
@@ -24802,6 +24802,14 @@ dlls/dxgi/Makefile: dlls/dxgi/Makefile.in dlls/Makedll.rules"
ac_config_files
=
"
$ac_config_files
dlls/dxgi/Makefile"
ALL_MAKEFILES
=
"
$ALL_MAKEFILES
\\
dlls/dxgi/tests/Makefile"
test
"x
$enable_dxgi_tests
"
!=
xno
&&
ALL_TEST_DIRS
=
"
$ALL_TEST_DIRS
\\
dxgi/tests"
ALL_MAKEFILE_DEPENDS
=
"
$ALL_MAKEFILE_DEPENDS
dlls/dxgi/tests/Makefile: dlls/dxgi/tests/Makefile.in dlls/Maketest.rules"
ac_config_files
=
"
$ac_config_files
dlls/dxgi/tests/Makefile"
ALL_MAKEFILES
=
"
$ALL_MAKEFILES
\\
dlls/dxguid/Makefile"
test
"x
$enable_dxguid
"
!=
xno
&&
ALL_IMPLIB_DIRS
=
"
$ALL_IMPLIB_DIRS
\\
dxguid"
...
...
@@ -28159,6 +28167,7 @@ do
"dlls/dxerr8/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/dxerr8/Makefile" ;;
"dlls/dxerr9/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/dxerr9/Makefile" ;;
"dlls/dxgi/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/dxgi/Makefile" ;;
"dlls/dxgi/tests/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/dxgi/tests/Makefile" ;;
"dlls/dxguid/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/dxguid/Makefile" ;;
"dlls/faultrep/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/faultrep/Makefile" ;;
"dlls/fusion/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/fusion/Makefile" ;;
...
...
configure.ac
View file @
1dea8291
...
...
@@ -1840,6 +1840,7 @@ WINE_CONFIG_MAKEFILE([dlls/dxdiagn/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DL
WINE_CONFIG_MAKEFILE([dlls/dxerr8/Makefile],[dlls/Makeimplib.rules],[dlls],[ALL_IMPLIB_DIRS])
WINE_CONFIG_MAKEFILE([dlls/dxerr9/Makefile],[dlls/Makeimplib.rules],[dlls],[ALL_IMPLIB_DIRS])
WINE_CONFIG_MAKEFILE([dlls/dxgi/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/dxgi/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS])
WINE_CONFIG_MAKEFILE([dlls/dxguid/Makefile],[dlls/Makeimplib.rules],[dlls],[ALL_IMPLIB_DIRS])
WINE_CONFIG_MAKEFILE([dlls/faultrep/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/fusion/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
...
...
dlls/dxgi/tests/Makefile.in
0 → 100644
View file @
1dea8291
TOPSRCDIR
=
@top_srcdir@
TOPOBJDIR
=
../../..
SRCDIR
=
@srcdir@
VPATH
=
@srcdir@
TESTDLL
=
dxgi.dll
IMPORTS
=
dxgi kernel32
CTESTS
=
\
device.c
\
@MAKE_TEST_RULES@
@DEPENDENCIES@
# everything below this line is overwritten by make depend
dlls/dxgi/tests/device.c
0 → 100644
View file @
1dea8291
/*
* Copyright 2008 Henri Verbeet for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define COBJMACROS
#include "initguid.h"
#include "d3d10.h"
#include "wine/test.h"
HRESULT
WINAPI
DXGID3D10CreateDevice
(
HMODULE
d3d10core
,
IDXGIFactory
*
factory
,
IDXGIAdapter
*
adapter
,
UINT
flags
,
DWORD
arg5
,
void
**
device
);
static
IDXGIDevice
*
create_device
(
HMODULE
d3d10core
)
{
IDXGIDevice
*
dxgi_device
=
NULL
;
IDXGIFactory
*
factory
=
NULL
;
IDXGIAdapter
*
adapter
=
NULL
;
IUnknown
*
device
=
NULL
;
HRESULT
hr
;
hr
=
CreateDXGIFactory
(
&
IID_IDXGIFactory
,
(
void
*
)
&
factory
);
ok
(
SUCCEEDED
(
hr
),
"CreateDXGIFactory failed, hr %#x
\n
"
,
hr
);
if
(
FAILED
(
hr
))
goto
cleanup
;
hr
=
IDXGIFactory_EnumAdapters
(
factory
,
0
,
&
adapter
);
ok
(
SUCCEEDED
(
hr
),
"EnumAdapters failed, hr %#x
\n
"
,
hr
);
if
(
FAILED
(
hr
))
goto
cleanup
;
hr
=
DXGID3D10CreateDevice
(
d3d10core
,
factory
,
adapter
,
0
,
0
,
(
void
**
)
&
device
);
if
(
FAILED
(
hr
))
{
HMODULE
d3d10ref
;
trace
(
"Failed to create a HW device, trying REF
\n
"
);
IDXGIAdapter_Release
(
adapter
);
adapter
=
NULL
;
d3d10ref
=
LoadLibraryA
(
"d3d10ref.dll"
);
if
(
!
d3d10ref
)
{
trace
(
"d3d10ref.dll not available, unable to create a REF device
\n
"
);
goto
cleanup
;
}
hr
=
IDXGIFactory_CreateSoftwareAdapter
(
factory
,
d3d10ref
,
&
adapter
);
FreeLibrary
(
d3d10ref
);
ok
(
SUCCEEDED
(
hr
),
"CreateSoftwareAdapter failed, hr %#x
\n
"
,
hr
);
if
(
FAILED
(
hr
))
goto
cleanup
;
hr
=
DXGID3D10CreateDevice
(
d3d10core
,
factory
,
adapter
,
0
,
0
,
(
void
**
)
&
device
);
ok
(
SUCCEEDED
(
hr
),
"Failed to create a REF device, hr %#x
\n
"
,
hr
);
if
(
FAILED
(
hr
))
goto
cleanup
;
}
hr
=
IUnknown_QueryInterface
(
device
,
&
IID_IDXGIDevice
,
(
void
**
)
&
dxgi_device
);
ok
(
SUCCEEDED
(
hr
),
"Created device does not implement IDXGIDevice
\n
"
);
IUnknown_Release
(
device
);
cleanup:
if
(
adapter
)
IDXGIAdapter_Release
(
adapter
);
if
(
factory
)
IDXGIFactory_Release
(
factory
);
return
dxgi_device
;
}
static
void
test_device_interfaces
(
IDXGIDevice
*
device
)
{
IUnknown
*
obj
;
HRESULT
hr
;
if
(
SUCCEEDED
(
hr
=
IDXGIDevice_QueryInterface
(
device
,
&
IID_IUnknown
,
(
void
**
)
&
obj
)))
IUnknown_Release
(
obj
);
ok
(
SUCCEEDED
(
hr
),
"IDXGIDevice does not implement IUnknown
\n
"
);
if
(
SUCCEEDED
(
hr
=
IDXGIDevice_QueryInterface
(
device
,
&
IID_IDXGIObject
,
(
void
**
)
&
obj
)))
IUnknown_Release
(
obj
);
ok
(
SUCCEEDED
(
hr
),
"IDXGIDevice does not implement IDXGIObject
\n
"
);
if
(
SUCCEEDED
(
hr
=
IDXGIDevice_QueryInterface
(
device
,
&
IID_IDXGIDevice
,
(
void
**
)
&
obj
)))
IUnknown_Release
(
obj
);
ok
(
SUCCEEDED
(
hr
),
"IDXGIDevice does not implement IDXGIDevice
\n
"
);
if
(
SUCCEEDED
(
hr
=
IDXGIDevice_QueryInterface
(
device
,
&
IID_ID3D10Device
,
(
void
**
)
&
obj
)))
IUnknown_Release
(
obj
);
ok
(
SUCCEEDED
(
hr
),
"IDXGIDevice does not implement ID3D10Device
\n
"
);
}
START_TEST
(
device
)
{
HMODULE
d3d10core
=
LoadLibraryA
(
"d3d10core.dll"
);
IDXGIDevice
*
device
;
ULONG
refcount
;
if
(
!
d3d10core
)
{
win_skip
(
"d3d10core.dll not available, skipping tests
\n
"
);
return
;
}
device
=
create_device
(
d3d10core
);
if
(
!
device
)
{
skip
(
"Failed to create device, skipping tests
\n
"
);
FreeLibrary
(
d3d10core
);
return
;
}
test_device_interfaces
(
device
);
refcount
=
IDXGIDevice_Release
(
device
);
ok
(
!
refcount
,
"Device has %u references left
\n
"
,
refcount
);
FreeLibrary
(
d3d10core
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment