From 3b07e7059e55b539df1549adce26120710d46482 Mon Sep 17 00:00:00 2001
From: Henri Verbeet <hverbeet@codeweavers.com>
Date: Thu, 5 Mar 2009 12:30:43 +0100
Subject: [PATCH] wined3d: Add d3d10 primitive types.

---
 dlls/wined3d/drawprim.c  | 12 ++++++++++++
 dlls/wined3d/utils.c     |  5 +++++
 include/wine/wined3d.idl |  5 +++++
 3 files changed, 22 insertions(+)

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 9059ebb53eb..91c9bddfb99 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 87bfac63162..5fa4a1f79a7 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 7faa2de3209..5c63ef96c8b 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;
 
-- 
GitLab