ID: | 1159 |
From: | ge...@igor2.repo.hu |
Date: | Sun, 31 Dec 2017 14:18:00 +0100 (CET) |
Subject: | Re: [pcb-rnd] layers in lesstif |
in-reply-to: | 1156 from ka...@aspodata.se |
replies: | 1160 from ka...@aspodata.se |
On Sat, 30 Dec 2017, karl@aspodata.se wrote: > Igor2: >> On Fri, 29 Dec 2017, karl@aspodata.se wrote: > ... >>> r11077 silk is black >>> r11087 silk is grey and blend with far side >> >> Thanks, checked the logs betwen those two. It's a bug introduced with the >> composte layer rewrite - I still don't have any system where this is >> reroducible so I can't test out my ideas for the fix, > > Perhaps you need something like this: > > # lspci | grep VGA > 01:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G400/G450 (rev 82) > > and I did compile my own mesa and xorg to get rid of udev. > >> I'll need to ask your contribution on this. > > No problems. > >> I still do not know why transparency happens at all, tho. >> >> I think we have two things we could do to proceed: >> >> 1. can you please narrow it down to a single commit that introduced the >> wrong behavior? > > Ohh I'm sorry, typo above, correct is: > > r11077 silk is black > r11078 silk is grey and blend with far side Thanks, I see how that changed the behavior. > >> 2. on svn HEAD, please run a make distclean, configure and edit >> trunk/config.h and comment out the line #define HAVE_XRENDER 1 >> >> The second test would help me acknowledge a theory I have after reading >> the change logs of those 10 revisions. > > $ svn info | grep Revi > Revision: 13710 > $ make distclean > ... > $ ./configure --debug --disable-xrender > ... > $ grep -i render config.h > /* Define to 1 if Xrender is available */ > /*#undef HAVE_XRENDER */ > $ make > $ cd src > $ cp file . > => silk is black > I've figured! I forgot that you changed the invisible color to black. I booted a machine where I have hardware accelerated graphics and compared the gtk2+opengl rendering to the lesstif+xrender rendering. They do the same, and they both do what they should: - multiple silk objects in the same layer group (same side) combine without transluency, as in an 1 bit bitmap - different layer groups (e.g. top side silk and bottom side silk) are combined with transluency, causig the shading effect you showed Bad news: It seems 99% of our users want this. I am also among the 1% who don't want transluency, but I use the gdk render (sw rendering) that doesn't implement it anyway. So one solution for you is obviously to disabling XRENDER. I am not sure, but it may hurt performance, tho. Good news: When Keith Packard fixed up our gtk+gl earlier this year, he foreseen the small group of anti-transluency users, so he added a feature called layer alpha. It's a floating point number, between 0 and 1 in the conf tree, under appearance/layer_alpha ; the default value is 0.7 I think. The lesstif HID didn't use it, but hardwired 0.5 instead in the code. I've just commited r13749 that implements the configured layer_alpha. So please svn up, re-enable XRENDER and test it. The simplest way to try it out is from the command line: ./pcb-rnd foo.lht -c appearance/layer_alpha=1 If you find the right value, you can put it in any of the config files the same way you did with the invis-color. HTH, Igor2
Reply subtree:
1159 Re: [pcb-rnd] layers in lesstif from ge...@igor2.repo.hu
1160 Re: [pcb-rnd] layers in lesstif from ka...@aspodata.se
1163 gtk+gl build error on lesstif (was: Re: [pcb-rnd] layers in from ge...@igor2.repo.hu
1164 Re: gtk+gl build error on lesstif (was: Re: [pcb-rnd] layers in from ge...@igor2.repo.hu
1166 Re: gtk+gl build error on lesstif (was: Re: [pcb-rnd] layers in lesstif) from ka...@aspodata.se
1167 Re: [pcb-rnd] layers in lesstif from ka...@aspodata.se
1184 Re: [pcb-rnd] layers in lesstif from ge...@igor2.repo.hu