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
5e3b4c87
Commit
5e3b4c87
authored
Apr 16, 2013
by
Henri Verbeet
Committed by
Alexandre Julliard
Apr 16, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3drm: Avoid LPDIRECT3DRM.
parent
1a551fe5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
55 deletions
+54
-55
d3drm.c
dlls/d3drm/tests/d3drm.c
+52
-53
d3drm.h
include/d3drm.h
+1
-1
d3drmobj.h
include/d3drmobj.h
+1
-1
No files found.
dlls/d3drm/tests/d3drm.c
View file @
5e3b4c87
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
static
HMODULE
d3drm_handle
=
0
;
static
HMODULE
d3drm_handle
=
0
;
static
HRESULT
(
WINAPI
*
pDirect3DRMCreate
)(
LPDIRECT3DRM
*
ppDirect3DRM
);
static
HRESULT
(
WINAPI
*
pDirect3DRMCreate
)(
IDirect3DRM
**
d3drm
);
#define CHECK_REFCOUNT(obj,rc) \
#define CHECK_REFCOUNT(obj,rc) \
{ \
{ \
...
@@ -225,7 +225,7 @@ static char data_frame_mesh_materials[] =
...
@@ -225,7 +225,7 @@ static char data_frame_mesh_materials[] =
static
void
test_MeshBuilder
(
void
)
static
void
test_MeshBuilder
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMMESHBUILDER
pMeshBuilder
;
LPDIRECT3DRMMESHBUILDER
pMeshBuilder
;
LPDIRECT3DRMMESH
mesh
;
LPDIRECT3DRMMESH
mesh
;
D3DRMLOADMEMORY
info
;
D3DRMLOADMEMORY
info
;
...
@@ -240,10 +240,10 @@ static void test_MeshBuilder(void)
...
@@ -240,10 +240,10 @@ static void test_MeshBuilder(void)
D3DCOLOR
color
;
D3DCOLOR
color
;
CHAR
cname
[
64
]
=
{
0
};
CHAR
cname
[
64
]
=
{
0
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_CreateMeshBuilder
(
pD3DRM
,
&
pMeshBuilder
);
hr
=
IDirect3DRM_CreateMeshBuilder
(
d3drm
,
&
pMeshBuilder
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMeshBuilder interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMeshBuilder interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRMMeshBuilder_GetClassName
(
pMeshBuilder
,
NULL
,
cname
);
hr
=
IDirect3DRMMeshBuilder_GetClassName
(
pMeshBuilder
,
NULL
,
cname
);
...
@@ -366,7 +366,7 @@ static void test_MeshBuilder(void)
...
@@ -366,7 +366,7 @@ static void test_MeshBuilder(void)
IDirect3DRMMeshBuilder_Release
(
pMeshBuilder
);
IDirect3DRMMeshBuilder_Release
(
pMeshBuilder
);
hr
=
IDirect3DRM_CreateMeshBuilder
(
pD3DRM
,
&
pMeshBuilder
);
hr
=
IDirect3DRM_CreateMeshBuilder
(
d3drm
,
&
pMeshBuilder
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMeshBuilder interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMeshBuilder interface (hr = %x)
\n
"
,
hr
);
/* No group in mesh when mesh builder is not loaded */
/* No group in mesh when mesh builder is not loaded */
...
@@ -520,13 +520,13 @@ static void test_MeshBuilder(void)
...
@@ -520,13 +520,13 @@ static void test_MeshBuilder(void)
IDirect3DRMMeshBuilder_Release
(
pMeshBuilder
);
IDirect3DRMMeshBuilder_Release
(
pMeshBuilder
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
static
void
test_MeshBuilder3
(
void
)
static
void
test_MeshBuilder3
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRM3
pD3DRM3
;
LPDIRECT3DRM3
pD3DRM3
;
LPDIRECT3DRMMESHBUILDER3
pMeshBuilder3
;
LPDIRECT3DRMMESHBUILDER3
pMeshBuilder3
;
D3DRMLOADMEMORY
info
;
D3DRMLOADMEMORY
info
;
...
@@ -536,14 +536,13 @@ static void test_MeshBuilder3(void)
...
@@ -536,14 +536,13 @@ static void test_MeshBuilder3(void)
DWORD
size
;
DWORD
size
;
CHAR
cname
[
64
]
=
{
0
};
CHAR
cname
[
64
]
=
{
0
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_QueryInterface
(
pD3DRM
,
&
IID_IDirect3DRM3
,
(
LPVOID
*
)
&
pD3DRM3
);
if
(
FAILED
(
hr
=
IDirect3DRM_QueryInterface
(
d3drm
,
&
IID_IDirect3DRM3
,
(
void
**
)
&
pD3DRM3
)))
if
(
FAILED
(
hr
))
{
{
win_skip
(
"Cannot get IDirect3DRM3 interface (hr = %x), skipping tests
\n
"
,
hr
);
win_skip
(
"Cannot get IDirect3DRM3 interface (hr = %x), skipping tests
\n
"
,
hr
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
return
;
return
;
}
}
...
@@ -632,21 +631,21 @@ static void test_MeshBuilder3(void)
...
@@ -632,21 +631,21 @@ static void test_MeshBuilder3(void)
IDirect3DRMMeshBuilder3_Release
(
pMeshBuilder3
);
IDirect3DRMMeshBuilder3_Release
(
pMeshBuilder3
);
IDirect3DRM3_Release
(
pD3DRM3
);
IDirect3DRM3_Release
(
pD3DRM3
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
static
void
test_Mesh
(
void
)
static
void
test_Mesh
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMMESH
pMesh
;
LPDIRECT3DRMMESH
pMesh
;
DWORD
size
;
DWORD
size
;
CHAR
cname
[
64
]
=
{
0
};
CHAR
cname
[
64
]
=
{
0
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_CreateMesh
(
pD3DRM
,
&
pMesh
);
hr
=
IDirect3DRM_CreateMesh
(
d3drm
,
&
pMesh
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMesh interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMesh interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRMMesh_GetClassName
(
pMesh
,
NULL
,
cname
);
hr
=
IDirect3DRMMesh_GetClassName
(
pMesh
,
NULL
,
cname
);
...
@@ -664,13 +663,13 @@ static void test_Mesh(void)
...
@@ -664,13 +663,13 @@ static void test_Mesh(void)
IDirect3DRMMesh_Release
(
pMesh
);
IDirect3DRMMesh_Release
(
pMesh
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
static
void
test_Frame
(
void
)
static
void
test_Frame
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMFRAME
pFrameC
;
LPDIRECT3DRMFRAME
pFrameC
;
LPDIRECT3DRMFRAME
pFrameP1
;
LPDIRECT3DRMFRAME
pFrameP1
;
LPDIRECT3DRMFRAME
pFrameP2
;
LPDIRECT3DRMFRAME
pFrameP2
;
...
@@ -687,10 +686,10 @@ static void test_Frame(void)
...
@@ -687,10 +686,10 @@ static void test_Frame(void)
DWORD
count
;
DWORD
count
;
CHAR
cname
[
64
]
=
{
0
};
CHAR
cname
[
64
]
=
{
0
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_CreateFrame
(
pD3DRM
,
NULL
,
&
pFrameC
);
hr
=
IDirect3DRM_CreateFrame
(
d3drm
,
NULL
,
&
pFrameC
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
CHECK_REFCOUNT
(
pFrameC
,
1
);
CHECK_REFCOUNT
(
pFrameC
,
1
);
...
@@ -729,7 +728,7 @@ static void test_Frame(void)
...
@@ -729,7 +728,7 @@ static void test_Frame(void)
IDirect3DRMFrameArray_Release
(
pArray
);
IDirect3DRMFrameArray_Release
(
pArray
);
}
}
hr
=
IDirect3DRM_CreateFrame
(
pD3DRM
,
NULL
,
&
pFrameP1
);
hr
=
IDirect3DRM_CreateFrame
(
d3drm
,
NULL
,
&
pFrameP1
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
/* GetParent with NULL pointer */
/* GetParent with NULL pointer */
...
@@ -786,7 +785,7 @@ static void test_Frame(void)
...
@@ -786,7 +785,7 @@ static void test_Frame(void)
CHECK_REFCOUNT
(
pFrameP1
,
2
);
CHECK_REFCOUNT
(
pFrameP1
,
2
);
/* Add child to second parent */
/* Add child to second parent */
hr
=
IDirect3DRM_CreateFrame
(
pD3DRM
,
NULL
,
&
pFrameP2
);
hr
=
IDirect3DRM_CreateFrame
(
d3drm
,
NULL
,
&
pFrameP2
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRMFrame_AddChild
(
pFrameP2
,
pFrameC
);
hr
=
IDirect3DRMFrame_AddChild
(
pFrameP2
,
pFrameC
);
...
@@ -908,7 +907,7 @@ static void test_Frame(void)
...
@@ -908,7 +907,7 @@ static void test_Frame(void)
CHECK_REFCOUNT
(
pFrameP1
,
3
);
CHECK_REFCOUNT
(
pFrameP1
,
3
);
/* Create Visual */
/* Create Visual */
hr
=
IDirect3DRM_CreateMeshBuilder
(
pD3DRM
,
&
pMeshBuilder
);
hr
=
IDirect3DRM_CreateMeshBuilder
(
d3drm
,
&
pMeshBuilder
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMeshBuilder interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMMeshBuilder interface (hr = %x)
\n
"
,
hr
);
pVisual1
=
(
LPDIRECT3DRMVISUAL
)
pMeshBuilder
;
pVisual1
=
(
LPDIRECT3DRMVISUAL
)
pMeshBuilder
;
...
@@ -948,7 +947,7 @@ static void test_Frame(void)
...
@@ -948,7 +947,7 @@ static void test_Frame(void)
CHECK_REFCOUNT
(
pFrameP1
,
3
);
CHECK_REFCOUNT
(
pFrameP1
,
3
);
/* Create Light */
/* Create Light */
hr
=
IDirect3DRM_CreateLightRGB
(
pD3DRM
,
D3DRMLIGHT_SPOT
,
0
.
1
,
0
.
2
,
0
.
3
,
&
pLight1
);
hr
=
IDirect3DRM_CreateLightRGB
(
d3drm
,
D3DRMLIGHT_SPOT
,
0
.
1
,
0
.
2
,
0
.
3
,
&
pLight1
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMLight interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMLight interface (hr = %x)
\n
"
,
hr
);
/* Add Light to first parent */
/* Add Light to first parent */
...
@@ -999,14 +998,14 @@ static void test_Frame(void)
...
@@ -999,14 +998,14 @@ static void test_Frame(void)
IDirect3DRMFrame_Release
(
pFrameC
);
IDirect3DRMFrame_Release
(
pFrameC
);
IDirect3DRMFrame_Release
(
pFrameP1
);
IDirect3DRMFrame_Release
(
pFrameP1
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
static
void
test_Viewport
(
void
)
static
void
test_Viewport
(
void
)
{
{
IDirectDrawClipper
*
pClipper
;
IDirectDrawClipper
*
pClipper
;
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMDEVICE
pDevice
;
LPDIRECT3DRMDEVICE
pDevice
;
LPDIRECT3DRMFRAME
pFrame
;
LPDIRECT3DRMFRAME
pFrame
;
LPDIRECT3DRMVIEWPORT
pViewport
;
LPDIRECT3DRMVIEWPORT
pViewport
;
...
@@ -1019,7 +1018,7 @@ static void test_Viewport(void)
...
@@ -1019,7 +1018,7 @@ static void test_Viewport(void)
window
=
CreateWindowA
(
"static"
,
"d3drm_test"
,
WS_OVERLAPPEDWINDOW
,
0
,
0
,
300
,
200
,
0
,
0
,
0
,
0
);
window
=
CreateWindowA
(
"static"
,
"d3drm_test"
,
WS_OVERLAPPEDWINDOW
,
0
,
0
,
300
,
200
,
0
,
0
,
0
,
0
);
GetClientRect
(
window
,
&
rc
);
GetClientRect
(
window
,
&
rc
);
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
DirectDrawCreateClipper
(
0
,
&
pClipper
,
NULL
);
hr
=
DirectDrawCreateClipper
(
0
,
&
pClipper
,
NULL
);
...
@@ -1029,13 +1028,13 @@ static void test_Viewport(void)
...
@@ -1029,13 +1028,13 @@ static void test_Viewport(void)
ok
(
hr
==
DD_OK
,
"Cannot set HWnd to Clipper (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
DD_OK
,
"Cannot set HWnd to Clipper (hr = %x)
\n
"
,
hr
);
memcpy
(
&
driver
,
&
IID_IDirect3DRGBDevice
,
sizeof
(
GUID
));
memcpy
(
&
driver
,
&
IID_IDirect3DRGBDevice
,
sizeof
(
GUID
));
hr
=
IDirect3DRM3_CreateDeviceFromClipper
(
pD3DRM
,
pClipper
,
&
driver
,
rc
.
right
,
rc
.
bottom
,
&
pDevice
);
hr
=
IDirect3DRM3_CreateDeviceFromClipper
(
d3drm
,
pClipper
,
&
driver
,
rc
.
right
,
rc
.
bottom
,
&
pDevice
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMDevice interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMDevice interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_CreateFrame
(
pD3DRM
,
NULL
,
&
pFrame
);
hr
=
IDirect3DRM_CreateFrame
(
d3drm
,
NULL
,
&
pFrame
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMFrame interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_CreateViewport
(
pD3DRM
,
pDevice
,
pFrame
,
rc
.
left
,
rc
.
top
,
rc
.
right
,
rc
.
bottom
,
&
pViewport
);
hr
=
IDirect3DRM_CreateViewport
(
d3drm
,
pDevice
,
pFrame
,
rc
.
left
,
rc
.
top
,
rc
.
right
,
rc
.
bottom
,
&
pViewport
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMViewport interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMViewport interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRMViewport_GetClassName
(
pViewport
,
NULL
,
cname
);
hr
=
IDirect3DRMViewport_GetClassName
(
pViewport
,
NULL
,
cname
);
...
@@ -1056,24 +1055,24 @@ static void test_Viewport(void)
...
@@ -1056,24 +1055,24 @@ static void test_Viewport(void)
IDirect3DRMDevice_Release
(
pDevice
);
IDirect3DRMDevice_Release
(
pDevice
);
IDirectDrawClipper_Release
(
pClipper
);
IDirectDrawClipper_Release
(
pClipper
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
DestroyWindow
(
window
);
DestroyWindow
(
window
);
}
}
static
void
test_Light
(
void
)
static
void
test_Light
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMLIGHT
pLight
;
LPDIRECT3DRMLIGHT
pLight
;
D3DRMLIGHTTYPE
type
;
D3DRMLIGHTTYPE
type
;
D3DCOLOR
color
;
D3DCOLOR
color
;
DWORD
size
;
DWORD
size
;
CHAR
cname
[
64
]
=
{
0
};
CHAR
cname
[
64
]
=
{
0
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_CreateLightRGB
(
pD3DRM
,
D3DRMLIGHT_SPOT
,
0
.
5
,
0
.
5
,
0
.
5
,
&
pLight
);
hr
=
IDirect3DRM_CreateLightRGB
(
d3drm
,
D3DRMLIGHT_SPOT
,
0
.
5
,
0
.
5
,
0
.
5
,
&
pLight
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMLight interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMLight interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRMLight_GetClassName
(
pLight
,
NULL
,
cname
);
hr
=
IDirect3DRMLight_GetClassName
(
pLight
,
NULL
,
cname
);
...
@@ -1112,27 +1111,26 @@ static void test_Light(void)
...
@@ -1112,27 +1111,26 @@ static void test_Light(void)
IDirect3DRMLight_Release
(
pLight
);
IDirect3DRMLight_Release
(
pLight
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
static
void
test_Material2
(
void
)
static
void
test_Material2
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRM3
pD3DRM3
;
LPDIRECT3DRM3
pD3DRM3
;
LPDIRECT3DRMMATERIAL2
pMaterial2
;
LPDIRECT3DRMMATERIAL2
pMaterial2
;
D3DVALUE
r
,
g
,
b
;
D3DVALUE
r
,
g
,
b
;
DWORD
size
;
DWORD
size
;
CHAR
cname
[
64
]
=
{
0
};
CHAR
cname
[
64
]
=
{
0
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRM_QueryInterface
(
pD3DRM
,
&
IID_IDirect3DRM3
,
(
LPVOID
*
)
&
pD3DRM3
);
if
(
FAILED
(
hr
=
IDirect3DRM_QueryInterface
(
d3drm
,
&
IID_IDirect3DRM3
,
(
void
**
)
&
pD3DRM3
)))
if
(
FAILED
(
hr
))
{
{
win_skip
(
"Cannot get IDirect3DRM3 interface (hr = %x), skipping tests
\n
"
,
hr
);
win_skip
(
"Cannot get IDirect3DRM3 interface (hr = %x), skipping tests
\n
"
,
hr
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
return
;
return
;
}
}
...
@@ -1193,13 +1191,13 @@ static void test_Material2(void)
...
@@ -1193,13 +1191,13 @@ static void test_Material2(void)
IDirect3DRMMaterial2_Release
(
pMaterial2
);
IDirect3DRMMaterial2_Release
(
pMaterial2
);
IDirect3DRM3_Release
(
pD3DRM3
);
IDirect3DRM3_Release
(
pD3DRM3
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
static
void
test_Texture
(
void
)
static
void
test_Texture
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMTEXTURE
pTexture
;
LPDIRECT3DRMTEXTURE
pTexture
;
D3DRMIMAGE
initimg
=
{
D3DRMIMAGE
initimg
=
{
2
,
2
,
1
,
1
,
32
,
2
,
2
,
1
,
1
,
32
,
...
@@ -1210,11 +1208,11 @@ static void test_Texture(void)
...
@@ -1210,11 +1208,11 @@ static void test_Texture(void)
DWORD
size
;
DWORD
size
;
CHAR
cname
[
64
]
=
{
0
};
CHAR
cname
[
64
]
=
{
0
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
initimg
.
buffer1
=
&
pixel
;
initimg
.
buffer1
=
&
pixel
;
hr
=
IDirect3DRM_CreateTexture
(
pD3DRM
,
&
initimg
,
&
pTexture
);
hr
=
IDirect3DRM_CreateTexture
(
d3drm
,
&
initimg
,
&
pTexture
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMTexture interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMTexture interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRMTexture_GetClassName
(
pTexture
,
NULL
,
cname
);
hr
=
IDirect3DRMTexture_GetClassName
(
pTexture
,
NULL
,
cname
);
...
@@ -1232,14 +1230,14 @@ static void test_Texture(void)
...
@@ -1232,14 +1230,14 @@ static void test_Texture(void)
IDirect3DRMTexture_Release
(
pTexture
);
IDirect3DRMTexture_Release
(
pTexture
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
static
void
test_Device
(
void
)
static
void
test_Device
(
void
)
{
{
IDirectDrawClipper
*
pClipper
;
IDirectDrawClipper
*
pClipper
;
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMDEVICE
pDevice
;
LPDIRECT3DRMDEVICE
pDevice
;
LPDIRECT3DRMWINDEVICE
pWinDevice
;
LPDIRECT3DRMWINDEVICE
pWinDevice
;
GUID
driver
;
GUID
driver
;
...
@@ -1251,7 +1249,7 @@ static void test_Device(void)
...
@@ -1251,7 +1249,7 @@ static void test_Device(void)
window
=
CreateWindowA
(
"static"
,
"d3drm_test"
,
WS_OVERLAPPEDWINDOW
,
0
,
0
,
300
,
200
,
0
,
0
,
0
,
0
);
window
=
CreateWindowA
(
"static"
,
"d3drm_test"
,
WS_OVERLAPPEDWINDOW
,
0
,
0
,
300
,
200
,
0
,
0
,
0
,
0
);
GetClientRect
(
window
,
&
rc
);
GetClientRect
(
window
,
&
rc
);
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
hr
=
DirectDrawCreateClipper
(
0
,
&
pClipper
,
NULL
);
hr
=
DirectDrawCreateClipper
(
0
,
&
pClipper
,
NULL
);
...
@@ -1261,7 +1259,7 @@ static void test_Device(void)
...
@@ -1261,7 +1259,7 @@ static void test_Device(void)
ok
(
hr
==
DD_OK
,
"Cannot set HWnd to Clipper (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
DD_OK
,
"Cannot set HWnd to Clipper (hr = %x)
\n
"
,
hr
);
memcpy
(
&
driver
,
&
IID_IDirect3DRGBDevice
,
sizeof
(
GUID
));
memcpy
(
&
driver
,
&
IID_IDirect3DRGBDevice
,
sizeof
(
GUID
));
hr
=
IDirect3DRM3_CreateDeviceFromClipper
(
pD3DRM
,
pClipper
,
&
driver
,
rc
.
right
,
rc
.
bottom
,
&
pDevice
);
hr
=
IDirect3DRM3_CreateDeviceFromClipper
(
d3drm
,
pClipper
,
&
driver
,
rc
.
right
,
rc
.
bottom
,
&
pDevice
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMDevice interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRMDevice interface (hr = %x)
\n
"
,
hr
);
hr
=
IDirect3DRMDevice_GetClassName
(
pDevice
,
NULL
,
cname
);
hr
=
IDirect3DRMDevice_GetClassName
(
pDevice
,
NULL
,
cname
);
...
@@ -1304,14 +1302,14 @@ cleanup:
...
@@ -1304,14 +1302,14 @@ cleanup:
IDirect3DRMDevice_Release
(
pDevice
);
IDirect3DRMDevice_Release
(
pDevice
);
IDirectDrawClipper_Release
(
pClipper
);
IDirectDrawClipper_Release
(
pClipper
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
DestroyWindow
(
window
);
DestroyWindow
(
window
);
}
}
static
void
test_frame_transform
(
void
)
static
void
test_frame_transform
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
d3drm
;
IDirect3DRM
*
d3drm
;
LPDIRECT3DRMFRAME
frame
;
LPDIRECT3DRMFRAME
frame
;
D3DRMMATRIX4D
matrix
;
D3DRMMATRIX4D
matrix
;
...
@@ -1348,20 +1346,21 @@ static void __cdecl object_load_callback(LPDIRECT3DRMOBJECT object, REFIID objec
...
@@ -1348,20 +1346,21 @@ static void __cdecl object_load_callback(LPDIRECT3DRMOBJECT object, REFIID objec
static
void
test_d3drm_load
(
void
)
static
void
test_d3drm_load
(
void
)
{
{
HRESULT
hr
;
HRESULT
hr
;
LPDIRECT3DRM
pD3DRM
;
IDirect3DRM
*
d3drm
;
D3DRMLOADMEMORY
info
;
D3DRMLOADMEMORY
info
;
const
GUID
*
req_refiids
[]
=
{
&
IID_IDirect3DRMMeshBuilder
,
&
IID_IDirect3DRMFrame
,
&
IID_IDirect3DRMMaterial
};
const
GUID
*
req_refiids
[]
=
{
&
IID_IDirect3DRMMeshBuilder
,
&
IID_IDirect3DRMFrame
,
&
IID_IDirect3DRMMaterial
};
hr
=
pDirect3DRMCreate
(
&
pD3DRM
);
hr
=
pDirect3DRMCreate
(
&
d3drm
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot get IDirect3DRM interface (hr = %x)
\n
"
,
hr
);
info
.
lpMemory
=
data_d3drm_load
;
info
.
lpMemory
=
data_d3drm_load
;
info
.
dSize
=
strlen
(
data_d3drm_load
);
info
.
dSize
=
strlen
(
data_d3drm_load
);
hr
=
IDirect3DRM_Load
(
pD3DRM
,
&
info
,
NULL
,
(
GUID
**
)
req_refiids
,
3
,
D3DRMLOAD_FROMMEMORY
,
object_load_callback
,
(
LPVOID
)
0xdeadbeef
,
NULL
,
NULL
,
NULL
);
hr
=
IDirect3DRM_Load
(
d3drm
,
&
info
,
NULL
,
(
GUID
**
)
req_refiids
,
3
,
D3DRMLOAD_FROMMEMORY
,
object_load_callback
,
(
void
*
)
0xdeadbeef
,
NULL
,
NULL
,
NULL
);
ok
(
hr
==
D3DRM_OK
,
"Cannot load data (hr = %x)
\n
"
,
hr
);
ok
(
hr
==
D3DRM_OK
,
"Cannot load data (hr = %x)
\n
"
,
hr
);
ok
(
nb_objects
==
3
,
"Should have loaded 3 objects (got %d)
\n
"
,
nb_objects
);
ok
(
nb_objects
==
3
,
"Should have loaded 3 objects (got %d)
\n
"
,
nb_objects
);
IDirect3DRM_Release
(
pD3DRM
);
IDirect3DRM_Release
(
d3drm
);
}
}
IDirect3DRMMeshBuilder
*
mesh_builder
=
NULL
;
IDirect3DRMMeshBuilder
*
mesh_builder
=
NULL
;
...
...
include/d3drm.h
View file @
5e3b4c87
...
@@ -41,7 +41,7 @@ DEFINE_GUID(IID_IDirect3DRM3, 0x4516ec83, 0x8f20, 0x11d0, 0x9b, 0x
...
@@ -41,7 +41,7 @@ DEFINE_GUID(IID_IDirect3DRM3, 0x4516ec83, 0x8f20, 0x11d0, 0x9b, 0x
typedef
struct
IDirect3DRM2
*
LPDIRECT3DRM2
,
**
LPLPDIRECT3DRM2
;
typedef
struct
IDirect3DRM2
*
LPDIRECT3DRM2
,
**
LPLPDIRECT3DRM2
;
typedef
struct
IDirect3DRM3
*
LPDIRECT3DRM3
,
**
LPLPDIRECT3DRM3
;
typedef
struct
IDirect3DRM3
*
LPDIRECT3DRM3
,
**
LPLPDIRECT3DRM3
;
HRESULT
WINAPI
Direct3DRMCreate
(
LPDIRECT3DRM
*
ppDirect3DRM
);
HRESULT
WINAPI
Direct3DRMCreate
(
struct
IDirect3DRM
**
d3drm
);
/*****************************************************************************
/*****************************************************************************
* IDirect3DRMObject interface
* IDirect3DRMObject interface
...
...
include/d3drmobj.h
View file @
5e3b4c87
...
@@ -261,7 +261,7 @@ DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown)
...
@@ -261,7 +261,7 @@ DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown)
STDMETHOD
(
Clone
)(
THIS_
LPUNKNOWN
pUnkOuter
,
REFIID
riid
,
LPVOID
*
ppvObj
)
PURE
;
STDMETHOD
(
Clone
)(
THIS_
LPUNKNOWN
pUnkOuter
,
REFIID
riid
,
LPVOID
*
ppvObj
)
PURE
;
STDMETHOD
(
DeleteDestroyCallback
)(
THIS_
D3DRMOBJECTCALLBACK
pFunc
,
LPVOID
pArg
)
PURE
;
STDMETHOD
(
DeleteDestroyCallback
)(
THIS_
D3DRMOBJECTCALLBACK
pFunc
,
LPVOID
pArg
)
PURE
;
STDMETHOD
(
GetClientData
)(
THIS_
DWORD
id
,
LPVOID
*
ppData
)
PURE
;
STDMETHOD
(
GetClientData
)(
THIS_
DWORD
id
,
LPVOID
*
ppData
)
PURE
;
STDMETHOD
(
GetDirect3DRM
)(
THIS_
LPDIRECT3DRM
*
ppDirect3DRM
)
PURE
;
STDMETHOD
(
GetDirect3DRM
)(
THIS_
struct
IDirect3DRM
**
d3drm
)
PURE
;
STDMETHOD
(
GetName
)(
THIS_
LPDWORD
pSize
,
LPSTR
pName
)
PURE
;
STDMETHOD
(
GetName
)(
THIS_
LPDWORD
pSize
,
LPSTR
pName
)
PURE
;
STDMETHOD
(
SetClientData
)(
THIS_
DWORD
id
,
LPVOID
pData
,
DWORD
flags
)
PURE
;
STDMETHOD
(
SetClientData
)(
THIS_
DWORD
id
,
LPVOID
pData
,
DWORD
flags
)
PURE
;
STDMETHOD
(
SetName
)(
THIS_
LPCSTR
pName
)
PURE
;
STDMETHOD
(
SetName
)(
THIS_
LPCSTR
pName
)
PURE
;
...
...
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