On Fri, 31 Aug 2012 12:27:38 +0300 Pekka Paalanen <[email protected]> wrote:
> On Thu, 30 Aug 2012 12:15:52 -0500 > Rob Clark <[email protected]> wrote: > > > On Thu, Aug 30, 2012 at 6:11 AM, Pekka Paalanen <[email protected]> wrote: > > > I got these with your 'pq' branch: > > > > > > http://people.collabora.com/~pq/geometry-debug-6.png > > > It appears the clean-up painting paints something wrong, but I haven't > > > been able to reproduce that otherwise. The flower is rotated about 45 > > > degrees. Notice the three green pixels down from the word "Thu" in the > > > panel clock. Those pixels flicker when I move the mouse cursor, even > > > though there should not be damage anywhere near. The green pixels are > > > where the surface's top-left corner is. > > > > three green pixels sound like some garbage left on one of the > > flipchain buffers.. I guess that itself is just from the debug lines, > > although the flower itself looks a bit messed up. > > No, they flash and are very consistent, and follow the flower, even > when there is no real triangle reaching that point, when I stop > moving. I suspect there is a tiny bunch of at least three vertices. > I will try to reproduce it with the cliptest program, or least verify > with prints if there are extra vertices. I couldn't find the problem in cliptest, but I printed the vertices, and this looks suspicious: region verts: (56.9, 44.9) (56.9, 44.7) (57.0, 44.8) (57.0, 45.0) (56.7, 45.0) (56.9, 44.7) Those are what emit_vertex() was called with for a single texture_region() call. The coordinates fit well to the three pixel flashing garbage I see, and nothing else was near those coords. I now realize I should've printed out a little differently to be more useful. > > > http://people.collabora.com/~pq/geometry-debug-7.png > > > This shows a problem with screen-aligned surfaces. The center vertex is > > > not in the center, implying that there are duplicate vertices. Good > > > thing I didn't remove the center vertex yet. > > > > hmm, yeah, this stuff is kinda relying on the duplicate vertex check > > in append_vertex().. > > > > if (x1 == x2) { > > append_vertex(clip(x1, cx1, cx2), clip(y1, cy1, cy2)); > > append_vertex(clip(x2, cx1, cx2), clip(y2, cy1, cy2)); > > } else if (y1 == y2) { > > append_vertex(clip(x1, cx1, cx2), clip(y1, cy1, cy2)); > > append_vertex(clip(x2, cx1, cx2), clip(y2, cy1, cy2)); > > } else { > > > > but I guess maybe we end up w/ a duplicate vertex which isn't the last > > vertex.. so this part is probably still not right.. > > Yeah, I'll try to reproduce problems with cliptest, and get you > screenshots. I couldn't find exactly duplicated vertices in cliptest, but I found problems: http://people.collabora.com/~pq/geometry-test-1.png http://people.collabora.com/~pq/geometry-test-2.png http://people.collabora.com/~pq/geometry-test-3.png http://people.collabora.com/~pq/geometry-test-4.png http://people.collabora.com/~pq/geometry-test-5.png http://people.collabora.com/~pq/geometry-test-6.png Later I added surface orientation mark (the red dot) and vertex indices: http://people.collabora.com/~pq/geometry-test-7.png This one shows a correct result. The latest cliptest is at http://cgit.collabora.com/git/user/pq/wayland-demos.git/log/?h=shaders and hopefully the copy of calculate_edges() is still up-to-date. Cliptest is controlled by mouse left and right drag, and wheel. HTH, pq _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
