.unbind = applegl_unbind_context,
.wait_gl = applegl_wait_gl,
.wait_x = applegl_wait_x,
- .use_x_font = DRI_glXUseXFont,
.bind_tex_image = NULL,
.release_tex_image = NULL,
.get_proc_address = applegl_get_proc_address,
.unbind = dri2_unbind_context,
.wait_gl = dri2_wait_gl,
.wait_x = dri2_wait_x,
- .use_x_font = DRI_glXUseXFont,
.bind_tex_image = dri2_bind_tex_image,
.release_tex_image = dri2_release_tex_image,
.get_proc_address = NULL,
.unbind = dri3_unbind_context,
.wait_gl = dri3_wait_gl,
.wait_x = dri3_wait_x,
- .use_x_font = DRI_glXUseXFont,
.bind_tex_image = dri3_bind_tex_image,
.release_tex_image = dri3_release_tex_image,
.get_proc_address = NULL,
.unbind = drisw_unbind_context,
.wait_gl = NULL,
.wait_x = NULL,
- .use_x_font = DRI_glXUseXFont,
.bind_tex_image = drisw_bind_tex_image,
.release_tex_image = drisw_release_tex_image,
.get_proc_address = NULL,
.unbind = driwindows_unbind_context,
.wait_gl = NULL,
.wait_x = NULL,
- .use_x_font = DRI_glXUseXFont,
.bind_tex_image = driwindows_bind_tex_image,
.release_tex_image = driwindows_release_tex_image,
.get_proc_address = NULL,
void (*unbind)(struct glx_context *context, struct glx_context *new_ctx);
void (*wait_gl)(struct glx_context *ctx);
void (*wait_x)(struct glx_context *ctx);
- void (*use_x_font)(struct glx_context *ctx,
- Font font, int first, int count, int listBase);
void (*bind_tex_image)(Display * dpy,
GLXDrawable drawable,
int buffer, const int *attrib_list);
glXUseXFont(Font font, int first, int count, int listBase)
{
struct glx_context *gc = __glXGetCurrentContext();
+ xGLXUseXFontReq *req;
+ Display *dpy = gc->currentDpy;
- if (gc->vtable->use_x_font)
- gc->vtable->use_x_font(gc, font, first, count, listBase);
+#ifdef GLX_DIRECT_RENDERING
+ if (gc->isDirect) {
+ DRI_glXUseXFont(gc, font, first, count, listBase);
+ return;
+ }
+#endif
+
+ /* Flush any pending commands out */
+ __glXFlushRenderBuffer(gc, gc->pc);
+
+ /* Send the glXUseFont request */
+ LockDisplay(dpy);
+ GetReq(GLXUseXFont, req);
+ req->reqType = gc->majorOpcode;
+ req->glxCode = X_GLXUseXFont;
+ req->contextTag = gc->currentContextTag;
+ req->font = font;
+ req->first = first;
+ req->count = count;
+ req->listBase = listBase;
+ UnlockDisplay(dpy);
+ SyncHandle();
}
/************************************************************************/
}
static void
-indirect_use_x_font(struct glx_context *gc,
- Font font, int first, int count, int listBase)
-{
- xGLXUseXFontReq *req;
- Display *dpy = gc->currentDpy;
-
- /* Flush any pending commands out */
- __glXFlushRenderBuffer(gc, gc->pc);
-
- /* Send the glXUseFont request */
- LockDisplay(dpy);
- GetReq(GLXUseXFont, req);
- req->reqType = gc->majorOpcode;
- req->glxCode = X_GLXUseXFont;
- req->contextTag = gc->currentContextTag;
- req->font = font;
- req->first = first;
- req->count = count;
- req->listBase = listBase;
- UnlockDisplay(dpy);
- SyncHandle();
-}
-
-static void
indirect_bind_tex_image(Display * dpy,
GLXDrawable drawable,
int buffer, const int *attrib_list)
.unbind = indirect_unbind_context,
.wait_gl = indirect_wait_gl,
.wait_x = indirect_wait_x,
- .use_x_font = indirect_use_x_font,
.bind_tex_image = indirect_bind_tex_image,
.release_tex_image = indirect_release_tex_image,
.get_proc_address = NULL,