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;