dri: Simplify use of driConcatConfigs
authorChad Versace <chad.versace@linux.intel.com>
Thu, 2 Aug 2012 04:23:47 +0000 (21:23 -0700)
committerChad Versace <chad.versace@linux.intel.com>
Tue, 7 Aug 2012 16:30:33 +0000 (09:30 -0700)
If either argument to driConcatConfigs(a, b) is null or the empty list,
then simply return the other argument as the resultant list.

All callers were accomplishing that same behavior anyway. And each caller
accopmplished it with the same pattern. So this patch moves that external
pattern into the function.

Reviewed-by: <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/gallium/state_trackers/dri/common/dri_screen.c
src/mesa/drivers/dri/common/utils.c
src/mesa/drivers/dri/intel/intel_screen.c
src/mesa/drivers/dri/nouveau/nouveau_screen.c
src/mesa/drivers/dri/radeon/radeon_screen.c

index 406e550e58e8a2945de26cf7c90dd16dc297e0b1..e581a74685ae146b87c8f58f7ed53d4bfd45e2dd 100644 (file)
@@ -219,16 +219,12 @@ dri_fill_in_modes(struct dri_screen *screen,
 
    if (pixel_bits == 16) {
       configs = configs_r5g6b5;
-      if (configs_a8r8g8b8)
-         configs = configs ? driConcatConfigs(configs, configs_a8r8g8b8) : configs_a8r8g8b8;
-      if (configs_x8r8g8b8)
-        configs = configs ? driConcatConfigs(configs, configs_x8r8g8b8) : configs_x8r8g8b8;
+      configs = driConcatConfigs(configs, configs_a8r8g8b8);
+      configs = driConcatConfigs(configs, configs_x8r8g8b8);
    } else {
       configs = configs_a8r8g8b8;
-      if (configs_x8r8g8b8)
-        configs = configs ? driConcatConfigs(configs, configs_x8r8g8b8) : configs_x8r8g8b8;
-      if (configs_r5g6b5)
-         configs = configs ? driConcatConfigs(configs, configs_r5g6b5) : configs_r5g6b5;
+      configs = driConcatConfigs(configs, configs_x8r8g8b8);
+      configs = driConcatConfigs(configs, configs_r5g6b5);
    }
 
    if (configs == NULL) {
index 328f56b50d474b668d306a0fb0460940c422884f..6d8cb4e29a641782f699a8aefd0f5c2d86d6a02f 100644 (file)
@@ -409,6 +409,11 @@ __DRIconfig **driConcatConfigs(__DRIconfig **a,
     __DRIconfig **all;
     int i, j, index;
 
+    if (a == NULL || a[0] == NULL)
+       return b;
+    else if (b == NULL || b[0] == NULL)
+       return a;
+
     i = 0;
     while (a[i] != NULL)
        i++;
index 491f12a86ab2f9e3d2cde7918ac5669cb384b07d..dea7b66ec111130379597fe98403dd0d80ea3168 100644 (file)
@@ -878,10 +878,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
                                      msaa_samples_array,
                                      ARRAY_SIZE(msaa_samples_array),
                                      false);
-      if (configs == NULL)
-         configs = new_configs;
-      else
-         configs = driConcatConfigs(configs, new_configs);
+      configs = driConcatConfigs(configs, new_configs);
    }
 
    /* Generate the minimum possible set of configs that include an
@@ -903,10 +900,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
                                      back_buffer_modes + 1, 1,
                                      msaa_samples_array, 1,
                                      true);
-      if (configs == NULL)
-         configs = new_configs;
-      else
-         configs = driConcatConfigs(configs, new_configs);
+      configs = driConcatConfigs(configs, new_configs);
    }
 
    if (configs == NULL) {
index 2a15c08c6793e048058a493fdd55b5c5b6b2a3b0..3f65c36f29b9c8a0b1afb76187e769361902c861 100644 (file)
@@ -79,8 +79,7 @@ nouveau_get_configs(void)
                                          GL_TRUE);
                assert(config);
 
-               configs = configs ? driConcatConfigs(configs, config)
-                       : config;
+               configs = driConcatConfigs(configs, config);
        }
 
        return (const __DRIconfig **)configs;
index 85cfe17ad76aa548b103dbddbb92b61557f78863..27b57c5a3ea618438f0d362e298ebc94708f01db 100644 (file)
@@ -760,10 +760,7 @@ __DRIconfig **radeonInitScreen2(__DRIscreen *psp)
                                     msaa_samples_array,
                                     ARRAY_SIZE(msaa_samples_array),
                                     GL_TRUE);
-      if (configs == NULL)
-        configs = new_configs;
-      else
-        configs = driConcatConfigs(configs, new_configs);
+      configs = driConcatConfigs(configs, new_configs);
    }
 
    if (configs == NULL) {