gallium: Fixups for driCreateConfigs MSAA support.
Add the MSAA samples array or make sure its contents are initialized.
This commit is contained in:
@@ -642,6 +642,8 @@ ffbFillInModes( __DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[1] = 0;
|
stencil_bits_array[1] = 0;
|
||||||
stencil_bits_array[2] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 3 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 3 : 1;
|
back_buffer_factor = (have_back_buffer) ? 3 : 1;
|
||||||
|
|
||||||
|
@@ -89,6 +89,8 @@ i810FillInModes( __DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[0] = 0;
|
stencil_bits_array[0] = 0;
|
||||||
stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
||||||
|
|
||||||
|
@@ -495,6 +495,8 @@ intelFillInModes(__DRIscreenPrivate *psp,
|
|||||||
|
|
||||||
stencil_bits_array[2] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 3 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 3 : 1;
|
back_buffer_factor = (have_back_buffer) ? 3 : 1;
|
||||||
|
|
||||||
@@ -733,6 +735,8 @@ __DRIconfig **intelInitScreen2(__DRIscreenPrivate *psp)
|
|||||||
depth_bits[3] = 24;
|
depth_bits[3] = 24;
|
||||||
stencil_bits[3] = 8;
|
stencil_bits[3] = 8;
|
||||||
|
|
||||||
|
msaa_samples_array[0] = 0;
|
||||||
|
|
||||||
fb_format[0] = GL_RGB;
|
fb_format[0] = GL_RGB;
|
||||||
fb_type[0] = GL_UNSIGNED_SHORT_5_6_5;
|
fb_type[0] = GL_UNSIGNED_SHORT_5_6_5;
|
||||||
|
|
||||||
|
@@ -105,6 +105,8 @@ mach64FillInModes( __DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[0] = 0;
|
stencil_bits_array[0] = 0;
|
||||||
stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
||||||
|
|
||||||
|
@@ -144,6 +144,8 @@ mgaFillInModes( __DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[1] = 0;
|
stencil_bits_array[1] = 0;
|
||||||
stencil_bits_array[2] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 3 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
||||||
|
|
||||||
|
@@ -434,6 +434,8 @@ r128FillInModes( __DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[0] = 0;
|
stencil_bits_array[0] = 0;
|
||||||
stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
||||||
|
|
||||||
|
@@ -288,6 +288,8 @@ radeonFillInModes( __DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[0] = 0;
|
stencil_bits_array[0] = 0;
|
||||||
stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
||||||
|
|
||||||
@@ -304,7 +306,7 @@ radeonFillInModes( __DRIscreenPrivate *psp,
|
|||||||
depth_bits_array, stencil_bits_array,
|
depth_bits_array, stencil_bits_array,
|
||||||
depth_buffer_factor,
|
depth_buffer_factor,
|
||||||
back_buffer_modes, back_buffer_factor,
|
back_buffer_modes, back_buffer_factor,
|
||||||
msaa_samples_array, 1);
|
msaa_samples_array, 1);
|
||||||
if (configs == NULL) {
|
if (configs == NULL) {
|
||||||
fprintf( stderr, "[%s:%u] Error creating FBConfig!\n",
|
fprintf( stderr, "[%s:%u] Error creating FBConfig!\n",
|
||||||
__func__, __LINE__ );
|
__func__, __LINE__ );
|
||||||
|
@@ -922,6 +922,8 @@ savageFillInModes( __DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[0] = 0;
|
stencil_bits_array[0] = 0;
|
||||||
stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
|
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;
|
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;
|
||||||
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
||||||
|
|
||||||
|
@@ -88,6 +88,8 @@ sisFillInModes(__DRIscreenPrivate *psp, int bpp)
|
|||||||
depth_bits_array[3] = 32;
|
depth_bits_array[3] = 32;
|
||||||
stencil_bits_array[3] = 0;
|
stencil_bits_array[3] = 0;
|
||||||
|
|
||||||
|
msaa_samples_array[0] = 0;
|
||||||
|
|
||||||
depth_buffer_factor = 4;
|
depth_buffer_factor = 4;
|
||||||
back_buffer_factor = 2;
|
back_buffer_factor = 2;
|
||||||
|
|
||||||
|
@@ -147,6 +147,7 @@ swrastFillInModes(__DRIscreen *psp,
|
|||||||
|
|
||||||
uint8_t depth_bits_array[4];
|
uint8_t depth_bits_array[4];
|
||||||
uint8_t stencil_bits_array[4];
|
uint8_t stencil_bits_array[4];
|
||||||
|
uint8_t msaa_samples_array[1];
|
||||||
|
|
||||||
depth_bits_array[0] = 0;
|
depth_bits_array[0] = 0;
|
||||||
depth_bits_array[1] = 0;
|
depth_bits_array[1] = 0;
|
||||||
@@ -161,6 +162,8 @@ swrastFillInModes(__DRIscreen *psp,
|
|||||||
stencil_bits_array[2] = 0;
|
stencil_bits_array[2] = 0;
|
||||||
stencil_bits_array[3] = (stencil_bits == 0) ? 8 : stencil_bits;
|
stencil_bits_array[3] = (stencil_bits == 0) ? 8 : stencil_bits;
|
||||||
|
|
||||||
|
msaa_samples_array[0] = 0;
|
||||||
|
|
||||||
depth_buffer_factor = 4;
|
depth_buffer_factor = 4;
|
||||||
back_buffer_factor = 2;
|
back_buffer_factor = 2;
|
||||||
|
|
||||||
@@ -190,7 +193,7 @@ swrastFillInModes(__DRIscreen *psp,
|
|||||||
configs = driCreateConfigs(fb_format, fb_type,
|
configs = driCreateConfigs(fb_format, fb_type,
|
||||||
depth_bits_array, stencil_bits_array,
|
depth_bits_array, stencil_bits_array,
|
||||||
depth_buffer_factor, back_buffer_modes,
|
depth_buffer_factor, back_buffer_modes,
|
||||||
back_buffer_factor);
|
back_buffer_factor, msaa_samples_array, 1);
|
||||||
if (configs == NULL) {
|
if (configs == NULL) {
|
||||||
fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
|
fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
|
||||||
__LINE__);
|
__LINE__);
|
||||||
|
@@ -378,6 +378,8 @@ tdfxFillInModes(__DRIscreenPrivate *psp,
|
|||||||
stencil_bits_array[3] = 8;
|
stencil_bits_array[3] = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
msaa_samples_array[0] = 0;
|
||||||
|
|
||||||
return driCreateConfigs(
|
return driCreateConfigs(
|
||||||
deep ? GL_RGBA : GL_RGB,
|
deep ? GL_RGBA : GL_RGB,
|
||||||
deep ? GL_UNSIGNED_INT_8_8_8_8 : GL_UNSIGNED_SHORT_5_6_5,
|
deep ? GL_UNSIGNED_INT_8_8_8_8 : GL_UNSIGNED_SHORT_5_6_5,
|
||||||
|
@@ -342,7 +342,7 @@ viaFillInModes( __DRIscreenPrivate *psp,
|
|||||||
*/
|
*/
|
||||||
static const uint8_t depth_bits_array[4] = { 0, 16, 24, 32 };
|
static const uint8_t depth_bits_array[4] = { 0, 16, 24, 32 };
|
||||||
static const uint8_t stencil_bits_array[4] = { 0, 0, 8, 0 };
|
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;
|
const unsigned depth_buffer_factor = 3;
|
||||||
|
|
||||||
if ( pixel_bits == 16 ) {
|
if ( pixel_bits == 16 ) {
|
||||||
|
Reference in New Issue
Block a user