Lines Matching +full:composite +full:- +full:in
3 * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
7 * to deal in the Software without restriction, including without limitation
15 * shall be included in all copies or substantial portions of the Software.
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
22 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 * Except as contained in this notice, the name of Silicon Graphics, Inc.
26 * shall not be used in advertising or otherwise to promote the sale, use or
27 * other dealings in this Software without prior written authorization from
32 #include <dix-config.h>
46 #include "protocol-versions.h"
48 #ifdef COMPOSITE
167 pScreen->CloseScreen = pGlxScreen->CloseScreen; in glxCloseScreen()
169 pGlxScreen->destroy(pGlxScreen); in glxCloseScreen()
171 return pScreen->CloseScreen(pScreen); in glxCloseScreen()
177 return dixLookupPrivate(&pScreen->devPrivates, glxScreenPrivateKey); in glxGetScreen()
189 return ((unsigned) (visualType - GLX_TRUE_COLOR) < 6) in glxConvertToXVisualType()
190 ? x_visual_types[visualType - GLX_TRUE_COLOR] : -1; in glxConvertToXVisualType()
193 /* This code inspired by composite/compinit.c. We could move this to
194 * mi/ and share it with composite.*/
203 for (i = 0; i < pScreen->numDepths; i++) { in AddScreenVisuals()
204 if (pScreen->allowedDepths[i].depth == d) { in AddScreenVisuals()
205 depth = &pScreen->allowedDepths[i]; in AddScreenVisuals()
216 return pScreen->visuals + pScreen->numVisuals - count; in AddScreenVisuals()
228 return -1; in findFirstSet()
236 maxBits = max(config->redBits, max(config->greenBits, config->blueBits)); in initGlxVisual()
238 config->visualID = visual->vid; in initGlxVisual()
239 visual->class = glxConvertToXVisualType(config->visualType); in initGlxVisual()
240 visual->bitsPerRGBValue = maxBits; in initGlxVisual()
241 visual->ColormapEntries = 1 << maxBits; in initGlxVisual()
242 visual->nplanes = config->redBits + config->greenBits + config->blueBits; in initGlxVisual()
244 visual->redMask = config->redMask; in initGlxVisual()
245 visual->greenMask = config->greenMask; in initGlxVisual()
246 visual->blueMask = config->blueMask; in initGlxVisual()
247 visual->offsetRed = findFirstSet(config->redMask); in initGlxVisual()
248 visual->offsetGreen = findFirstSet(config->greenMask); in initGlxVisual()
249 visual->offsetBlue = findFirstSet(config->blueMask); in initGlxVisual()
258 for (config = pGlxScreen->fbconfigs; config != NULL; config = config->next) { in pickFBConfig()
261 if (config->redMask != visual->redMask || in pickFBConfig()
262 config->greenMask != visual->greenMask || in pickFBConfig()
263 config->blueMask != visual->blueMask) in pickFBConfig()
265 if (config->visualRating != GLX_NONE) in pickFBConfig()
268 if (config->sampleBuffers) in pickFBConfig()
270 if (glxConvertToXVisualType(config->visualType) != visual->class) in pickFBConfig()
272 /* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */ in pickFBConfig()
273 if (visual->nplanes == 32 && config->rgbBits != 32) in pickFBConfig()
275 /* If it's the 32-bit RGBA visual, do not pick sRGB capable config. in pickFBConfig()
278 if (visual->nplanes == 32 && config->sRGBCapable == GL_TRUE) in pickFBConfig()
281 if (config->visualID != 0) in pickFBConfig()
283 #ifdef COMPOSITE in pickFBConfig()
286 if (!!compIsAlternateVisual(pGlxScreen->pScreen, visual->vid) != in pickFBConfig()
287 !!config->duplicatedForComp) in pickFBConfig()
292 * If possible, use the same swapmethod for all built-in visual in pickFBConfig()
293 * fbconfigs, to avoid getting the 32-bit composite visual when in pickFBConfig()
296 if (config->swapMethod == GLX_SWAP_UNDEFINED_OML) in pickFBConfig()
298 if (config->swapMethod == GLX_SWAP_EXCHANGE_OML) in pickFBConfig()
300 if (config->doubleBufferMode > 0) in pickFBConfig()
302 if (config->depthBits > 0) in pickFBConfig()
304 if (config->stencilBits > 0) in pickFBConfig()
306 if (config->alphaBits > 0) in pickFBConfig()
328 pGlxScreen->pScreen = pScreen; in __glXScreenInit()
329 pGlxScreen->GLextensions = strdup(GLServerExtensions); in __glXScreenInit()
330 pGlxScreen->GLXextensions = NULL; in __glXScreenInit()
332 pGlxScreen->CloseScreen = pScreen->CloseScreen; in __glXScreenInit()
333 pScreen->CloseScreen = glxCloseScreen; in __glXScreenInit()
336 for (m = pGlxScreen->fbconfigs; m != NULL; m = m->next) { in __glXScreenInit()
337 m->fbconfigID = FakeClientID(0); in __glXScreenInit()
338 m->visualID = 0; in __glXScreenInit()
341 pGlxScreen->numFBConfigs = i; in __glXScreenInit()
343 pGlxScreen->visuals = in __glXScreenInit()
344 calloc(pGlxScreen->numFBConfigs, sizeof(__GLXconfig *)); in __glXScreenInit()
351 for (i = 0; i < pScreen->numVisuals; i++) { in __glXScreenInit()
352 VisualPtr visual = &pScreen->visuals[i]; in __glXScreenInit()
356 pGlxScreen->visuals[pGlxScreen->numVisuals++] = config; in __glXScreenInit()
357 config->visualID = visual->vid; in __glXScreenInit()
358 #ifdef COMPOSITE in __glXScreenInit()
360 if (compIsAlternateVisual(pScreen, visual->vid)) in __glXScreenInit()
361 config->visualSelectGroup++; in __glXScreenInit()
370 for (config = pGlxScreen->fbconfigs; config != NULL; config = config->next) { in __glXScreenInit()
375 if (config->visualID != 0) in __glXScreenInit()
379 * visuals for compositing (that's what the 32-bit composite visual in __glXScreenInit()
382 depth = config->redBits + config->greenBits + config->blueBits; in __glXScreenInit()
383 #ifdef COMPOSITE in __glXScreenInit()
385 if (config->duplicatedForComp) { in __glXScreenInit()
386 depth += config->alphaBits; in __glXScreenInit()
387 config->visualSelectGroup++; in __glXScreenInit()
394 for (i = 0; i < pScreen->numVisuals; i++) { in __glXScreenInit()
395 if (depth == pScreen->visuals[i].nplanes) in __glXScreenInit()
399 if (i == pScreen->numVisuals) in __glXScreenInit()
400 config->drawableType &= ~(GLX_WINDOW_BIT); in __glXScreenInit()
403 if (!(config->drawableType & GLX_WINDOW_BIT)) { in __glXScreenInit()
404 config->visualID = 0; in __glXScreenInit()
413 #ifdef COMPOSITE in __glXScreenInit()
415 if (config->duplicatedForComp) in __glXScreenInit()
416 (void) CompositeRegisterAlternateVisuals(pScreen, &visual->vid, 1); in __glXScreenInit()
419 pGlxScreen->visuals[pGlxScreen->numVisuals++] = config; in __glXScreenInit()
423 dixSetPrivate(&pScreen->devPrivates, glxScreenPrivateKey, pGlxScreen); in __glXScreenInit()
425 if (pGlxScreen->glvnd) in __glXScreenInit()
426 __glXEnableExtension(pGlxScreen->glx_enable_bits, "GLX_EXT_libglvnd"); in __glXScreenInit()
428 i = __glXGetExtensionString(pGlxScreen->glx_enable_bits, NULL); in __glXScreenInit()
430 pGlxScreen->GLXextensions = xnfalloc(i); in __glXScreenInit()
431 (void) __glXGetExtensionString(pGlxScreen->glx_enable_bits, in __glXScreenInit()
432 pGlxScreen->GLXextensions); in __glXScreenInit()
442 free(screen->glvnd); in __glXScreenDestroy()
443 free(screen->GLXextensions); in __glXScreenDestroy()
444 free(screen->GLextensions); in __glXScreenDestroy()
445 free(screen->visuals); in __glXScreenDestroy()
447 for (config = screen->fbconfigs; config != NULL; config = next) { in __glXScreenDestroy()
448 next = config->next; in __glXScreenDestroy()