Index: wgl_ext.c
===================================================================
RCS file: /home/wine/wine/dlls/opengl32/wgl_ext.c,v
retrieving revision 1.2
diff -u -r1.2 wgl_ext.c
--- wgl_ext.c	31 Jan 2005 11:32:13 -0000	1.2
+++ wgl_ext.c	21 Feb 2005 08:32:21 -0000
@@ -42,8 +42,26 @@
 static char *WGL_extensions = NULL;
 
 /* Extensions-query functions */
-BOOL query_function_pbuffers(const char *gl_version, const char *gl_extensions, const char *glx_extensions,
-			     const char *server_glx_extensions, const char *client_glx_extensions)
+BOOL query_function_multisample(const char *gl_version, const char *gl_extensions, const char *glx_extensions,
+				const char *server_glx_extensions, const char *client_glx_extensions)
+{
+  return NULL != strstr("GLX_ARB_multisample", glx_extensions);
+}
+
+BOOL query_function_pbuffer(const char *gl_version, const char *gl_extensions, const char *glx_extensions,
+			    const char *server_glx_extensions, const char *client_glx_extensions)
+{
+  return 0 <= strcmp("1.3", gl_version) || NULL != strstr("GLX_SGIX_pbuffer", glx_extensions);
+}
+
+BOOL query_function_pixel_format(const char *gl_version, const char *gl_extensions, const char *glx_extensions,
+				 const char *server_glx_extensions, const char *client_glx_extensions)
+{
+    return FALSE;
+}
+
+BOOL query_function_render_texture(const char *gl_version, const char *gl_extensions, const char *glx_extensions,
+				   const char *server_glx_extensions, const char *client_glx_extensions)
 {
     return FALSE;
 }
@@ -86,12 +104,90 @@
     return swap_interval;
 }
 
+typedef struct wine_glpbuffer {
+  Drawable   drawable;
+  int        pixelFormat;
+  int        width;
+  int        height;
+  int*       attribList;
+} Wine_GLPBuffer;
+
+GLboolean WINAPI wglGetPixelFormatAttribivARB(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues)
+{
+    TRACE("(%p, %d, %d, %d, %p, %p)\n", hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues);
+    return GL_TRUE;
+}
+
+GLboolean WINAPI wglGetPixelFormatAttribfvARB(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues)
+{
+    TRACE("(%p, %d, %d, %d, %p, %p)\n", hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues);
+    return GL_TRUE;
+}
+
+GLboolean WINAPI wglChoosePixelFormatARB(HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats)
+{
+    TRACE("(%p, %p, %p, %d, %p, %p)\n", hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats);
+    return GL_TRUE;
+}
+
+#define HPBUFFERARB void *
+HPBUFFERARB WINAPI wglCreatePbufferARB(HDC hdc, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList)
+{
+    TRACE("(%p, %d, %d, %d, %p)\n", hdc, iPixelFormat, iWidth, iHeight, piAttribList);
+    return 0;
+}
+
+HDC WINAPI wglGetPbufferDCARB(HPBUFFERARB hPbuffer)
+{
+    TRACE("(%p)\n", hPbuffer);
+    return 0;
+}
+
+int WINAPI wglReleasePbufferDCARB(HPBUFFERARB hPbuffer, HDC hdc)
+{
+    TRACE("(%p, %p)\n", hPbuffer, hdc);
+    return 0;
+}
+
+GLboolean WINAPI wglDestroyPbufferARB(HPBUFFERARB hPbuffer)
+{
+    TRACE("(%p)\n", hPbuffer);
+    return GL_TRUE;
+}
+
+GLboolean WINAPI wglQueryPbufferARB(HPBUFFERARB hPbuffer, int iAttribute, int *piValue)
+{
+    TRACE("(%p, %d, %p)\n", hPbuffer, iAttribute, piValue);
+    return GL_TRUE;
+}
+
+GLboolean WINAPI wglBindTexImageARB(HPBUFFERARB hPbuffer, int iBuffer)
+{
+    TRACE("(%p, %d)\n", hPbuffer, iBuffer);
+    return GL_TRUE;
+}
+
+GLboolean WINAPI wglReleaseTexImageARB(HPBUFFERARB hPbuffer, int iBuffer)
+{
+    TRACE("(%p, %d)\n", hPbuffer, iBuffer);
+    return GL_TRUE;
+}
+
+GLboolean WINAPI wglSetPbufferAttribARB(HPBUFFERARB hPbuffer, const int *piAttribList)
+{
+    TRACE("(%p, %p)\n", hPbuffer, piAttribList);
+    return GL_TRUE;
+}
+
 static const struct {
     const char *name;
     BOOL (*query_function)(const char *gl_version, const char *gl_extensions, const char *glx_extensions,
 			   const char *server_glx_extensions, const char *client_glx_extensions);
 } extension_list[] = {
-    { "WGL_ARB_pbuffer", query_function_pbuffers }
+  { "WGL_ARB_multisample", query_function_multisample },
+  { "WGL_ARB_pbuffer", query_function_pbuffer },
+  { "WGL_ARB_pixel_format" , query_function_pixel_format },
+  { "WGL_ARB_render_texture", query_function_render_texture }
 };
 
 /* Used to initialize the WGL extension string at DLL loading */
@@ -148,6 +244,17 @@
     { "wglGetExtensionsStringARB", (void *) wglGetExtensionsStringARB, NULL, NULL},
     { "wglGetExtensionsStringEXT", (void *) wglGetExtensionsStringEXT, NULL, NULL},
     { "wglGetSwapIntervalEXT", (void *) wglSwapIntervalEXT, NULL, NULL},
-    { "wglSwapIntervalEXT", (void *) wglSwapIntervalEXT, NULL, NULL}
+    { "wglSwapIntervalEXT", (void *) wglSwapIntervalEXT, NULL, NULL},
+    { "wglGetPixelFormatAttribivARB", (void *) wglGetPixelFormatAttribivARB, NULL, NULL},
+    { "wglGetPixelFormatAttribfvARB", (void *) wglGetPixelFormatAttribfvARB, NULL, NULL},
+    { "wglChoosePixelFormatARB", (void *) wglChoosePixelFormatARB, NULL, NULL},
+    { "wglCreatePbufferARB", (void *) wglCreatePbufferARB, NULL, NULL},
+    { "wglGetPbufferDCARB", (void *) wglGetPbufferDCARB, NULL, NULL},
+    { "wglReleasePbufferDCARB", (void *) wglReleasePbufferDCARB, NULL, NULL},
+    { "wglDestroyPbufferARB", (void *) wglDestroyPbufferARB, NULL, NULL},
+    { "wglQueryPbufferARB", (void *) wglQueryPbufferARB, NULL, NULL},
+    { "wglBindTexImageARB", (void *) wglBindTexImageARB, NULL, NULL},
+    { "wglReleaseTexImageARB", (void *) wglReleaseTexImageARB, NULL, NULL},
+    { "wglSetPbufferAttribARB", (void *) wglSetPbufferAttribARB, NULL, NULL}
 };
 int wgl_extension_registry_size = sizeof(wgl_extension_registry) / sizeof(wgl_extension_registry[0]);
