summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r--src/mesa/drivers/dri/intel/intel_screen.c36
1 files changed, 16 insertions, 20 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
index dea7b66ec11..cd057acc183 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -828,14 +828,13 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
GLX_NONE, GLX_SWAP_UNDEFINED_OML, GLX_SWAP_COPY_OML
};
+ static const uint8_t singlesample_samples[1] = {0};
+
GLenum fb_format[3];
GLenum fb_type[3];
- uint8_t depth_bits[4], stencil_bits[4], msaa_samples_array[1];
- int color;
+ uint8_t depth_bits[4], stencil_bits[4];
__DRIconfig **configs = NULL;
- msaa_samples_array[0] = 0;
-
fb_format[0] = GL_RGB;
fb_type[0] = GL_UNSIGNED_SHORT_5_6_5;
@@ -845,21 +844,21 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
fb_format[2] = GL_BGRA;
fb_type[2] = GL_UNSIGNED_INT_8_8_8_8_REV;
- depth_bits[0] = 0;
- stencil_bits[0] = 0;
-
/* Generate a rich set of useful configs that do not include an
* accumulation buffer.
*/
- for (color = 0; color < ARRAY_SIZE(fb_format); color++) {
+ for (int i = 0; i < ARRAY_SIZE(fb_format); i++) {
__DRIconfig **new_configs;
- int depth_factor;
+ const int num_depth_stencil_bits = 2;
/* Starting with DRI2 protocol version 1.1 we can request a depth/stencil
* buffer that has a different number of bits per pixel than the color
* buffer. This isn't yet supported here.
*/
- if (fb_type[color] == GL_UNSIGNED_SHORT_5_6_5) {
+ depth_bits[0] = 0;
+ stencil_bits[0] = 0;
+
+ if (fb_type[i] == GL_UNSIGNED_SHORT_5_6_5) {
depth_bits[1] = 16;
stencil_bits[1] = 0;
} else {
@@ -867,16 +866,13 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
stencil_bits[1] = 8;
}
- depth_factor = 2;
-
- new_configs = driCreateConfigs(fb_format[color], fb_type[color],
+ new_configs = driCreateConfigs(fb_format[i], fb_type[i],
depth_bits,
stencil_bits,
- depth_factor,
+ num_depth_stencil_bits,
back_buffer_modes,
ARRAY_SIZE(back_buffer_modes),
- msaa_samples_array,
- ARRAY_SIZE(msaa_samples_array),
+ singlesample_samples, 1,
false);
configs = driConcatConfigs(configs, new_configs);
}
@@ -884,10 +880,10 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
/* Generate the minimum possible set of configs that include an
* accumulation buffer.
*/
- for (color = 0; color < ARRAY_SIZE(fb_format); color++) {
+ for (int i = 0; i < ARRAY_SIZE(fb_format); i++) {
__DRIconfig **new_configs;
- if (fb_type[color] == GL_UNSIGNED_SHORT_5_6_5) {
+ if (fb_type[i] == GL_UNSIGNED_SHORT_5_6_5) {
depth_bits[0] = 16;
stencil_bits[0] = 0;
} else {
@@ -895,10 +891,10 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
stencil_bits[0] = 8;
}
- new_configs = driCreateConfigs(fb_format[color], fb_type[color],
+ new_configs = driCreateConfigs(fb_format[i], fb_type[i],
depth_bits, stencil_bits, 1,
back_buffer_modes + 1, 1,
- msaa_samples_array, 1,
+ singlesample_samples, 1,
true);
configs = driConcatConfigs(configs, new_configs);
}