Henri Verbeet : wined3d: Add support for EXT_draw_buffers2.

Alexandre Julliard julliard at winehq.org
Fri Mar 26 12:11:49 CDT 2010


Module: wine
Branch: master
Commit: 13a57c81f079474be73d8ef82a504c08d609ce9a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=13a57c81f079474be73d8ef82a504c08d609ce9a

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Mar 25 22:51:23 2010 +0100

wined3d: Add support for EXT_draw_buffers2.

---

 dlls/wined3d/directx.c    |    1 +
 dlls/wined3d/wined3d_gl.h |   23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index b136eb4..084e56b 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -104,6 +104,7 @@ static const struct {
     {"GL_EXT_blend_equation_separate",      EXT_BLEND_EQUATION_SEPARATE,    0                           },
     {"GL_EXT_blend_func_separate",          EXT_BLEND_FUNC_SEPARATE,        0                           },
     {"GL_EXT_blend_minmax",                 EXT_BLEND_MINMAX,               0                           },
+    {"GL_EXT_draw_buffers2",                EXT_DRAW_BUFFERS2,              0                           },
     {"GL_EXT_fog_coord",                    EXT_FOG_COORD,                  0                           },
     {"GL_EXT_framebuffer_blit",             EXT_FRAMEBUFFER_BLIT,           0                           },
     {"GL_EXT_framebuffer_multisample",      EXT_FRAMEBUFFER_MULTISAMPLE,    0                           },
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index 9b46dd7..b529c52 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -1782,6 +1782,7 @@ typedef enum wined3d_gl_extension
     EXT_BLEND_EQUATION_SEPARATE,
     EXT_BLEND_FUNC_SEPARATE,
     EXT_BLEND_MINMAX,
+    EXT_DRAW_BUFFERS2,
     EXT_FOG_COORD,
     EXT_FRAMEBUFFER_BLIT,
     EXT_FRAMEBUFFER_MULTISAMPLE,
@@ -2958,6 +2959,15 @@ typedef void (WINE_GLAPI *PGLFNBLENDEQUATIONSEPARATEEXTPROC)(GLenum modeRGB, GLe
 typedef void (WINE_GLAPI *PGLFNBLENDFUNCSEPARATEEXTPROC)(GLenum sfactorRGB, GLenum dfactorRGB,
         GLenum sfactorAlpha, GLenum dfactorAlpha);
 
+/* GL_EXT_draw_buffers2 */
+typedef GLvoid (WINE_GLAPI *PGLFNCOLORMASKINDEXEDEXTPROC)(GLuint buffer_idx, GLboolean r, GLboolean g,
+        GLboolean b, GLboolean a);
+typedef GLvoid (WINE_GLAPI *PGLFNGETBOOLEANINDEXEDVEXTPROC)(GLenum param, GLuint index, GLboolean *value);
+typedef GLvoid (WINE_GLAPI *PGLFNGETINTEGERINDEXEDVEXTPROC)(GLenum param, GLuint index, GLint *value);
+typedef GLvoid (WINE_GLAPI *PGLFNENABLEINDEXEDEXTPROC)(GLenum target, GLuint index);
+typedef GLvoid (WINE_GLAPI *PGLFNDISABLEINDEXEDEXTPROC)(GLenum target, GLuint index);
+typedef GLboolean (WINE_GLAPI *PGLFNISENABLEDINDEXEDEXTPROC)(GLenum target, GLuint index);
+
 /* GL_EXT_fog_coord */
 #ifndef GL_EXT_fog_coord
 #define GL_EXT_fog_coord 1
@@ -4178,6 +4188,19 @@ typedef BOOL (WINAPI *WINED3D_PFNWGLSETPIXELFORMATWINE)(HDC hdc, int iPixelForma
     /* GL_EXT_blend_func_separate */ \
     USE_GL_FUNC(PGLFNBLENDEQUATIONSEPARATEEXTPROC, \
             glBlendEquationSeparateEXT,                 EXT_BLEND_EQUATION_SEPARATE,    NULL) \
+    /* GL_EXT_draw_buffers2 */ \
+    USE_GL_FUNC(PGLFNCOLORMASKINDEXEDEXTPROC, \
+            glColorMaskIndexedEXT,                      EXT_DRAW_BUFFERS2,              NULL) \
+    USE_GL_FUNC(PGLFNGETBOOLEANINDEXEDVEXTPROC, \
+            glGetBooleanIndexedvEXT,                    EXT_DRAW_BUFFERS2,              NULL) \
+    USE_GL_FUNC(PGLFNGETINTEGERINDEXEDVEXTPROC, \
+            glGetIntegerIndexedvEXT,                    EXT_DRAW_BUFFERS2,              NULL) \
+    USE_GL_FUNC(PGLFNENABLEINDEXEDEXTPROC, \
+            glEnableIndexedEXT,                         EXT_DRAW_BUFFERS2,              NULL) \
+    USE_GL_FUNC(PGLFNDISABLEINDEXEDEXTPROC, \
+            glDisableIndexedEXT,                        EXT_DRAW_BUFFERS2,              NULL) \
+    USE_GL_FUNC(PGLFNISENABLEDINDEXEDEXTPROC, \
+            glIsEnabledIndexedEXT,                      EXT_DRAW_BUFFERS2,              NULL) \
     /* GL_EXT_fog_coord */ \
     USE_GL_FUNC(PGLFNGLFOGCOORDFEXTPROC, \
             glFogCoordfEXT,                             EXT_FOG_COORD,                  NULL) \




More information about the wine-cvs mailing list