Mailing list archives : pcb-rnd

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