From: Ian Romanick <ian.d.roman...@intel.com>

Modify the interface to driCreateConfigs allowing drivers to not
expose configs with an accumuation buffer.  All of the drivers calling
function have been updated to pass true for the accumulation
selector.  This maintains the current behavior.
---
 src/mesa/drivers/dri/common/utils.c           |    5 +++--
 src/mesa/drivers/dri/common/utils.h           |    3 ++-
 src/mesa/drivers/dri/ffb/ffb_xmesa.c          |    2 +-
 src/mesa/drivers/dri/i810/i810screen.c        |    2 +-
 src/mesa/drivers/dri/intel/intel_screen.c     |    3 ++-
 src/mesa/drivers/dri/mach64/mach64_screen.c   |    2 +-
 src/mesa/drivers/dri/mga/mga_xmesa.c          |    2 +-
 src/mesa/drivers/dri/nouveau/nouveau_screen.c |    3 ++-
 src/mesa/drivers/dri/r128/r128_screen.c       |    2 +-
 src/mesa/drivers/dri/radeon/radeon_screen.c   |    9 +++++----
 src/mesa/drivers/dri/savage/savage_xmesa.c    |    2 +-
 src/mesa/drivers/dri/sis/sis_screen.c         |    2 +-
 src/mesa/drivers/dri/swrast/swrast.c          |    3 ++-
 src/mesa/drivers/dri/tdfx/tdfx_screen.c       |    3 ++-
 src/mesa/drivers/dri/unichrome/via_screen.c   |    2 +-
 15 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/src/mesa/drivers/dri/common/utils.c 
b/src/mesa/drivers/dri/common/utils.c
index 81d026a..833f9ad 100644
--- a/src/mesa/drivers/dri/common/utils.c
+++ b/src/mesa/drivers/dri/common/utils.c
@@ -424,7 +424,8 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type,
                 const uint8_t * depth_bits, const uint8_t * stencil_bits,
                 unsigned num_depth_stencil_bits,
                 const GLenum * db_modes, unsigned num_db_modes,
-                const uint8_t * msaa_samples, unsigned num_msaa_modes)
+                const uint8_t * msaa_samples, unsigned num_msaa_modes,
+                GLboolean enable_accum)
 {
    static const uint8_t bits_table[4][4] = {
      /* R  G  B  A */
@@ -486,7 +487,7 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type,
    __GLcontextModes *modes;
    unsigned i, j, k, h;
    unsigned num_modes;
-   unsigned num_accum_bits = 2;
+   unsigned num_accum_bits = (enable_accum) ? 2 : 1;
 
    switch ( fb_type ) {
       case GL_UNSIGNED_BYTE_3_3_2:
diff --git a/src/mesa/drivers/dri/common/utils.h 
b/src/mesa/drivers/dri/common/utils.h
index 2aa6de6..02ca3fe 100644
--- a/src/mesa/drivers/dri/common/utils.h
+++ b/src/mesa/drivers/dri/common/utils.h
@@ -104,7 +104,8 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type,
                 const uint8_t * depth_bits, const uint8_t * stencil_bits,
                 unsigned num_depth_stencil_bits,
                 const GLenum * db_modes, unsigned num_db_modes,
-                const uint8_t * msaa_samples, unsigned num_msaa_modes);
+                const uint8_t * msaa_samples, unsigned num_msaa_modes,
+                GLboolean enable_accum);
 
 __DRIconfig **driConcatConfigs(__DRIconfig **a,
                               __DRIconfig **b);
diff --git a/src/mesa/drivers/dri/ffb/ffb_xmesa.c 
b/src/mesa/drivers/dri/ffb/ffb_xmesa.c
index 6a84651..7fdf883 100644
--- a/src/mesa/drivers/dri/ffb/ffb_xmesa.c
+++ b/src/mesa/drivers/dri/ffb/ffb_xmesa.c
@@ -658,7 +658,7 @@ ffbFillInModes( __DRIscreen *psp,
                              depth_bits_array, stencil_bits_array,
                              depth_buffer_factor, back_buffer_modes,
                              back_buffer_factor,
-                               msaa_samples_array, 1);
+                             msaa_samples_array, 1, TRUE);
    if (configs == NULL) {
       fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
               __LINE__);
