Here are some basic patches for bugs in the r128 driver. They don't by
themselves fix my problem, but they contribute.
Thanks in advance,
--
Martijn van Oosterhout <[EMAIL PROTECTED]> http://svana.org/kleptog/
--- Mesa-6.4.2/src/mesa/drivers/dri/r128/r128_state.c 2005-05-04 22:11:38.000000000 +0200
+++ mesa-6.4.2/src/mesa/drivers/dri/r128/r128_state.c 2006-06-28 11:26:07.000000000 +0200
@@ -423,8 +423,14 @@
x2 += drawable->x;
y2 += drawable->y;
- rmesa->setup.sc_top_left_c = ((y1 << 16) | x1);
- rmesa->setup.sc_bottom_right_c = ((y2 << 16) | x2);
+ /* Clamp values to screen to avoid wrapping problems */
+ if( x1 < 0 ) x1 = 0;
+ if( x1 >= rmesa->driScreen->fbWidth ) x1 = rmesa->driScreen->fbWidth - 1;
+ if( y1 < 0 ) y1 = 0;
+ if( y1 >= rmesa->driScreen->fbHeight ) y1 = rmesa->driScreen->fbHeight - 1;
+
+ rmesa->setup.sc_top_left_c = (((y1 & 0x3FFF) << 16) | (x1 & 0x3FFF));
+ rmesa->setup.sc_bottom_right_c = (((y2 & 0x3FFF) << 16) | (x2 & 0x3FFF));
rmesa->dirty |= R128_UPLOAD_CONTEXT;
}
@@ -634,8 +640,8 @@
int x = rmesa->driDrawable->x;
int y = rmesa->driDrawable->y;
- rmesa->setup.window_xy_offset = ((y << R128_WINDOW_Y_SHIFT) |
- (x << R128_WINDOW_X_SHIFT));
+ rmesa->setup.window_xy_offset = (((y & 0xFFF) << R128_WINDOW_Y_SHIFT) |
+ ((x & 0xFFF) << R128_WINDOW_X_SHIFT));
rmesa->dirty |= R128_UPLOAD_CONTEXT | R128_UPLOAD_WINDOW;
}
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev