wined3d: Don't clamp vertex depth values.

Since we report D3DPMISCCAPS_CLIPTLVERTS.
This commit is contained in:
Henri Verbeet 2011-06-05 22:48:50 +02:00 committed by Alexandre Julliard
parent 7399177f0b
commit 708d94212b
4 changed files with 18 additions and 31 deletions

View File

@ -1416,15 +1416,15 @@ static void depth_clamp_test(IDirect3DDevice8 *device)
if (caps.PrimitiveMiscCaps & D3DPMISCCAPS_CLIPTLVERTS)
{
color = getPixelColor(device, 75, 75);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 150, 150);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 240);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 330);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 330);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
}
else
{

View File

@ -10613,15 +10613,15 @@ static void depth_clamp_test(IDirect3DDevice9 *device)
if (caps.PrimitiveMiscCaps & D3DPMISCCAPS_CLIPTLVERTS)
{
color = getPixelColor(device, 75, 75);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 150, 150);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 240);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 330);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 330);
todo_wine ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
}
else
{

View File

@ -2901,15 +2901,15 @@ static void depth_clamp_test(IDirect3DDevice7 *device)
ok(SUCCEEDED(hr), "EndScene failed, hr %#x.\n", hr);
color = getPixelColor(device, 75, 75);
todo_wine ok(color_match(color, 0x00ffffff, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x00ffffff, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 150, 150);
todo_wine ok(color_match(color, 0x00ffffff, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x00ffffff, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 240);
todo_wine ok(color_match(color, 0x00002b7f, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x00002b7f, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 330);
todo_wine ok(color_match(color, 0x00f9e814, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x00f9e814, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
color = getPixelColor(device, 320, 330);
todo_wine ok(color_match(color, 0x00f9e814, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
ok(color_match(color, 0x00f9e814, 1) || color_match(color, 0x0000ff00, 1), "color 0x%08x.\n", color);
vp.dvMinZ = 0.0;
vp.dvMaxZ = 1.0;

View File

@ -486,7 +486,6 @@ static void state_alpha(DWORD state, struct wined3d_stateblock *stateblock, stru
static void state_clipping(DWORD state_id, struct wined3d_stateblock *stateblock, struct wined3d_context *context)
{
const struct wined3d_gl_info *gl_info = context->gl_info;
const struct wined3d_state *state = &stateblock->state;
DWORD enable = 0xFFFFFFFF;
DWORD disable = 0x00000000;
@ -520,23 +519,11 @@ static void state_clipping(DWORD state_id, struct wined3d_stateblock *stateblock
{
enable = state->render_states[WINED3DRS_CLIPPLANEENABLE];
disable = ~state->render_states[WINED3DRS_CLIPPLANEENABLE];
if (gl_info->supported[ARB_DEPTH_CLAMP])
{
glDisable(GL_DEPTH_CLAMP);
checkGLcall("glDisable(GL_DEPTH_CLAMP)");
}
} else {
disable = 0xffffffff;
enable = 0x00;
if (gl_info->supported[ARB_DEPTH_CLAMP])
{
glEnable(GL_DEPTH_CLAMP);
checkGLcall("glEnable(GL_DEPTH_CLAMP)");
}
else
{
FIXME("Clipping disabled, but ARB_depth_clamp isn't supported.\n");
}
disable = 0xffffffff;
enable = 0x00;
}
if (enable & WINED3DCLIPPLANE0) { glEnable(GL_CLIP_PLANE0); checkGLcall("glEnable(clip plane 0)"); }