| Summary: | Polygons with parts outside the window gets misrendered. | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | Thomas Hellström <thomas> |
| Component: | Drivers/DRI/Unichrome | Assignee: | Yann Vernier <yann-freedesktop-bugs> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | high | ||
| Version: | git | ||
| Hardware: | x86 (IA32) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
| Attachments: |
Python Tk+OpenGL program demonstrating clipping bug
change GET_VERTEX_SIZE() to return vertex stride |
||
|
Description
Thomas Hellström
2004-12-12 14:11:13 UTC
Created attachment 1559 [details]
Python Tk+OpenGL program demonstrating clipping bug
This interactive program nicely demonstrates such a bug. It uses a texture
(NeHe.bmp) and is based on the PyGL versions of NeHe's sample OpenGL code.
Correctly drawn, this has a background with a blue square in the center, red
left side, and magenta right side. It contains a single textured (2x2) quad
movable with the left mouse button. Drag it to the lower left corner, and the
top right corner snaps to the left edge. I do not know why this does not happen
if the quad is not textured, and this isn't the simplest possible test case,
but at least it is consistent.
the problem occurs somewhere in CopyPV called from via_vb_cliptmp.h, still investigating didn't mean to assign it to the mailing list.. Created attachment 1560 [details] [review] change GET_VERTEX_SIZE() to return vertex stride This macro caused the pointer arithmetic in tnl_dd to go wrong when accessing the vertex buffers. The patch appears to solve the problem for both the test case and glxgears. Yes, this fixes the problem and also a hardlock problem I have been having with a CFD mesh drawing application when parts of the mesh gets outside the window. Great. I've commited this. /Thomas 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.