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