Henri Verbeet : wined3d: Add support for ARB_provoking_vertex.
Alexandre Julliard
julliard at winehq.org
Wed Sep 23 11:03:09 CDT 2009
Module: wine
Branch: master
Commit: eca28c942d61528e02eca7ca402f36161381c87e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=eca28c942d61528e02eca7ca402f36161381c87e
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Sep 23 10:05:58 2009 +0200
wined3d: Add support for ARB_provoking_vertex.
This is just EXT_provoking_vertex promoted to ARB.
---
dlls/wined3d/context.c | 6 +++++-
dlls/wined3d/directx.c | 1 +
dlls/wined3d/wined3d_gl.h | 14 ++++++++++++++
3 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 878e5bf..e569e6e 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1362,7 +1362,11 @@ struct wined3d_context *CreateContext(IWineD3DDeviceImpl *This, IWineD3DSurfaceI
checkGLcall("glTexEnvi(GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE)");
}
- if (GL_SUPPORT(EXT_PROVOKING_VERTEX))
+ if (GL_SUPPORT(ARB_PROVOKING_VERTEX))
+ {
+ GL_EXTCALL(glProvokingVertex(GL_FIRST_VERTEX_CONVENTION));
+ }
+ else if (GL_SUPPORT(EXT_PROVOKING_VERTEX))
{
GL_EXTCALL(glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT));
}
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 2f4cdae..7b46c0f 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -72,6 +72,7 @@ static const struct {
{"GL_ARB_pixel_buffer_object", ARB_PIXEL_BUFFER_OBJECT, 0 },
{"GL_ARB_point_parameters", ARB_POINT_PARAMETERS, 0 },
{"GL_ARB_point_sprite", ARB_POINT_SPRITE, 0 },
+ {"GL_ARB_provoking_vertex", ARB_PROVOKING_VERTEX, 0 },
{"GL_ARB_texture_border_clamp", ARB_TEXTURE_BORDER_CLAMP, 0 },
{"GL_ARB_texture_compression", ARB_TEXTURE_COMPRESSION, 0 },
{"GL_ARB_texture_cube_map", ARB_TEXTURE_CUBE_MAP, 0 },
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index 1c9ce6c..1030931 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -1884,6 +1884,17 @@ typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target,
#endif
typedef void (WINE_GLAPI * PGLFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
typedef void (WINE_GLAPI * PGLFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
+
+/* GL_ARB_provoking_vertex */
+#ifndef GL_ARB_provoking_vertex
+#define GL_ARB_provoking_vertex 1
+#define GL_FIRST_VERTEX_CONVENTION 0x8e4d
+#define GL_LAST_VERTEX_CONVENTION 0x8e4e
+#define GL_PROVOKING_VERTEX 0x8e4f
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8e4c
+#endif
+typedef void (WINE_GLAPI * PGLFNGLPROVOKINGVERTEXPROC)(GLenum mode);
+
/* GL_ARB_vertex_blend */
#ifndef GL_ARB_vertex_blend
#define GL_ARB_vertex_blend 1
@@ -3549,6 +3560,7 @@ typedef enum _GL_SupportedExt {
ARB_MULTITEXTURE,
ARB_OCCLUSION_QUERY,
ARB_POINT_PARAMETERS,
+ ARB_PROVOKING_VERTEX,
ARB_PIXEL_BUFFER_OBJECT,
ARB_POINT_SPRITE,
ARB_TEXTURE_COMPRESSION,
@@ -3714,6 +3726,8 @@ typedef enum _GL_SupportedExt {
/* GL_ARB_point_parameters */ \
USE_GL_FUNC(PGLFNGLPOINTPARAMETERFARBPROC, glPointParameterfARB, ARB_POINT_PARAMETERS, NULL )\
USE_GL_FUNC(PGLFNGLPOINTPARAMETERFVARBPROC, glPointParameterfvARB, ARB_POINT_PARAMETERS, NULL )\
+ /* GL_ARB_provoking_vertex */ \
+ USE_GL_FUNC(PGLFNGLPROVOKINGVERTEXPROC, glProvokingVertex, ARB_PROVOKING_VERTEX, NULL)\
/* GL_ARB_texture_compression */ \
USE_GL_FUNC(PGLFNCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2DARB, ARB_TEXTURE_COMPRESSION,NULL )\
USE_GL_FUNC(PGLFNCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3DARB, ARB_TEXTURE_COMPRESSION,NULL )\
More information about the wine-cvs
mailing list