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
848991fc
Commit
848991fc
authored
Mar 26, 2015
by
Matteo Bruni
Committed by
Alexandre Julliard
Mar 27, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3d8/tests: Add more lighting tests.
parent
2f710d72
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
99 additions
and
17 deletions
+99
-17
visual.c
dlls/d3d8/tests/visual.c
+99
-17
No files found.
dlls/d3d8/tests/visual.c
View file @
848991fc
...
...
@@ -224,15 +224,43 @@ static void lighting_test(void)
{{
0
.
0
f
,
1
.
0
f
,
0
.
1
f
},
{
1
.
0
f
,
1
.
0
f
,
1
.
0
f
},
0xffffff00
},
{{
1
.
0
f
,
1
.
0
f
,
0
.
1
f
},
{
1
.
0
f
,
1
.
0
f
,
1
.
0
f
},
0xffffff00
},
{{
1
.
0
f
,
0
.
0
f
,
0
.
1
f
},
{
1
.
0
f
,
1
.
0
f
,
1
.
0
f
},
0xffffff00
},
},
nquad
[]
=
{
{{
-
1
.
0
f
,
-
1
.
0
f
,
0
.
0
f
},
{
0
.
0
f
,
0
.
0
f
,
-
1
.
0
f
},
0xff0000ff
},
{{
-
1
.
0
f
,
1
.
0
f
,
0
.
0
f
},
{
0
.
0
f
,
0
.
0
f
,
-
1
.
0
f
},
0xff0000ff
},
{{
1
.
0
f
,
1
.
0
f
,
0
.
0
f
},
{
0
.
0
f
,
0
.
0
f
,
-
1
.
0
f
},
0xff0000ff
},
{{
1
.
0
f
,
-
1
.
0
f
,
0
.
0
f
},
{
0
.
0
f
,
0
.
0
f
,
-
1
.
0
f
},
0xff0000ff
},
},
rotatedquad
[]
=
{
{{
-
10
.
0
f
,
-
11
.
0
f
,
11
.
0
f
},
{
-
1
.
0
f
,
0
.
0
f
,
0
.
0
f
},
0xff0000ff
},
{{
-
10
.
0
f
,
-
9
.
0
f
,
11
.
0
f
},
{
-
1
.
0
f
,
0
.
0
f
,
0
.
0
f
},
0xff0000ff
},
{{
-
10
.
0
f
,
-
9
.
0
f
,
9
.
0
f
},
{
-
1
.
0
f
,
0
.
0
f
,
0
.
0
f
},
0xff0000ff
},
{{
-
10
.
0
f
,
-
11
.
0
f
,
9
.
0
f
},
{
-
1
.
0
f
,
0
.
0
f
,
0
.
0
f
},
0xff0000ff
},
};
static
const
WORD
I
ndices
[]
=
{
0
,
1
,
2
,
2
,
3
,
0
};
static
const
WORD
i
ndices
[]
=
{
0
,
1
,
2
,
2
,
3
,
0
};
static
const
D3DMATRIX
mat
=
{{{
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
}}};
}}},
mat_singular
=
{{{
1
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
}}},
mat_transf
=
{{{
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
-
1
.
0
f
,
0
.
0
f
,
0
.
0
f
,
0
.
0
f
,
10
.
f
,
10
.
0
f
,
10
.
0
f
,
1
.
0
f
,
}}};
window
=
CreateWindowA
(
"static"
,
"d3d8_test"
,
WS_OVERLAPPEDWINDOW
|
WS_VISIBLE
,
0
,
0
,
640
,
480
,
NULL
,
NULL
,
NULL
,
NULL
);
...
...
@@ -247,7 +275,6 @@ static void lighting_test(void)
hr
=
IDirect3DDevice8_Clear
(
device
,
0
,
NULL
,
D3DCLEAR_TARGET
,
0xffffffff
,
0
.
0
,
0
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_Clear failed with %#08x
\n
"
,
hr
);
/* Setup some states that may cause issues */
hr
=
IDirect3DDevice8_SetTransform
(
device
,
D3DTS_WORLDMATRIX
(
0
),
&
mat
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetTransform returned %#08x
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetTransform
(
device
,
D3DTS_VIEW
,
&
mat
);
...
...
@@ -262,14 +289,8 @@ static void lighting_test(void)
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetRenderState returned %#08x
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_STENCILENABLE
,
FALSE
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetRenderState returned %#08x
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_ALPHATESTENABLE
,
FALSE
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetRenderState returned %#08x
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_ALPHABLENDENABLE
,
FALSE
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetRenderState returned %#08x
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_CULLMODE
,
D3DCULL_NONE
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetRenderState failed with %#08x
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_COLORWRITEENABLE
,
D3DCOLORWRITEENABLE_RED
|
D3DCOLORWRITEENABLE_GREEN
|
D3DCOLORWRITEENABLE_BLUE
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetRenderState failed with %#08x
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetVertexShader
(
device
,
fvf
);
ok
(
hr
==
D3D_OK
,
"IDirect3DDevice8_SetVertexShader returned %#08x
\n
"
,
hr
);
...
...
@@ -280,14 +301,14 @@ static void lighting_test(void)
/* No lights are defined... That means, lit vertices should be entirely black. */
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_LIGHTING
,
FALSE
);
ok
(
SUCCEEDED
(
hr
),
"Failed to set render state, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
/* MinIndex */
,
4
/* NumVerts */
,
2
/* PrimCount */
,
I
ndices
,
D3DFMT_INDEX16
,
unlitquad
,
sizeof
(
unlitquad
[
0
]));
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
,
4
,
2
,
i
ndices
,
D3DFMT_INDEX16
,
unlitquad
,
sizeof
(
unlitquad
[
0
]));
ok
(
SUCCEEDED
(
hr
),
"Failed to draw, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_LIGHTING
,
TRUE
);
ok
(
SUCCEEDED
(
hr
),
"Failed to set render state, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
/* MinIndex */
,
4
/* NumVerts */
,
2
/* PrimCount */
,
I
ndices
,
D3DFMT_INDEX16
,
litquad
,
sizeof
(
litquad
[
0
]));
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
,
4
,
2
,
i
ndices
,
D3DFMT_INDEX16
,
litquad
,
sizeof
(
litquad
[
0
]));
ok
(
SUCCEEDED
(
hr
),
"Failed to draw, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetVertexShader
(
device
,
nfvf
);
...
...
@@ -295,14 +316,14 @@ static void lighting_test(void)
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_LIGHTING
,
FALSE
);
ok
(
SUCCEEDED
(
hr
),
"Failed to set render state, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
/* MinIndex */
,
4
/* NumVerts */
,
2
/* PrimCount */
,
I
ndices
,
D3DFMT_INDEX16
,
unlitnquad
,
sizeof
(
unlitnquad
[
0
]));
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
,
4
,
2
,
i
ndices
,
D3DFMT_INDEX16
,
unlitnquad
,
sizeof
(
unlitnquad
[
0
]));
ok
(
SUCCEEDED
(
hr
),
"Failed to draw, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_LIGHTING
,
TRUE
);
ok
(
SUCCEEDED
(
hr
),
"Failed to set render state, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
/* MinIndex */
,
4
/* NumVerts */
,
2
/* PrimCount */
,
I
ndices
,
D3DFMT_INDEX16
,
litnquad
,
sizeof
(
litnquad
[
0
]));
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
,
4
,
2
,
i
ndices
,
D3DFMT_INDEX16
,
litnquad
,
sizeof
(
litnquad
[
0
]));
ok
(
SUCCEEDED
(
hr
),
"Failed to draw, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_EndScene
(
device
);
...
...
@@ -319,6 +340,67 @@ static void lighting_test(void)
IDirect3DDevice8_Present
(
device
,
NULL
,
NULL
,
NULL
,
NULL
);
hr
=
IDirect3DDevice8_SetRenderState
(
device
,
D3DRS_LIGHTING
,
TRUE
);
ok
(
SUCCEEDED
(
hr
),
"Failed to enable lighting, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_LightEnable
(
device
,
0
,
TRUE
);
ok
(
SUCCEEDED
(
hr
),
"Failed to enable light 0, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_Clear
(
device
,
0
,
NULL
,
D3DCLEAR_TARGET
,
0xffffffff
,
0
.
0
,
0
);
ok
(
SUCCEEDED
(
hr
),
"Failed to clear, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_BeginScene
(
device
);
ok
(
SUCCEEDED
(
hr
),
"Failed to begin scene, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
,
4
,
2
,
indices
,
D3DFMT_INDEX16
,
nquad
,
sizeof
(
nquad
[
0
]));
ok
(
SUCCEEDED
(
hr
),
"Failed to draw, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_EndScene
(
device
);
ok
(
SUCCEEDED
(
hr
),
"Failed to end scene, hr %#x.
\n
"
,
hr
);
color
=
getPixelColor
(
device
,
320
,
240
);
ok
(
color
==
0x000000ff
,
"Lit quad with light has color 0x%08x.
\n
"
,
color
);
hr
=
IDirect3DDevice8_SetTransform
(
device
,
D3DTS_WORLD
,
&
mat_singular
);
ok
(
SUCCEEDED
(
hr
),
"Failed to set world transform, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_Clear
(
device
,
0
,
NULL
,
D3DCLEAR_TARGET
,
0xffffffff
,
0
.
0
,
0
);
ok
(
SUCCEEDED
(
hr
),
"Failed to clear, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_BeginScene
(
device
);
ok
(
SUCCEEDED
(
hr
),
"Failed to begin scene, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
,
4
,
2
,
indices
,
D3DFMT_INDEX16
,
nquad
,
sizeof
(
nquad
[
0
]));
ok
(
SUCCEEDED
(
hr
),
"Failed to draw, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_EndScene
(
device
);
ok
(
SUCCEEDED
(
hr
),
"Failed to end scene, hr %#x.
\n
"
,
hr
);
color
=
getPixelColor
(
device
,
160
,
240
);
ok
(
color
==
0x00ffffff
,
"Cleared area has color 0x%08x.
\n
"
,
color
);
color
=
getPixelColor
(
device
,
480
,
240
);
ok
(
color
==
0x000000ff
,
"Lit quad with singular world matrix has color 0x%08x.
\n
"
,
color
);
hr
=
IDirect3DDevice8_SetTransform
(
device
,
D3DTS_WORLD
,
&
mat_transf
);
ok
(
SUCCEEDED
(
hr
),
"Failed to set world transform, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_Clear
(
device
,
0
,
NULL
,
D3DCLEAR_TARGET
,
0xffffffff
,
0
.
0
,
0
);
ok
(
SUCCEEDED
(
hr
),
"Failed to clear, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_BeginScene
(
device
);
ok
(
SUCCEEDED
(
hr
),
"Failed to begin scene, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_DrawIndexedPrimitiveUP
(
device
,
D3DPT_TRIANGLELIST
,
0
,
4
,
2
,
indices
,
D3DFMT_INDEX16
,
rotatedquad
,
sizeof
(
rotatedquad
[
0
]));
ok
(
SUCCEEDED
(
hr
),
"Failed to draw, hr %#x.
\n
"
,
hr
);
hr
=
IDirect3DDevice8_EndScene
(
device
);
ok
(
SUCCEEDED
(
hr
),
"Failed to end scene, hr %#x.
\n
"
,
hr
);
color
=
getPixelColor
(
device
,
320
,
240
);
ok
(
color
==
0x000000ff
,
"Lit quad with transformation matrix has color 0x%08x.
\n
"
,
color
);
refcount
=
IDirect3DDevice8_Release
(
device
);
ok
(
!
refcount
,
"Device has %u references left.
\n
"
,
refcount
);
done:
...
...
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