diff --git a/src/mesa/drivers/dri/i810/i810screen.c 
b/src/mesa/drivers/dri/i810/i810screen.c
index 476c801..825a1b5 100644
--- a/src/mesa/drivers/dri/i810/i810screen.c
+++ b/src/mesa/drivers/dri/i810/i810screen.c
@@ -92,7 +92,7 @@ i810FillInModes( __DRIscreen *psp,
                               depth_bits_array, stencil_bits_array,
                               depth_buffer_factor,
                               back_buffer_modes, back_buffer_factor,
-                               msaa_samples_array, 1);
+                               msaa_samples_array, 1, TRUE);
     if (configs == NULL) {
        fprintf( stderr, "[%s:%u] Error creating FBConfig!\n",
                 __func__, __LINE__ );
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c 
b/src/mesa/drivers/dri/intel/intel_screen.c
index b308ae1..8344b82 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -413,7 +413,8 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
                                     back_buffer_modes,
                                     ARRAY_SIZE(back_buffer_modes),
                                     msaa_samples_array,
-                                    ARRAY_SIZE(msaa_samples_array));
+                                    ARRAY_SIZE(msaa_samples_array),
+                                    GL_TRUE);
       if (configs == NULL)
         configs = new_configs;
       else
diff --git a/src/mesa/drivers/dri/mach64/mach64_screen.c 
b/src/mesa/drivers/dri/mach64/mach64_screen.c
index 5cbfb85..99aad57 100644
--- a/src/mesa/drivers/dri/mach64/mach64_screen.c
+++ b/src/mesa/drivers/dri/mach64/mach64_screen.c
@@ -119,7 +119,7 @@ mach64FillInModes( __DRIscreen *psp,
                               depth_bits_array, stencil_bits_array,
                               depth_buffer_factor, back_buffer_modes,
                               back_buffer_factor,
-                               msaa_samples_array, 1);
+                               msaa_samples_array, 1, TRUE);
     if (configs == NULL) {
        fprintf(stderr, "[%s:%u] Error creating FBConfig!\n",
               __func__, __LINE__);
diff --git a/src/mesa/drivers/dri/mga/mga_xmesa.c 
b/src/mesa/drivers/dri/mga/mga_xmesa.c
index e7813b6..a0a65cb 100644
--- a/src/mesa/drivers/dri/mga/mga_xmesa.c
+++ b/src/mesa/drivers/dri/mga/mga_xmesa.c
@@ -160,7 +160,7 @@ mgaFillInModes( __DRIscreen *psp,
                               depth_bits_array, stencil_bits_array,
                               depth_buffer_factor,
                               back_buffer_modes, back_buffer_factor,
-                               msaa_samples_array, 1);
+                               msaa_samples_array, 1, TRUE);
     if (configs == NULL) {
        fprintf( stderr, "[%s:%u] Error creating FBConfig!\n",
                 __func__, __LINE__ );
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c 
b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
index de63282..6abab8c 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
@@ -83,7 +83,8 @@ nouveau_get_configs(void)
                                          back_buffer_modes,
                                          Elements(back_buffer_modes),
                                          msaa_samples,
-                                         Elements(msaa_samples));
+                                         Elements(msaa_samples),
+                                         GL_TRUE);
                assert(config);
 
                configs = configs ? driConcatConfigs(configs, config)
diff --git a/src/mesa/drivers/dri/r128/r128_screen.c 
b/src/mesa/drivers/dri/r128/r128_screen.c
index ef6b5a3..afc44d4 100644
--- a/src/mesa/drivers/dri/r128/r128_screen.c
+++ b/src/mesa/drivers/dri/r128/r128_screen.c
@@ -449,7 +449,7 @@ r128FillInModes( __DRIscreen *psp,
                                depth_bits_array, stencil_bits_array,
                                depth_buffer_factor, back_buffer_modes,
                                back_buffer_factor,
-                               msaa_samples_array, 1);
+                               msaa_samples_array, 1, TRUE);
     if (configs == NULL) {
         fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
                 __LINE__);
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c 
b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 93b6399..7d5cdb5 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -293,18 +293,18 @@ radeonFillInModes( __DRIscreen *psp,
                                          depth_bits_array, stencil_bits_array,
                                          depth_buffer_factor, 
back_buffer_modes,
                                          back_buffer_factor, 
msaa_samples_array,
-                                         1);
+                                         1, TRUE);
        configs_a8r8g8b8 = driCreateConfigs(GL_BGRA, 
GL_UNSIGNED_INT_8_8_8_8_REV,
                                            depth_bits_array, 
stencil_bits_array,
                                            1, back_buffer_modes, 1,
-                                           msaa_samples_array, 1);
+                                           msaa_samples_array, 1, TRUE);
        configs = driConcatConfigs(configs_r5g6b5, configs_a8r8g8b8);
    } else
        configs = driCreateConfigs(GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,
                                   depth_bits_array, stencil_bits_array,
                                   depth_buffer_factor,
                                   back_buffer_modes, back_buffer_factor,
-                                  msaa_samples_array, 1);
+                                  msaa_samples_array, 1, TRUE);
 
     if (configs == NULL) {
        fprintf( stderr, "[%s:%u] Error creating FBConfig!\n",
@@ -1676,7 +1676,8 @@ __DRIconfig **radeonInitScreen2(__DRIscreen *psp)
                                     back_buffer_modes,
                                     ARRAY_SIZE(back_buffer_modes),
                                     msaa_samples_array,
-                                    ARRAY_SIZE(msaa_samples_array));
+                                    ARRAY_SIZE(msaa_samples_array),
+                                    GL_TRUE);
       if (configs == NULL)
         configs = new_configs;
       else
