13a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgName 23a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 33a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org MESA_pixmap_colormap 43a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 53a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgName Strings 63a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 73a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org GLX_MESA_pixmap_colormap 83a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 93a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgContact 103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Brian Paul (brian.paul 'at' tungstengraphics.com) 123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgStatus 143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Shipping since Mesa 1.2.8 in May, 1996. 163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgVersion 183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Last Modified Date: 8 June 2000 203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgNumber 223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 216 243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgDependencies 263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org OpenGL 1.0 or later is required. 283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org GLX 1.0 or later is required. 293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgOverview 313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Since Mesa allows RGB rendering into drawables with PseudoColor, 333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org StaticColor, GrayScale and StaticGray visuals, Mesa needs a colormap 343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org in order to compute pixel values during rendering. 353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org The colormap associated with a window can be queried with normal 373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Xlib functions but there is no colormap associated with pixmaps. 383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org The glXCreateGLXPixmapMESA function is an alternative to glXCreateGLXPixmap 403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org which allows specification of a colormap. 413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgIP Status 433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Open-source; freely implementable. 453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgIssues 473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org None. 493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgNew Procedures and Functions 513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, 533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Pixmap pixmap, Colormap cmap ); 543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgNew Tokens 563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org None. 583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgAdditions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) 603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Add to section 3.4.2 Off Screen Rendering 623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org The Mesa implementation of GLX allows RGB rendering into X windows and 643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org pixmaps of any visual class, not just TrueColor or DirectColor. In order 653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org to compute pixel values from RGB values Mesa requires a colormap. 663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org The function 683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, 703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org Pixmap pixmap, Colormap cmap ); 713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org allows one to create a GLXPixmap with a specific colormap. The image 733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org rendered into the pixmap may then be copied to a window (which uses the 743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org same colormap and visual) with the expected results. 753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgGLX Protocol 773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org None since this is a client-side extension. 793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgErrors 813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org None. 833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgNew State 853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org None. 873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgRevision History 893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 8 June 2000 - initial specification 91