diff options
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | src/sis_alloc.c | 8 | ||||
-rw-r--r-- | src/sis_clear.c | 1 | ||||
-rw-r--r-- | src/sis_context.c | 8 | ||||
-rw-r--r-- | src/sis_screen.c | 8 | ||||
-rw-r--r-- | src/sis_texstate.c | 15 | ||||
-rw-r--r-- | src/sis_tris.c | 5 |
7 files changed, 26 insertions, 25 deletions
diff --git a/configure.ac b/configure.ac index 7b9f611..7309ee9 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script AC_PREREQ(2.57) -AC_INIT([mesa-dri-sis], 7.3.0, [], mesa-dri-sis) +AC_INIT([mesa-dri-sis], 7.6.1, [], mesa-dri-sis) AM_INIT_AUTOMAKE([dist-bzip2]) @@ -16,8 +16,8 @@ AC_PROG_CC AC_HEADER_STDC PKG_CHECK_MODULES([DRM], [libdrm >= 2.3.0]) -PKG_CHECK_MODULES([DRI], [libmesadri >= 7.3.0 libmesadri < 7.5.0 - libmesadricommon >= 7.3.0 libmesadricommon < 7.5.0]) +PKG_CHECK_MODULES([DRI], [libmesadri >= 7.5.0 libmesadri < 7.7.0 + libmesadricommon >= 7.5.0 libmesadricommon < 7.7.0]) AC_OUTPUT([ Makefile diff --git a/src/sis_alloc.c b/src/sis_alloc.c index 4ca4052..ce34e44 100644 --- a/src/sis_alloc.c +++ b/src/sis_alloc.c @@ -137,7 +137,7 @@ sisAllocZStencilBuffer( sisContextPtr smesa ) { int cpp = ( smesa->glCtx->Visual.depthBits + smesa->glCtx->Visual.stencilBits ) / 8; - unsigned char *addr; + char *addr; smesa->depth.bpp = cpp * 8; smesa->depth.pitch = ALIGNMENT(smesa->driDrawable->w * cpp, 4); @@ -150,7 +150,7 @@ sisAllocZStencilBuffer( sisContextPtr smesa ) addr = (char *)ALIGNMENT((unsigned long)addr, Z_BUFFER_HW_ALIGNMENT); smesa->depth.map = addr; - smesa->depth.offset = addr - smesa->FbBase; + smesa->depth.offset = addr - (char *)smesa->FbBase; /* stencil buffer is same as depth buffer */ smesa->stencil.size = smesa->depth.size; @@ -173,7 +173,7 @@ void sisAllocBackbuffer( sisContextPtr smesa ) { int cpp = smesa->bytesPerPixel; - unsigned char *addr; + char *addr; smesa->back.bpp = smesa->bytesPerPixel * 8; smesa->back.pitch = ALIGNMENT(smesa->driDrawable->w * cpp, 4); @@ -186,7 +186,7 @@ sisAllocBackbuffer( sisContextPtr smesa ) addr = (char *)ALIGNMENT((unsigned long)addr, DRAW_BUFFER_HW_ALIGNMENT); smesa->back.map = addr; - smesa->back.offset = addr - smesa->FbBase; + smesa->back.offset = addr - (char *)smesa->FbBase; } void diff --git a/src/sis_clear.c b/src/sis_clear.c index 323383d..d358ef6 100644 --- a/src/sis_clear.c +++ b/src/sis_clear.c @@ -393,7 +393,6 @@ sis_clear_z_stencil_buffer( GLcontext * ctx, GLbitfield mask, GLint x, GLint y, GLint width, GLint height ) { sisContextPtr smesa = SIS_CONTEXT(ctx); - int cmd; mWait3DCmdQueue (8); MMIO(REG_SRC_PITCH, (smesa->zFormat == SiS_ZFORMAT_Z16) ? diff --git a/src/sis_context.c b/src/sis_context.c index 00d17da..a070fe3 100644 --- a/src/sis_context.c +++ b/src/sis_context.c @@ -57,9 +57,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "tnl/tnl.h" #include "tnl/t_pipeline.h" -#define need_GL_ARB_multisample -#define need_GL_ARB_texture_compression -#define need_GL_ARB_vertex_buffer_object #define need_GL_EXT_fog_coord #define need_GL_EXT_secondary_color #include "extension_helper.h" @@ -74,12 +71,9 @@ int GlobalCmdQueueLen = 0; struct dri_extension card_extensions[] = { - { "GL_ARB_multisample", GL_ARB_multisample_functions }, { "GL_ARB_multitexture", NULL }, { "GL_ARB_texture_border_clamp", NULL }, - { "GL_ARB_texture_compression", GL_ARB_texture_compression_functions }, { "GL_ARB_texture_mirrored_repeat", NULL }, - { "GL_ARB_vertex_buffer_object", GL_ARB_vertex_buffer_object_functions }, /*{ "GL_EXT_fog_coord", GL_EXT_fog_coord_functions },*/ { "GL_EXT_texture_lod_bias", NULL }, { "GL_EXT_secondary_color", GL_EXT_secondary_color_functions }, @@ -91,9 +85,7 @@ struct dri_extension card_extensions[] = struct dri_extension card_extensions_6326[] = { - { "GL_ARB_multisample", GL_ARB_multisample_functions }, /*{ "GL_ARB_texture_border_clamp", NULL },*/ - { "GL_ARB_texture_compression", GL_ARB_texture_compression_functions }, /*{ "GL_ARB_texture_mirrored_repeat", NULL },*/ /*{ "GL_MESA_ycbcr_texture", NULL },*/ { NULL, NULL } diff --git a/src/sis_screen.c b/src/sis_screen.c index b1a5d15..b5f04ae 100644 --- a/src/sis_screen.c +++ b/src/sis_screen.c @@ -77,6 +77,7 @@ sisFillInModes(__DRIscreenPrivate *psp, int bpp) }; uint8_t depth_bits_array[4]; uint8_t stencil_bits_array[4]; + uint8_t msaa_samples_array[1]; depth_bits_array[0] = 0; stencil_bits_array[0] = 0; @@ -87,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; @@ -100,7 +103,8 @@ sisFillInModes(__DRIscreenPrivate *psp, int bpp) configs = driCreateConfigs(fb_format, fb_type, depth_bits_array, stencil_bits_array, depth_buffer_factor, - back_buffer_modes, back_buffer_factor); + back_buffer_modes, back_buffer_factor, + msaa_samples_array, 1); if (configs == NULL) { fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__); return NULL; @@ -217,7 +221,7 @@ sisCreateBuffer( __DRIscreenPrivate *driScrnPriv, static void sisDestroyBuffer(__DRIdrawablePrivate *driDrawPriv) { - _mesa_unreference_framebuffer((GLframebuffer **)(&(driDrawPriv->driverPrivate))); + _mesa_reference_framebuffer((GLframebuffer **)(&(driDrawPriv->driverPrivate)), NULL); } static void sisCopyBuffer( __DRIdrawablePrivate *dPriv ) diff --git a/src/sis_texstate.c b/src/sis_texstate.c index 63f23fc..46417ce 100644 --- a/src/sis_texstate.c +++ b/src/sis_texstate.c @@ -456,11 +456,16 @@ sis_set_texobj_parm( GLcontext *ctx, struct gl_texture_object *texObj, break; } - current->texture[hw_unit].hwTextureBorderColor = - ((GLuint) texObj->_BorderChan[3] << 24) + - ((GLuint) texObj->_BorderChan[0] << 16) + - ((GLuint) texObj->_BorderChan[1] << 8) + - ((GLuint) texObj->_BorderChan[2]); + { + GLubyte c[4]; + CLAMPED_FLOAT_TO_UBYTE(c[0], texObj->BorderColor[0]); + CLAMPED_FLOAT_TO_UBYTE(c[1], texObj->BorderColor[1]); + CLAMPED_FLOAT_TO_UBYTE(c[2], texObj->BorderColor[2]); + CLAMPED_FLOAT_TO_UBYTE(c[3], texObj->BorderColor[3]); + + current->texture[hw_unit].hwTextureBorderColor = + PACK_COLOR_8888(c[3], c[0], c[1], c[2]); + } if (current->texture[hw_unit].hwTextureBorderColor != prev->texture[hw_unit].hwTextureBorderColor) diff --git a/src/sis_tris.c b/src/sis_tris.c index 095941a..4fa2e41 100644 --- a/src/sis_tris.c +++ b/src/sis_tris.c @@ -430,7 +430,8 @@ do { \ #define LOCAL_VARS(n) \ sisContextPtr smesa = SIS_CONTEXT(ctx); \ - GLuint color[n], spec[n]; \ + GLuint color[n] = { 0 }; \ + GLuint spec[n] = { 0 }; \ GLuint coloroffset = smesa->coloroffset; \ GLuint specoffset = smesa->specoffset; \ (void) color; (void) spec; (void) coloroffset; (void) specoffset; @@ -994,7 +995,7 @@ sisFlushPrimsLocked(sisContextPtr smesa) MMIO(REG_3D_PrimitiveSet, smesa->dwPrimitiveSet); } while (smesa->vb_last < smesa->vb_cur) { - sis_emit_func(smesa, smesa->vb_last); + sis_emit_func(smesa, (char *)smesa->vb_last); smesa->vb_last += incr; } mWait3DCmdQueue(1); |