mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 15:58:05 +02:00
Create all the right modes for 16-bit screens.
This commit is contained in:
parent
04bcaac383
commit
795f1faf81
1 changed files with 15 additions and 2 deletions
|
|
@ -151,7 +151,7 @@ static __GLcontextModes * fill_in_modes( __GLcontextModes * modes,
|
|||
modes->accumRedBits = 16 * j;
|
||||
modes->accumGreenBits = 16 * j;
|
||||
modes->accumBlueBits = 16 * j;
|
||||
modes->accumAlphaBits = 16 * j;
|
||||
modes->accumAlphaBits = (masks[index][3] != 0) ? 16 * j : 0;
|
||||
modes->visualRating = (j == 0) ? GLX_NONE : GLX_SLOW_CONFIG;
|
||||
|
||||
modes->stencilBits = stencil_bits;
|
||||
|
|
@ -207,7 +207,12 @@ r200FillInModes( unsigned pixel_bits, unsigned depth_bits,
|
|||
|
||||
depth_buffer_modes[0][0] = depth_bits;
|
||||
depth_buffer_modes[1][0] = depth_bits;
|
||||
depth_buffer_modes[1][1] = stencil_bits;
|
||||
|
||||
/* Just like with the accumulation buffer, always provide some modes
|
||||
* with a stencil buffer. It will be a sw fallback, but some apps won't
|
||||
* care about that.
|
||||
*/
|
||||
depth_buffer_modes[1][1] = (stencil_bits == 0) ? 8 : stencil_bits;
|
||||
|
||||
depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;
|
||||
back_buffer_factor = (have_back_buffer) ? 2 : 1;
|
||||
|
|
@ -230,6 +235,14 @@ r200FillInModes( unsigned pixel_bits, unsigned depth_bits,
|
|||
GLX_DIRECT_COLOR );
|
||||
}
|
||||
|
||||
/* Mark the visual as slow if there are "fake" stencil bits.
|
||||
*/
|
||||
for ( m = modes ; m != NULL ; m = m->next ) {
|
||||
if ( m->stencilBits != stencil_bits ) {
|
||||
m->visualRating = GLX_SLOW_CONFIG;
|
||||
}
|
||||
}
|
||||
|
||||
return modes;
|
||||
}
|
||||
#endif /* USE_NEW_INTERFACE */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue