diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index 9059ebb53ebda4fe4912d9a76baad98173d50cc7..91c9bddfb99b2cceb52dc41374d4abf87b142bed 100644 --- a/dlls/wined3d/drawprim.c +++ b/dlls/wined3d/drawprim.c @@ -56,6 +56,18 @@ static GLenum primitive_to_gl(WINED3DPRIMITIVETYPE primitive_type) case WINED3DPT_TRIANGLEFAN: return GL_TRIANGLE_FAN; + case WINED3DPT_LINELIST_ADJ: + return GL_LINES_ADJACENCY_ARB; + + case WINED3DPT_LINESTRIP_ADJ: + return GL_LINE_STRIP_ADJACENCY_ARB; + + case WINED3DPT_TRIANGLELIST_ADJ: + return GL_TRIANGLES_ADJACENCY_ARB; + + case WINED3DPT_TRIANGLESTRIP_ADJ: + return GL_TRIANGLE_STRIP_ADJACENCY_ARB; + default: FIXME("Unhandled primitive type %s\n", debug_d3dprimitivetype(primitive_type)); return GL_NONE; diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 87bfac6316258de5cecd1430a50c5dcfcd09e5f9..5fa4a1f79a7eea0ea968eff69d5650268c80c256 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -918,12 +918,17 @@ const char* debug_d3dresourcetype(WINED3DRESOURCETYPE res) { const char* debug_d3dprimitivetype(WINED3DPRIMITIVETYPE PrimitiveType) { switch (PrimitiveType) { #define PRIM_TO_STR(prim) case prim: return #prim + PRIM_TO_STR(WINED3DPT_UNDEFINED); PRIM_TO_STR(WINED3DPT_POINTLIST); PRIM_TO_STR(WINED3DPT_LINELIST); PRIM_TO_STR(WINED3DPT_LINESTRIP); PRIM_TO_STR(WINED3DPT_TRIANGLELIST); PRIM_TO_STR(WINED3DPT_TRIANGLESTRIP); PRIM_TO_STR(WINED3DPT_TRIANGLEFAN); + PRIM_TO_STR(WINED3DPT_LINELIST_ADJ); + PRIM_TO_STR(WINED3DPT_LINESTRIP_ADJ); + PRIM_TO_STR(WINED3DPT_TRIANGLELIST_ADJ); + PRIM_TO_STR(WINED3DPT_TRIANGLESTRIP_ADJ); #undef PRIM_TO_STR default: FIXME("Unrecognized %u WINED3DPRIMITIVETYPE!\n", PrimitiveType); diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl index 7faa2de32093dcc821ecd880a1896ce7686f78c8..5c63ef96c8bd41729f242ab2eb840756b0891336 100644 --- a/include/wine/wined3d.idl +++ b/include/wine/wined3d.idl @@ -97,12 +97,17 @@ typedef enum _WINED3DLIGHTTYPE typedef enum _WINED3DPRIMITIVETYPE { + WINED3DPT_UNDEFINED = 0, WINED3DPT_POINTLIST = 1, WINED3DPT_LINELIST = 2, WINED3DPT_LINESTRIP = 3, WINED3DPT_TRIANGLELIST = 4, WINED3DPT_TRIANGLESTRIP = 5, WINED3DPT_TRIANGLEFAN = 6, + WINED3DPT_LINELIST_ADJ = 10, + WINED3DPT_LINESTRIP_ADJ = 11, + WINED3DPT_TRIANGLELIST_ADJ = 12, + WINED3DPT_TRIANGLESTRIP_ADJ = 13, WINED3DPT_FORCE_DWORD = 0x7fffffff } WINED3DPRIMITIVETYPE;