Bug 106628

Summary: Missing line endpoints
Product: xorg Reporter: Martin Schreiber <mse00000>
Component: Server/Acceleration/glamorAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: bugzilla-fdo-max, mse00000
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=99705
https://bugzilla.opensuse.org/show_bug.cgi?id=1021803
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Testprogram
none
wrong.png
none
ok.png
none
Xorg log
none
xephyr1.png
none
xephyr2.png
none
OpenGL implementation of upper part of the test program
none
XSetLineAttributes(disp,gc,1,LineSolid,CapButt,JoinMiter);
none
XSetLineAttributes(disp,gc,1,LineSolid,CapProjecting,JoinMiter);
none
Test program with line width 1
none
Line drawing program. none

Description Martin Schreiber 2018-05-23 11:38:17 UTC
Created attachment 139693 [details]
Testprogram

Max Staudt asked me to open a new report instead of
https://bugs.freedesktop.org/show_bug.cgi?id=99705

While testing MSEide+MSEgui on OpenSUSE Leap 42.2 on a Acer Veriton M4640G I found that XDrawLine() has wrong line ends, see attached test-program and screenshot (wrong.png).
32 bit openSUSE 13.2 on the same machine shows the correct result (ok.png).
Xorg log is attached.
Please see also
https://bugzilla.opensuse.org/show_bug.cgi?id=1021803
https://lists.x.org/archives/xorg-devel/2017-February/052624.html
I hope that X11 again will provide fast and precise line drawing primitives. Lines where endpoints sometimes are drawn and sometimes not are useless IMHO.
Comment 1 Martin Schreiber 2018-05-23 11:40:41 UTC
Created attachment 139694 [details]
wrong.png
Comment 2 Martin Schreiber 2018-05-23 11:41:25 UTC
Created attachment 139695 [details]
ok.png
Comment 3 Martin Schreiber 2018-05-23 11:42:17 UTC
Created attachment 139696 [details]
Xorg log
Comment 4 Martin Schreiber 2018-05-23 11:43:11 UTC
Created attachment 139697 [details]
xephyr1.png
Comment 5 Martin Schreiber 2018-05-23 11:43:53 UTC
Created attachment 139698 [details]
xephyr2.png
Comment 6 Martin Schreiber 2018-05-23 11:44:23 UTC
Created attachment 139699 [details]
OpenGL implementation of upper part of the test program
Comment 7 Martin Schreiber 2018-05-23 11:45:07 UTC
Created attachment 139700 [details]
XSetLineAttributes(disp,gc,1,LineSolid,CapButt,JoinMiter);
Comment 8 Martin Schreiber 2018-05-23 11:45:43 UTC
Created attachment 139701 [details]
XSetLineAttributes(disp,gc,1,LineSolid,CapProjecting,JoinMiter);
Comment 9 Martin Schreiber 2018-05-23 11:46:17 UTC
Created attachment 139702 [details]
Test program with line width 1
Comment 10 Martin Schreiber 2018-05-23 11:47:15 UTC
Created attachment 139703 [details]
Line drawing program.
Comment 11 Max Staudt 2018-05-23 13:49:55 UTC
I've sent a patch upstream to try to fix accelerated rendering for 0-width lines, and the discussion that evolved was here:

  https://lists.x.org/archives/xorg-devel/2017-February/052624.html

As far as I can see, upstream developers agree that

 a) this *is* a problem
 b1) either we turn off acceleration completely for 0-width lines, or
 b2) it has to be implemented as a shader that draws exactly how mi does.


I'm happy to assist in refreshing memories here, as well as recount what I've seen during my downstream debugging, as far as I can remember. However, please don't be offended if I get off the CC list eventually, as I will no longer be maintaining the openSUSE graphics stack, and anything up until then will be in my private capacity.

I'll mark the old bug (which I reported in Martin's place) as a DUPLICATE of this bug, so I am off the hook there.


Thanks Martin for opening this new bug, and thanks to the upstream Xorg maintainers for looking into this :)
Comment 12 Max Staudt 2018-05-23 13:49:59 UTC
*** Bug 99705 has been marked as a duplicate of this bug. ***
Comment 13 GitLab Migration User 2018-12-13 18:25:18 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/89.

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.