diff options
| author | Michel Dänzer <daenzer@vmware.com> | 2009-02-10 13:47:49 +0100 | 
|---|---|---|
| committer | Michel Dänzer <daenzer@vmware.com> | 2009-02-10 13:47:49 +0100 | 
| commit | eaf15db895e3a5c6c5ccc2f23a4f0fa522855868 (patch) | |
| tree | 46b35dd11ff17c19c28f8569ca99cd3c7427e2fe | |
| parent | 7e0bc2eb8df6f83a67410cd422b709981f88cd87 (diff) | |
gallium: Fixups for driCreateConfigs MSAA support.
Add the MSAA samples array or make sure its contents are initialized.
| -rw-r--r-- | src/mesa/drivers/dri/ffb/ffb_xmesa.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/i810/i810screen.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_screen.c | 4 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/mach64/mach64_screen.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/mga/mga_xmesa.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/r128/r128_screen.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_screen.c | 4 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/savage/savage_xmesa.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/sis/sis_screen.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/swrast/swrast.c | 5 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/tdfx/tdfx_screen.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/unichrome/via_screen.c | 2 | 
12 files changed, 28 insertions, 3 deletions
| diff --git a/src/mesa/drivers/dri/ffb/ffb_xmesa.c b/src/mesa/drivers/dri/ffb/ffb_xmesa.c index eb086e3055..00bdcec7a6 100644 --- a/src/mesa/drivers/dri/ffb/ffb_xmesa.c +++ b/src/mesa/drivers/dri/ffb/ffb_xmesa.c @@ -642,6 +642,8 @@ ffbFillInModes( __DRIscreenPrivate *psp,     stencil_bits_array[1] = 0;     stencil_bits_array[2] = (stencil_bits == 0) ? 8 : stencil_bits; +   msaa_samples_array[0] = 0; +     depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 3 : 1;     back_buffer_factor  = (have_back_buffer) ? 3 : 1; diff --git a/src/mesa/drivers/dri/i810/i810screen.c b/src/mesa/drivers/dri/i810/i810screen.c index 6d7cf1f38b..9a5a39c1db 100644 --- a/src/mesa/drivers/dri/i810/i810screen.c +++ b/src/mesa/drivers/dri/i810/i810screen.c @@ -89,6 +89,8 @@ i810FillInModes( __DRIscreenPrivate *psp,      stencil_bits_array[0] = 0;      stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits; +    msaa_samples_array[0] = 0; +      depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;      back_buffer_factor  = (have_back_buffer) ? 2 : 1; diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index f29e0e966b..4c06170cdf 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -495,6 +495,8 @@ intelFillInModes(__DRIscreenPrivate *psp,     stencil_bits_array[2] = (stencil_bits == 0) ? 8 : stencil_bits; +   msaa_samples_array[0] = 0; +     depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 3 : 1;     back_buffer_factor = (have_back_buffer) ? 3 : 1; @@ -733,6 +735,8 @@ __DRIconfig **intelInitScreen2(__DRIscreenPrivate *psp)     depth_bits[3] = 24;     stencil_bits[3] = 8; +   msaa_samples_array[0] = 0; +     fb_format[0] = GL_RGB;     fb_type[0] = GL_UNSIGNED_SHORT_5_6_5; diff --git a/src/mesa/drivers/dri/mach64/mach64_screen.c b/src/mesa/drivers/dri/mach64/mach64_screen.c index 59a3573898..43e59594dd 100644 --- a/src/mesa/drivers/dri/mach64/mach64_screen.c +++ b/src/mesa/drivers/dri/mach64/mach64_screen.c @@ -105,6 +105,8 @@ mach64FillInModes( __DRIscreenPrivate *psp,      stencil_bits_array[0] = 0;      stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits; +    msaa_samples_array[0] = 0; +      depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;      back_buffer_factor  = (have_back_buffer) ? 2 : 1; diff --git a/src/mesa/drivers/dri/mga/mga_xmesa.c b/src/mesa/drivers/dri/mga/mga_xmesa.c index 98185a6c9e..926534d6df 100644 --- a/src/mesa/drivers/dri/mga/mga_xmesa.c +++ b/src/mesa/drivers/dri/mga/mga_xmesa.c @@ -144,6 +144,8 @@ mgaFillInModes( __DRIscreenPrivate *psp,      stencil_bits_array[1] = 0;      stencil_bits_array[2] = (stencil_bits == 0) ? 8 : stencil_bits; +    msaa_samples_array[0] = 0; +      depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 3 : 1;      back_buffer_factor  = (have_back_buffer) ? 2 : 1; diff --git a/src/mesa/drivers/dri/r128/r128_screen.c b/src/mesa/drivers/dri/r128/r128_screen.c index e72ca45be9..7cda4ca5d3 100644 --- a/src/mesa/drivers/dri/r128/r128_screen.c +++ b/src/mesa/drivers/dri/r128/r128_screen.c @@ -434,6 +434,8 @@ r128FillInModes( __DRIscreenPrivate *psp,      stencil_bits_array[0] = 0;      stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits; +    msaa_samples_array[0] = 0; +      depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;      back_buffer_factor  = (have_back_buffer) ? 2 : 1; diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index b52a084777..56c22faafa 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -288,6 +288,8 @@ radeonFillInModes( __DRIscreenPrivate *psp,      stencil_bits_array[0] = 0;      stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits; +    msaa_samples_array[0] = 0; +      depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;      back_buffer_factor  = (have_back_buffer) ? 2 : 1; @@ -304,7 +306,7 @@ radeonFillInModes( __DRIscreenPrivate *psp,  			       depth_bits_array, stencil_bits_array,  			       depth_buffer_factor,  			       back_buffer_modes, back_buffer_factor, -                              msaa_samples_array, 1); +			       msaa_samples_array, 1);      if (configs == NULL) {  	fprintf( stderr, "[%s:%u] Error creating FBConfig!\n",  		 __func__, __LINE__ ); diff --git a/src/mesa/drivers/dri/savage/savage_xmesa.c b/src/mesa/drivers/dri/savage/savage_xmesa.c index ba4008e644..326d595352 100644 --- a/src/mesa/drivers/dri/savage/savage_xmesa.c +++ b/src/mesa/drivers/dri/savage/savage_xmesa.c @@ -922,6 +922,8 @@ savageFillInModes( __DRIscreenPrivate *psp,      stencil_bits_array[0] = 0;      stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits; +    msaa_samples_array[0] = 0; +      depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;      back_buffer_factor  = (have_back_buffer) ? 2 : 1; diff --git a/src/mesa/drivers/dri/sis/sis_screen.c b/src/mesa/drivers/dri/sis/sis_screen.c index e31b5223f7..9eb27fef08 100644 --- a/src/mesa/drivers/dri/sis/sis_screen.c +++ b/src/mesa/drivers/dri/sis/sis_screen.c @@ -88,6 +88,8 @@ sisFillInModes(__DRIscreenPrivate *psp, int bpp)     depth_bits_array[3] = 32;     stencil_bits_array[3] = 0; +   msaa_samples_array[0] = 0; +     depth_buffer_factor = 4;     back_buffer_factor = 2; diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index a90b30b49d..b00f4ff2fe 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -147,6 +147,7 @@ swrastFillInModes(__DRIscreen *psp,      uint8_t depth_bits_array[4];      uint8_t stencil_bits_array[4]; +    uint8_t msaa_samples_array[1];      depth_bits_array[0] = 0;      depth_bits_array[1] = 0; @@ -161,6 +162,8 @@ swrastFillInModes(__DRIscreen *psp,      stencil_bits_array[2] = 0;      stencil_bits_array[3] = (stencil_bits == 0) ? 8 : stencil_bits; +    msaa_samples_array[0] = 0; +      depth_buffer_factor = 4;      back_buffer_factor = 2; @@ -190,7 +193,7 @@ swrastFillInModes(__DRIscreen *psp,      configs = driCreateConfigs(fb_format, fb_type,  			       depth_bits_array, stencil_bits_array,  			       depth_buffer_factor, back_buffer_modes, -			       back_buffer_factor); +			       back_buffer_factor, msaa_samples_array, 1);      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 90a4a2c3c0..6d509a4d88 100644 --- a/src/mesa/drivers/dri/tdfx/tdfx_screen.c +++ b/src/mesa/drivers/dri/tdfx/tdfx_screen.c @@ -378,6 +378,8 @@ tdfxFillInModes(__DRIscreenPrivate *psp,  		stencil_bits_array[3] = 8;  	} +	msaa_samples_array[0] = 0; +  	return driCreateConfigs(  		deep ? GL_RGBA : GL_RGB,  		deep ? GL_UNSIGNED_INT_8_8_8_8 : GL_UNSIGNED_SHORT_5_6_5, diff --git a/src/mesa/drivers/dri/unichrome/via_screen.c b/src/mesa/drivers/dri/unichrome/via_screen.c index c25b87b4a4..e9f566161c 100644 --- a/src/mesa/drivers/dri/unichrome/via_screen.c +++ b/src/mesa/drivers/dri/unichrome/via_screen.c @@ -342,7 +342,7 @@ viaFillInModes( __DRIscreenPrivate *psp,       */      static const uint8_t depth_bits_array[4]   = { 0, 16, 24, 32 };      static const uint8_t stencil_bits_array[4] = { 0,  0,  8,  0 }; -    uint8_t msaa_samples_array[1]; +    uint8_t msaa_samples_array[1] = { 0 };      const unsigned depth_buffer_factor = 3;      if ( pixel_bits == 16 ) { | 
