DIB Engine: initial pass-through implementation
[wine/hacks.git] / dlls / winedib.drv / opengl.c
blob27e42290a87eeb45402b2f923327c1dd39b99eed
1 /*
2 * DIBDRV OpenGL functions
4 * Copyright 2009 Massimo Del Fedele
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include "config.h"
22 #include "wine/port.h"
24 #include "dibdrv.h"
26 #define HPBUFFERARB void *
28 WINE_DEFAULT_DEBUG_CHANNEL(dibdrv);
30 int DIBDRV_ChoosePixelFormat( DIBDRVPHYSDEV *physDev,
31 const PIXELFORMATDESCRIPTOR *ppfd )
33 TRACE("physDev:%p, ppfd:%p\n", physDev, ppfd);
35 ONCE(FIXME("stub\n"));
36 return _DIBDRV_GetDisplayDriver()->pChoosePixelFormat(physDev->X11PhysDev, ppfd);
39 int DIBDRV_DescribePixelFormat( DIBDRVPHYSDEV *physDev,
40 int iPixelFormat,
41 UINT nBytes,
42 PIXELFORMATDESCRIPTOR *ppfd )
44 TRACE("physDev:%p, iPixelFormat:%d, nBytes:%d, ppfd:%p\n", physDev, iPixelFormat, nBytes, ppfd);
46 ONCE(FIXME("stub\n"));
47 return _DIBDRV_GetDisplayDriver()->pDescribePixelFormat(physDev->X11PhysDev, iPixelFormat, nBytes, ppfd);
50 int DIBDRV_GetPixelFormat( DIBDRVPHYSDEV *physDev)
52 TRACE("physDev:%p\n", physDev);
54 ONCE(FIXME("stub\n"));
55 return _DIBDRV_GetDisplayDriver()->pGetPixelFormat(physDev->X11PhysDev);
58 BOOL DIBDRV_SetPixelFormat( DIBDRVPHYSDEV *physDev,
59 int iPixelFormat,
60 const PIXELFORMATDESCRIPTOR *ppfd )
62 TRACE("physDev:%p, iPixelFormat:%d, ppfd:%p\n", physDev, iPixelFormat, ppfd);
64 ONCE(FIXME("stub\n"));
65 return _DIBDRV_GetDisplayDriver()->pSetPixelFormat(physDev->X11PhysDev, iPixelFormat, ppfd);
68 BOOL DIBDRV_SwapBuffers( DIBDRVPHYSDEV *physDev )
70 TRACE("physDev:%p\n", physDev);
72 ONCE(FIXME("stub\n"));
73 return _DIBDRV_GetDisplayDriver()->pSwapBuffers(physDev->X11PhysDev);
76 /**
77 * DIBDRV_wglCopyContext
79 * For OpenGL32 wglCopyContext.
81 BOOL CDECL DIBDRV_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask)
83 TRACE("hglrcSrc:%p, hglrcDst:%p, mask:%x\n", hglrcSrc, hglrcDst, mask);
85 ONCE(FIXME("stub\n"));
86 return _DIBDRV_GetDisplayDriver()->pwglCopyContext(hglrcSrc, hglrcDst, mask);
89 /**
90 * DIBDRV_wglCreateContext
92 * For OpenGL32 wglCreateContext.
94 HGLRC CDECL DIBDRV_wglCreateContext(DIBDRVPHYSDEV *physDev)
96 TRACE("physDev:%p\n", physDev);
98 ONCE(FIXME("stub\n"));
99 return _DIBDRV_GetDisplayDriver()->pwglCreateContext(physDev->X11PhysDev);
103 * DIBDRV_wglDeleteContext
105 * For OpenGL32 wglDeleteContext.
107 BOOL CDECL DIBDRV_wglDeleteContext(HGLRC hglrc)
109 TRACE("hglrc:%p\n", hglrc);
111 ONCE(FIXME("stub\n"));
112 return _DIBDRV_GetDisplayDriver()->pwglDeleteContext(hglrc);
116 * DIBDRV_wglGetProcAddress
118 * For OpenGL32 wglGetProcAddress.
120 PROC CDECL DIBDRV_wglGetProcAddress(LPCSTR lpszProc)
122 TRACE("lpszProc:%p\n", lpszProc);
124 ONCE(FIXME("stub\n"));
125 return _DIBDRV_GetDisplayDriver()->pwglGetProcAddress(lpszProc);
129 * DIBDRV_wglGetPbufferDCARB
131 * WGL_ARB_pbuffer: wglGetPbufferDCARB
132 * The function wglGetPbufferDCARB returns a device context for a pbuffer.
133 * Gdi32 implements the part of this function which creates a device context.
134 * This part associates the physDev with the X drawable of the pbuffer.
136 HDC CDECL DIBDRV_wglGetPbufferDCARB(DIBDRVPHYSDEV *physDev, HPBUFFERARB hPbuffer)
138 TRACE("physDev:%p, hPbuffer:%p\n", physDev, hPbuffer);
140 ONCE(FIXME("stub\n"));
141 return _DIBDRV_GetDisplayDriver()->pwglGetPbufferDCARB(physDev->X11PhysDev, hPbuffer);
145 * DIBDRV_wglMakeContextCurrentARB
147 * For OpenGL32 wglMakeContextCurrentARB
149 BOOL CDECL DIBDRV_wglMakeContextCurrentARB(DIBDRVPHYSDEV* pDrawDev, DIBDRVPHYSDEV* pReadDev, HGLRC hglrc)
151 TRACE("pDrawDev:%p, pReadDev:%p, hglrc:%p\n", pDrawDev, pReadDev, hglrc);
153 ONCE(FIXME("stub\n"));
154 return _DIBDRV_GetDisplayDriver()->pwglMakeContextCurrentARB(pDrawDev->X11PhysDev, pReadDev->X11PhysDev, hglrc);
158 * DIBDRV_wglMakeCurrent
160 * For OpenGL32 wglMakeCurrent.
162 BOOL CDECL DIBDRV_wglMakeCurrent(DIBDRVPHYSDEV *physDev, HGLRC hglrc)
164 TRACE("physDev:%p, hglrc:%p\n", physDev, hglrc);
166 ONCE(FIXME("stub\n"));
167 return _DIBDRV_GetDisplayDriver()->pwglMakeCurrent(physDev->X11PhysDev, hglrc);
171 * DIBDRV_wglSetPixelFormatWINE
173 * WGL_WINE_pixel_format_passthrough: wglSetPixelFormatWINE
174 * This is a WINE-specific wglSetPixelFormat which can set the pixel format multiple times.
176 BOOL CDECL DIBDRV_wglSetPixelFormatWINE(DIBDRVPHYSDEV *physDev, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd)
178 TRACE("physDev:%p, iPixelFormat:%d, ppfd:%p\n", physDev, iPixelFormat, ppfd);
180 ONCE(FIXME("stub\n"));
181 return _DIBDRV_GetDisplayDriver()->pwglSetPixelFormatWINE(physDev->X11PhysDev, iPixelFormat, ppfd);
185 * DIBDRV_wglShareLists
187 * For OpenGL32 wglShareLists.
189 BOOL CDECL DIBDRV_wglShareLists(HGLRC hglrc1, HGLRC hglrc2)
191 TRACE("hglrc1:%p, hglrc2:%p\n", hglrc1, hglrc2);
193 ONCE(FIXME("stub\n"));
194 return _DIBDRV_GetDisplayDriver()->pwglShareLists(hglrc1, hglrc2);
198 * DIBDRV_wglUseFontBitmapsA
200 * For OpenGL32 wglUseFontBitmapsA.
202 BOOL CDECL DIBDRV_wglUseFontBitmapsA(DIBDRVPHYSDEV *physDev, DWORD first, DWORD count, DWORD listBase)
204 TRACE("physDev:%p, first:%d, count:%d, listBase:%d\n", physDev, first, count, listBase);
206 ONCE(FIXME("stub\n"));
207 return _DIBDRV_GetDisplayDriver()->pwglUseFontBitmapsA(physDev->X11PhysDev, first, count, listBase);
211 * DIBDRV_wglUseFontBitmapsW
213 * For OpenGL32 wglUseFontBitmapsW.
215 BOOL CDECL DIBDRV_wglUseFontBitmapsW(DIBDRVPHYSDEV *physDev, DWORD first, DWORD count, DWORD listBase)
217 TRACE("physDev:%p, first:%d, count:%d, listBase:%d\n", physDev, first, count, listBase);
219 ONCE(FIXME("stub\n"));
220 return _DIBDRV_GetDisplayDriver()->pwglUseFontBitmapsW(physDev->X11PhysDev, first, count, listBase);