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