re-add MSAA support
This commit is contained in:
@@ -524,15 +524,12 @@ GLboolean driClipRectToFramebuffer( const GLframebuffer *buffer,
|
||||
* \c GL_UNSIGNED_3BYTE_8_8_8, \c GL_4FLOAT_32_32_32_32,
|
||||
* \c GL_4HALF_16_16_16_16, etc. We can cross that bridge when we come to it.
|
||||
*/
|
||||
|
||||
/* XXX: need to re-add msaa support after gallium-0.1 merge
|
||||
*/
|
||||
|
||||
__DRIconfig **
|
||||
driCreateConfigs(GLenum fb_format, GLenum fb_type,
|
||||
const u_int8_t * depth_bits, const u_int8_t * stencil_bits,
|
||||
unsigned num_depth_stencil_bits,
|
||||
const GLenum * db_modes, unsigned num_db_modes)
|
||||
const GLenum * db_modes, unsigned num_db_modes,
|
||||
const u_int8_t * msaa_samples, unsigned num_msaa_modes)
|
||||
{
|
||||
static const u_int8_t bits_table[4][4] = {
|
||||
/* R G B A */
|
||||
@@ -592,9 +589,7 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type,
|
||||
int index;
|
||||
__DRIconfig **configs, **c;
|
||||
__GLcontextModes *modes;
|
||||
unsigned i;
|
||||
unsigned j;
|
||||
unsigned k;
|
||||
unsigned i, j, k, h;
|
||||
unsigned num_modes;
|
||||
unsigned num_accum_bits = 2;
|
||||
|
||||
@@ -675,6 +670,7 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type,
|
||||
c = configs;
|
||||
for ( k = 0 ; k < num_depth_stencil_bits ; k++ ) {
|
||||
for ( i = 0 ; i < num_db_modes ; i++ ) {
|
||||
for ( h = 0 ; h < num_msaa_modes; h++ ) {
|
||||
for ( j = 0 ; j < num_accum_bits ; j++ ) {
|
||||
*c = _mesa_malloc (sizeof **c);
|
||||
modes = &(*c)->modes;
|
||||
@@ -720,6 +716,10 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type,
|
||||
modes->swapMethod = db_modes[i];
|
||||
}
|
||||
|
||||
modes->samples = msaa_samples[h];
|
||||
modes->sampleBuffers = modes->samples ? 1 : 0;
|
||||
|
||||
|
||||
modes->haveAccumBuffer = ((modes->accumRedBits +
|
||||
modes->accumGreenBits +
|
||||
modes->accumBlueBits +
|
||||
@@ -735,6 +735,9 @@ driCreateConfigs(GLenum fb_format, GLenum fb_type,
|
||||
__DRI_ATTRIB_TEXTURE_2D_BIT |
|
||||
__DRI_ATTRIB_TEXTURE_RECTANGLE_BIT :
|
||||
0;
|
||||
|
||||
modes = modes->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -129,9 +129,10 @@ struct __DRIconfigRec {
|
||||
|
||||
extern __DRIconfig **
|
||||
driCreateConfigs(GLenum fb_format, GLenum fb_type,
|
||||
const u_int8_t * depth_bits, const u_int8_t * stencil_bits,
|
||||
const uint8_t * depth_bits, const uint8_t * stencil_bits,
|
||||
unsigned num_depth_stencil_bits,
|
||||
const GLenum * db_modes, unsigned num_db_modes);
|
||||
const GLenum * db_modes, unsigned num_db_modes,
|
||||
const uint8_t * msaa_samples, unsigned num_msaa_modes);
|
||||
|
||||
const __DRIconfig **driConcatConfigs(__DRIconfig **a, __DRIconfig **b);
|
||||
|
||||
|
Reference in New Issue
Block a user