Henri Verbeet : wined3d: Use EXT_provoking_vertex to match Direct3D' s provoking vertex convention.
Alexandre Julliard
julliard at winehq.org
Mon Aug 10 10:35:56 CDT 2009
Module: wine
Branch: master
Commit: 3b06fc92f479f8ae2e23990f38e1fc2185138b81
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3b06fc92f479f8ae2e23990f38e1fc2185138b81
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Mon Aug 10 09:30:50 2009 +0200
wined3d: Use EXT_provoking_vertex to match Direct3D's provoking vertex convention.
---
dlls/d3d9/tests/visual.c | 11 +++++++++--
dlls/wined3d/context.c | 6 ++++++
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 2a86be8..d4fabf3 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -6586,8 +6586,15 @@ static void shademode_test(IDirect3DDevice9 *device)
switch(shademode) {
case D3DSHADE_FLAT:
/* Should take the color of the first vertex of each triangle */
- todo_wine ok(color0 == 0x00ff0000, "FLAT shading has color0 %08x, expected 0x00ff0000 (todo)\n", color0);
- todo_wine ok(color1 == 0x0000ff00, "FLAT shading has color1 %08x, expected 0x0000ff00 (todo)\n", color1);
+ if (0)
+ {
+ /* This test depends on EXT_provoking_vertex being
+ * available. This extension is currently (20090810)
+ * not common enough to let the test fail if it isn't
+ * present. */
+ ok(color0 == 0x00ff0000, "FLAT shading has color0 %08x, expected 0x00ff0000\n", color0);
+ ok(color1 == 0x0000ff00, "FLAT shading has color1 %08x, expected 0x0000ff00\n", color1);
+ }
shademode = D3DSHADE_GOURAUD;
break;
case D3DSHADE_GOURAUD:
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 0737079..09743c6 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1357,6 +1357,12 @@ struct wined3d_context *CreateContext(IWineD3DDeviceImpl *This, IWineD3DSurfaceI
glTexEnvi(GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE);
checkGLcall("glTexEnvi(GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE)");
}
+
+ if (GL_SUPPORT(EXT_PROVOKING_VERTEX))
+ {
+ GL_EXTCALL(glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT));
+ }
+
LEAVE_GL();
This->frag_pipe->enable_extension((IWineD3DDevice *) This, TRUE);
More information about the wine-cvs
mailing list