xserver: Branch 'master' - 3 commits

Keith Packard keithp at kemper.freedesktop.org
Wed Dec 19 12:26:12 PST 2012


 hw/xquartz/GL/visualConfigs.c |  214 ++++++++++++++----------------------------
 hw/xquartz/darwin.c           |   16 +--
 hw/xquartz/xpr/xprScreen.c    |    5 
 3 files changed, 88 insertions(+), 147 deletions(-)

New commits:
commit 2a0b544f5c09f79e4ab04ea8103a5ecf59ee2e7b
Merge: 0eb1559 ba4bb3b
Author: Keith Packard <keithp at keithp.com>
Date:   Wed Dec 19 12:26:00 2012 -0800

    Merge remote-tracking branch 'jeremyhu/master'

commit ba4bb3bc1b87eb57cc34d2ad1f302c9d2a15c847
Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
Date:   Tue Dec 18 01:29:12 2012 -0800

    XQuartz: Don't add the 15bit visual any more
    
    Mountain Lion only supports 32bit backing stores, so don't use 15bit visuals until libXplugin adapts
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>

diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c
index bf51180..e0983d6 100644
--- a/hw/xquartz/darwin.c
+++ b/hw/xquartz/darwin.c
@@ -230,13 +230,15 @@ DarwinScreenInit(ScreenPtr pScreen, int argc, char **argv)
     }
 
     // TODO: Make PseudoColor visuals not suck in TrueColor mode
