summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Versace <[email protected]>2012-08-01 21:23:47 -0700
committerChad Versace <[email protected]>2012-08-07 09:30:33 -0700
commita4bf68ca50da0ce291a464aec9b03a469ab2561a (patch)
tree48228cbcc200abb65e1aa8501142ae76183d802b
parentb2d428cb8d20e003b65769c7757a137406c671e6 (diff)
dri: Simplify use of driConcatConfigs
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: <[email protected]> Signed-off-by: Chad Versace <[email protected]>
-rw-r--r--src/gallium/state_trackers/dri/common/dri_screen.c12
-rw-r--r--src/mesa/drivers/dri/common/utils.c5
-rw-r--r--src/mesa/drivers/dri/intel/intel_screen.c10
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_screen.c3
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_screen.c5
5 files changed, 13 insertions, 22 deletions
diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c
index 406e550e58e..e581a74685a 100644
--- a/src/gallium/state_trackers/dri/common/dri_screen.c
+++ b/src/gallium/state_trackers/dri/common/dri_screen.c
@@ -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) {
diff --git a/src/mesa/drivers/dri/common/utils.c b/src/mesa/drivers/dri/common/utils.c
index 328f56b50d4..6d8cb4e29a6 100644
--- a/src/mesa/drivers/dri/common/utils.c
+++ b/src/mesa/drivers/dri/common/utils.c
@@ -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++;
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
index 491f12a86ab..dea7b66ec11 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -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) {
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
index 2a15c08c679..3f65c36f29b 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
@@ -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;
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 85cfe17ad76..27b57c5a3ea 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -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) {