diff --git a/src/mesa/drivers/dri/savage/savage_xmesa.c 
b/src/mesa/drivers/dri/savage/savage_xmesa.c
index 8e879ca..788c49f 100644
--- a/src/mesa/drivers/dri/savage/savage_xmesa.c
+++ b/src/mesa/drivers/dri/savage/savage_xmesa.c
@@ -939,7 +939,7 @@ savageFillInModes( __DRIscreen *psp,
                               depth_bits_array, stencil_bits_array,
                               depth_buffer_factor,
                               back_buffer_modes, back_buffer_factor,
-                               msaa_samples_array, 1);
+                               msaa_samples_array, 1, TRUE);
     if (configs == NULL) {
        fprintf( stderr, "[%s:%u] Error creating FBConfig!\n",
                 __func__, __LINE__ );
diff --git a/src/mesa/drivers/dri/sis/sis_screen.c 
b/src/mesa/drivers/dri/sis/sis_screen.c
index cb7ed8a..0b98541 100644
--- a/src/mesa/drivers/dri/sis/sis_screen.c
+++ b/src/mesa/drivers/dri/sis/sis_screen.c
@@ -103,7 +103,7 @@ sisFillInModes(__DRIscreen *psp, int bpp)
    configs = driCreateConfigs(fb_format, fb_type, depth_bits_array,
                              stencil_bits_array, depth_buffer_factor,
                              back_buffer_modes, back_buffer_factor,
-                              msaa_samples_array, 1);
+                              msaa_samples_array, 1, TRUE);
    if (configs == NULL) {
       fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, 
__LINE__);
       return NULL;
diff --git a/src/mesa/drivers/dri/swrast/swrast.c 
b/src/mesa/drivers/dri/swrast/swrast.c
index 4e82366..40535b0 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -132,7 +132,8 @@ swrastFillInModes(__DRIscreen *psp,
     configs = driCreateConfigs(fb_format, fb_type,
                               depth_bits_array, stencil_bits_array,
                               depth_buffer_factor, back_buffer_modes,
-                              back_buffer_factor, msaa_samples_array, 1);
+                              back_buffer_factor, msaa_samples_array, 1,
+                              GL_TRUE);
     if (configs == NULL) {
        fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
                __LINE__);
diff --git a/src/mesa/drivers/dri/tdfx/tdfx_screen.c 
b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
index 9f6b35f..d554bcd 100644
--- a/src/mesa/drivers/dri/tdfx/tdfx_screen.c
+++ b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
@@ -383,7 +383,8 @@ tdfxFillInModes(__DRIscreen *psp,
                            stencil_bits_array,
                            deep ? 2 : 4,
                            db_modes, 2,
-                           msaa_samples_array, 1);
+                           msaa_samples_array, 1,
+                           GL_TRUE);
 }
 
 /**
diff --git a/src/mesa/drivers/dri/unichrome/via_screen.c 
b/src/mesa/drivers/dri/unichrome/via_screen.c
index 8c91c93..5512501 100644
--- a/src/mesa/drivers/dri/unichrome/via_screen.c
+++ b/src/mesa/drivers/dri/unichrome/via_screen.c
@@ -354,7 +354,7 @@ viaFillInModes( __DRIscreen *psp,
                               depth_bits_array, stencil_bits_array,
                               depth_buffer_factor, back_buffer_modes,
                               back_buffer_factor,
-                               msaa_samples_array, 1);
+                               msaa_samples_array, 1, TRUE);
     if (configs == NULL) {
        fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
                __LINE__);
-- 
1.6.6


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to