-    //    if(dfb->depth > 8)
-    //        miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0);
-    if (dfb->depth > 15)
-        miSetVisualTypesAndMasks(15, TrueColorMask, 5, TrueColor,
-                                 RM_ARGB(0, 5, 5, 5), GM_ARGB(0, 5, 5,
-                                                              5),
-                                 BM_ARGB(0, 5, 5, 5));
+    // if(dfb->depth > 8)
+    //    miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0);
+    //
+    // TODO: Re-add support for 15bit
+    // if (dfb->depth > 15)
+    //    miSetVisualTypesAndMasks(15, TrueColorMask, 5, TrueColor,
+    //                             RM_ARGB(0, 5, 5, 5), GM_ARGB(0, 5, 5,
+    //                                                          5),
+    //                             BM_ARGB(0, 5, 5, 5));
     if (dfb->depth > 24)
         miSetVisualTypesAndMasks(24, TrueColorMask, 8, TrueColor,
                                  RM_ARGB(0, 8, 8, 8), GM_ARGB(0, 8, 8,
diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c
index efe2aa8..e376019 100644
--- a/hw/xquartz/xpr/xprScreen.c
+++ b/hw/xquartz/xpr/xprScreen.c
@@ -359,6 +359,10 @@ have_depth:
         dfb->blueMask = 0;
         break;
 
+#if 0
+    // Removed because Mountain Lion removed support for
+    // 15bit backing stores.  We can possibly re-add
+    // this once libXplugin is updated to work around it.
     case 15:
         dfb->visuals = TrueColorMask;     //LARGE_VISUALS;
         dfb->preferredCVC = TrueColor;
@@ -369,6 +373,7 @@ have_depth:
         dfb->greenMask = GM_ARGB(0, 5, 5, 5);
         dfb->blueMask = BM_ARGB(0, 5, 5, 5);
         break;
+#endif
 
     //        case 24:
     default:
commit c298f9c42ec05486ac88fc91a84739d7c3e3ea9e
Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
Date:   Tue Dec 18 01:28:02 2012 -0800

    XQuartz: Revert some unfortunate auto-indenting mishaps with our super-nested for-loops
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>

diff --git a/hw/xquartz/GL/visualConfigs.c b/hw/xquartz/GL/visualConfigs.c
index e37eefb..03486cd 100644
--- a/hw/xquartz/GL/visualConfigs.c
+++ b/hw/xquartz/GL/visualConfigs.c
@@ -58,40 +58,38 @@
 #include "darwinfb.h"
 
 /* Based originally on code from indirect.c which was based on code from i830_dri.c. */
-__GLXconfig *
-__glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
-{
+__GLXconfig *__glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber) {
     int numConfigs = 0;
     __GLXconfig *visualConfigs, *c;
     struct glCapabilities caps;
     struct glCapabilitiesConfig *conf;
     int stereo, depth, aux, buffers, stencil, accum, color, msample;
 
-    if (getGlCapabilities(&caps)) {
+    if(getGlCapabilities(&caps)) {
         ErrorF("error from getGlCapabilities()!\n");
         return NULL;
     }
 
     /*
-       conf->stereo is 0 or 1, but we need at least 1 iteration of the loop,
-       so we treat a true conf->stereo as 2.
+     conf->stereo is 0 or 1, but we need at least 1 iteration of the loop,
+     so we treat a true conf->stereo as 2.
 
-       The depth size is 0 or 24.  Thus we do 2 iterations for that.
+     The depth size is 0 or 24.  Thus we do 2 iterations for that.
 
-       conf->aux_buffers (when available/non-zero) result in 2 iterations instead of 1.
+     conf->aux_buffers (when available/non-zero) result in 2 iterations instead of 1.
 
-       conf->buffers indicates whether we have single or double buffering.
+     conf->buffers indicates whether we have single or double buffering.
 
-       conf->total_stencil_bit_depths
+     conf->total_stencil_bit_depths
 
-       conf->total_color_buffers indicates the RGB/RGBA color depths.
+     conf->total_color_buffers indicates the RGB/RGBA color depths.
 
-       conf->total_accum_buffers iterations for accum (with at least 1 if equal to 0)
+     conf->total_accum_buffers iterations for accum (with at least 1 if equal to 0)
 
-       conf->total_depth_buffer_depths
+     conf->total_depth_buffer_depths
 
-       conf->multisample_buffers iterations (with at least 1 if equal to 0).  We add 1
-       for the 0 multisampling config.
+     conf->multisample_buffers iterations (with at least 1 if equal to 0).  We add 1
+     for the 0 multisampling config.
 
      */
 
@@ -99,57 +97,43 @@ __glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
 
     numConfigs = 0;
 
-    for (conf = caps.configurations; conf; conf = conf->next) {
-        if (conf->total_color_buffers <= 0)
+    for(conf = caps.configurations; conf; conf = conf->next) {
+        if(conf->total_color_buffers <= 0)
             continue;
 
         numConfigs += (conf->stereo ? 2 : 1)
-                      * (conf->aux_buffers ? 2 : 1)
-                      * conf->buffers
-                      * ((conf->total_stencil_bit_depths >
-                          0) ? conf->total_stencil_bit_depths : 1)
-                      * conf->total_color_buffers
-                      * ((conf->total_accum_buffers >
-                          0) ? conf->total_accum_buffers : 1)
-                      * conf->total_depth_buffer_depths
-                      * (conf->multisample_buffers + 1);
+	    * (conf->aux_buffers ? 2 : 1)
+	    * conf->buffers
+	    * ((conf->total_stencil_bit_depths > 0) ? conf->total_stencil_bit_depths : 1)
+	    * conf->total_color_buffers
+	    * ((conf->total_accum_buffers > 0) ? conf->total_accum_buffers : 1)
+	    * conf->total_depth_buffer_depths
+	    * (conf->multisample_buffers + 1);
     }
 
-    if (numConfigsPtr)
+    if(numConfigsPtr)
         *numConfigsPtr = numConfigs;
 
     visualConfigs = calloc(sizeof(*visualConfigs), numConfigs);
 
-    if (NULL == visualConfigs) {
+    if(NULL == visualConfigs) {
         ErrorF("xcalloc failure when allocating visualConfigs\n");
         freeGlCapabilities(&caps);
         return NULL;
     }
 
     c = visualConfigs; /* current buffer */
-    for (conf = caps.configurations; conf; conf = conf->next) {
-        for (stereo = 0; stereo < (conf->stereo ? 2 : 1); ++stereo) {
-            for (aux = 0; aux < (conf->aux_buffers ? 2 : 1); ++aux) {
-                for (buffers = 0; buffers < conf->buffers; ++buffers) {
-                    for (stencil = 0;
-                         stencil < ((conf->total_stencil_bit_depths > 0) ?
-                                    conf->
-                                    total_stencil_bit_depths : 1);
-                         ++stencil) {
-                        for (color = 0; color < conf->total_color_buffers;
-                             ++color) {
-                            for (accum = 0;
-                                 accum < ((conf->total_accum_buffers > 0) ?
-                                          conf->
-                                          total_accum_buffers : 1);
-                                 ++accum) {
-                                for (depth = 0;
-                                     depth < conf->total_depth_buffer_depths;
-                                     ++depth) {
-                                    for (msample = 0;
-                                         msample <
-                                         (conf->multisample_buffers + 1);
-                                         ++msample) {
+    for(conf = caps.configurations; conf; conf = conf->next) {
+        for(stereo = 0; stereo < (conf->stereo ? 2 : 1); ++stereo) {
+            for(aux = 0; aux < (conf->aux_buffers ? 2 : 1); ++aux) {
+                for(buffers = 0; buffers < conf->buffers; ++buffers) {
+                    for(stencil = 0; stencil < ((conf->total_stencil_bit_depths > 0) ?
+                                                conf->total_stencil_bit_depths : 1); ++stencil) {
+                        for(color = 0; color < conf->total_color_buffers; ++color) {
+                            for(accum = 0; accum < ((conf->total_accum_buffers > 0) ?
+                                                    conf->total_accum_buffers : 1); ++accum) {
+                                for(depth = 0; depth < conf->total_depth_buffer_depths; ++depth) {
+                                    for(msample = 0; msample < (conf->multisample_buffers + 1); ++msample) {
 
                                         // Global
                                         c->visualID = -1;
@@ -162,12 +146,10 @@ __glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
                                         c->indexBits = 0;
                                         c->pixmapMode = 0; // TODO: What should this be?
 
-                                        if (conf->accelerated) {
+                                        if(conf->accelerated) {
                                             c->visualRating = GLX_NONE;
-                                        }
-                                        else {
-                                            c->visualRating =
-                                                GLX_SLOW_VISUAL_EXT;
+                                        } else {
+                                            c->visualRating = GLX_SLOW_VISUAL_EXT;
                                         }
 
                                         c->transparentPixel = GLX_NONE;
@@ -179,91 +161,52 @@ __glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
 
                                         c->visualSelectGroup = 0;
 
-                                        c->swapMethod =
-                                            GLX_SWAP_UNDEFINED_OML;
+                                        c->swapMethod = GLX_SWAP_UNDEFINED_OML;
 
                                         // Stereo
                                         c->stereoMode = stereo ? TRUE : FALSE;
 
                                         // Aux buffers
-                                        c->numAuxBuffers =
-                                            aux ? conf->aux_buffers : 0;
+                                        c->numAuxBuffers = aux ? conf->aux_buffers : 0;
 
                                         // Double Buffered
-                                        c->doubleBufferMode =
-                                            buffers ? TRUE : FALSE;
+                                        c->doubleBufferMode = buffers ? TRUE : FALSE;
 
                                         // Stencil Buffer
-                                        if (conf->total_stencil_bit_depths >
-                                            0) {
-                                            c->stencilBits =
-                                                conf->stencil_bit_depths[
-                                                    stencil];
-                                        }
-                                        else {
+                                        if(conf->total_stencil_bit_depths > 0) {
+                                            c->stencilBits = conf->stencil_bit_depths[stencil];
+                                        } else {
                                             c->stencilBits = 0;
                                         }
 
                                         // Color
-                                        if (GLCAPS_COLOR_BUF_INVALID_VALUE !=
-                                            conf->color_buffers[color].a) {
-                                            c->alphaBits =
-                                                conf->color_buffers[color].a;
-                                        }
-                                        else {
+                                        if(GLCAPS_COLOR_BUF_INVALID_VALUE != conf->color_buffers[color].a) {
+                                            c->alphaBits = conf->color_buffers[color].a;
+                                        } else {
                                             c->alphaBits = 0;
                                         }
-                                        c->redBits =
-                                            conf->color_buffers[color].r;
-                                        c->greenBits =
-                                            conf->color_buffers[color].g;
-                                        c->blueBits =
-                                            conf->color_buffers[color].b;
-
-                                        c->rgbBits = c->alphaBits +
-                                                     c->redBits +
-                                                     c->greenBits +
-                                                     c->blueBits;
-
-                                        c->alphaMask =
-                                            AM_ARGB(c->alphaBits, c->redBits,
-                                                    c->greenBits,
-                                                    c->blueBits);
-                                        c->redMask =
-                                            RM_ARGB(c->alphaBits, c->redBits,
-                                                    c->greenBits,
-                                                    c->blueBits);
-                                        c->greenMask =
-                                            GM_ARGB(c->alphaBits, c->redBits,
-                                                    c->greenBits,
-                                                    c->blueBits);
-                                        c->blueMask =
-                                            BM_ARGB(c->alphaBits, c->redBits,
-                                                    c->greenBits,
-                                                    c->blueBits);
+                                        c->redBits   = conf->color_buffers[color].r;
+                                        c->greenBits = conf->color_buffers[color].g;
+                                        c->blueBits  = conf->color_buffers[color].b;
+
+                                        c->rgbBits = c->alphaBits + c->redBits + c->greenBits + c->blueBits;
+
+                                        c->alphaMask = AM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits);
+                                        c->redMask   = RM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits);
+                                        c->greenMask = GM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits);
+                                        c->blueMask  = BM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits);
 
                                         // Accumulation Buffers
-                                        if (conf->total_accum_buffers > 0) {
-                                            c->accumRedBits =
-                                                conf->accum_buffers[accum].r;
-                                            c->accumGreenBits =
-                                                conf->accum_buffers[accum].g;
-                                            c->accumBlueBits =
-                                                conf->accum_buffers[accum].b;
-                                            if (
-                                                GLCAPS_COLOR_BUF_INVALID_VALUE
-                                                !=
-                                                conf->accum_buffers[accum].a)
-                                            {
-                                                c->accumAlphaBits =
-                                                    conf->accum_buffers[accum
-                                                    ].a;
-                                            }
-                                            else {
+                                        if(conf->total_accum_buffers > 0) {
+                                            c->accumRedBits = conf->accum_buffers[accum].r;
+                                            c->accumGreenBits = conf->accum_buffers[accum].g;
+                                            c->accumBlueBits = conf->accum_buffers[accum].b;
+                                            if(GLCAPS_COLOR_BUF_INVALID_VALUE != conf->accum_buffers[accum].a) {
+                                                c->accumAlphaBits = conf->accum_buffers[accum].a;
+                                            } else {
                                                 c->accumAlphaBits = 0;
                                             }
-                                        }
-                                        else {
+                                        } else {
                                             c->accumRedBits = 0;
                                             c->accumGreenBits = 0;
                                             c->accumBlueBits = 0;
@@ -271,17 +214,13 @@ __glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
                                         }
 
                                         // Depth
-                                        c->depthBits =
-                                            conf->depth_buffers[depth];
+                                        c->depthBits = conf->depth_buffers[depth];
 
                                         // MultiSample
-                                        if (msample > 0) {
-                                            c->samples =
-                                                conf->multisample_samples;
-                                            c->sampleBuffers =
-                                                conf->multisample_buffers;
-                                        }
-                                        else {
+                                        if(msample > 0) {
+                                            c->samples = conf->multisample_samples;
+                                            c->sampleBuffers = conf->multisample_buffers;
+                                        } else {
                                             c->samples = 0;
                                             c->sampleBuffers = 0;
                                         }
@@ -291,9 +230,7 @@ __glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
                                          * GLXPbuffers in direct mode.
                                          */
                                         /* SGIX_fbconfig / GLX 1.3 */
-                                        c->drawableType = GLX_WINDOW_BIT |
-                                                          GLX_PIXMAP_BIT |
-                                                          GLX_PBUFFER_BIT;
+                                        c->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT | GLX_PBUFFER_BIT;
                                         c->renderType = GLX_RGBA_BIT;
                                         c->xRenderable = GL_TRUE;
                                         c->fbconfigID = -1;
@@ -310,8 +247,7 @@ __glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
                                          */
                                         c->maxPbufferWidth = 8192;
                                         c->maxPbufferHeight = 8192;
-                                        c->maxPbufferPixels =
-                                            /*Do we need this?*/ 0;
+                                        c->maxPbufferPixels = /*Do we need this?*/ 0;
                                         /*
                                          * There is no introspection for this sort of thing
                                          * with CGL.  What should we do realistically?
@@ -337,12 +273,10 @@ __glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber)
         }
     }
 
-    (c - 1)->next = NULL;
+    (c-1)->next = NULL;
 
     if (c - visualConfigs != numConfigs) {
-        FatalError(
-            "numConfigs calculation error in setVisualConfigs!  numConfigs is %d  i is %d\n",
-            numConfigs, (int)(c - visualConfigs));
+        FatalError("numConfigs calculation error in setVisualConfigs!  numConfigs is %d  i is %d\n", numConfigs, (int)(c - visualConfigs));
     }
 
     freeGlCapabilities(&caps);


More information about the xorg-commit mailing list