[Xcb] xcb_create_colormap, how to use?
Thomas Fischer
tjfischer98 at gmail.com
Wed Jun 6 23:12:32 UTC 2018
Thanks, I actually managed to fix it, kinda by luck!
The code that didn't work was:
fb_configs = glXGetFBConfigs(display, default_screen, &num_fb_configs);
if(!fb_configs || num_fb_configs == 0)
{
fprintf(stderr, "glXGetFBConfigs failed\n");
return -1;
}
/* Select first framebuffer config and query visualID */
GLXFBConfig fb_config = fb_configs[0];
glXGetFBConfigAttrib(display, fb_config, GLX_VISUAL_ID , &visualID);
It was choosing a display that didn't have GLX_X_RENDERABLE set.
Using glXChooseFBConfig I was able to get it to work:
int visualID = 0;
static int visual_attribs[] =
{
GLX_X_RENDERABLE, True,
GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_X_VISUAL_TYPE, GLX_TRUE_COLOR,
GLX_RED_SIZE, 8,
GLX_GREEN_SIZE, 8,
GLX_BLUE_SIZE, 8,
GLX_ALPHA_SIZE, 8,
GLX_DEPTH_SIZE, 24,
GLX_STENCIL_SIZE, 8,
GLX_DOUBLEBUFFER, True,
None
};
int num_fb_configs = 0;
GLXFBConfig *fb_configs = 0;
fb_configs = glXChooseFBConfig(display, default_screen, visual_attribs,
&num_fb_configs);
Is there any way I can update the page on the website with this working
code?
On Wed, Jun 6, 2018 at 11:03 AM, Uli Schlachter <psychon at znc.in> wrote:
> Hi,
>
> On 05.06.2018 02:07, Thomas Fischer wrote:
> > I've been trying to compile the code from
> > https://xcb.freedesktop.org/opengl/
> > tl;dr: The code used Xlib to interact with glx, but uses xcb to handle X
> > events.
> >
> > It seems to not run because of something happening in
> xcb_create_colormap,
> >
> > I changed the code to use create_colormap_checked, and printed out the
> > error structure, this was the response, if it's useful:
> > =============ERROR=============
> > Could not create the colormap
> > error->response_type: 0
> > error->error_code: 8
> > error->sequence: 31
> > error->resource_id: 0
> > error->minor_code: 0
> > error->major_code: 78
> > error->full_sequence: 31
> > ===============================
>
> Error 8 is XCB_MATCH / BadMatch.
>
> According to [1], CreateColormap produces a Match error if the visual is
> not supported by the screen. That's all that I can say, sorry. I know
> basically nothing about GLX. (Well, you could print out the value of
> visualID and look it up in the output of /usr/bin/xdpyinfo)
>
> Cheers,
> Uli
>
> [1]: https://www.x.org/releases/X11R7.5/doc/x11proto/proto.html
> --
> Homophobia - The fear that another man will treat you the way you treat
> women.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/xcb/attachments/20180606/a6a5e238/attachment.html>
More information about the Xcb
mailing list