Преглед на файлове

Create all the right modes for 16-bit screens.

tags/R300_DRIVER_0
Ian Romanick преди 21 години
родител
ревизия
795f1faf81
променени са 1 файла, в които са добавени 15 реда и са изтрити 2 реда
  1. 15
    2
      src/mesa/drivers/dri/r200/r200_screen.c

+ 15
- 2
src/mesa/drivers/dri/r200/r200_screen.c Целия файл

@@ -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…
Отказ
Запис