depth and stencil readback are broken on r200 based cards beyond x coordinate 1023 (and I believe y coordinate too but not tested) (Mesa tests zreaddraw, stencilwrap, move them to out of the right border on a 1280x1024 desktop and back in to get a redraw). This appears to be caused by the r200_mba_z16 and r200_mga_z32 functions in r200_span.c which use masks (y & 0x3FF) and (x & 0x3FF) respectively which will limit addressing to coordinates lower than 1024. I'm not sure what the correct fix would be, though using 0x7FF (2047 which is the 3d hardware limit for a single cliprect) solves the issue. But since this just calculates a memory address, why is a mask even needed?
fixed in cvs (with new limit 2047 instead of 1023, since I don't quite understand if there could be issues if it's increased beyond limits, and 2047 is the current limit for 3d rendering anyway).
Roland Scheidegger wrote: > and 2047 is > the current limit for 3d rendering anyway). Where does this limit come from ? Is that just one of the MESA-specific "artificial clamps" or something else ?
The 2047 limit is iirc the maximum size you can specify for a radeon cliprect, maybe other hardware limitations as well. The "artificial" mesa limits aren't artificial at all but are the result of limitations in interpolating values across large triangles in the software rasterizer.
Mass version move, cvs -> git
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.