Update for RandR 1.2 name changes.
[free-sw/xcb/demo] / xcbxf86dri.c
1 /* Copyright (C) 2006 Josh Triplett. All Rights Reserved.  See the file
2  * COPYING in this directory for licensing information. */
3 #include <xcb/xcb.h>
4 #include <xcb/xf86dri.h>
5 #include <assert.h>
6 #include <stdio.h>
7 #include <stdlib.h>
8
9 int main(int argc, char **argv)
10 {
11     int screen;
12     xcb_xf86dri_query_version_cookie_t qvc;
13     xcb_xf86dri_query_version_reply_t *qv;
14     xcb_xf86dri_query_direct_rendering_capable_cookie_t qdrc;
15     xcb_xf86dri_query_direct_rendering_capable_reply_t *qdr;
16     xcb_connection_t *c = xcb_connect(NULL, &screen);
17
18     if(xcb_connection_has_error(c))
19     {
20         fprintf(stderr, "Error establishing connection to X server.");
21         return 1;
22     }
23
24     qvc  = xcb_xf86dri_query_version(c);
25     qdrc = xcb_xf86dri_query_direct_rendering_capable(c, screen);
26
27     qv  = xcb_xf86dri_query_version_reply(c, qvc, 0);
28     if(!qv)
29     {
30         fprintf(stderr, "Error querying DRI extension version.\n");
31         return 1;
32     }
33     printf("DRI extension version: %hu.%hu.%u\n",
34            qv->dri_major_version, qv->dri_minor_version, qv->dri_minor_patch);
35     free(qv);
36
37     qdr = xcb_xf86dri_query_direct_rendering_capable_reply(c, qdrc, 0);
38     if(!qdr)
39     {
40         fprintf(stderr, "Error querying direct rendering capability.\n");
41         return 1;
42     }
43     printf("Direct rendering (screen %d): %s\n",
44            screen, qdr->is_capable ? "yes" : "no");
45     free(qdr);
46
47     xcb_disconnect(c);
48
49     return 0;
50 }