Dear Thomas,<br><br>Thanks for taking responsibility for the shader implementation! I am running a little bit out of time...  <br>I support your suggestions.<br><br>Best regards<br><br>Christian<br><br><div class="gmail_quote">
2010/10/14 Thomas Freitag <span dir="ltr">&lt;<a href="mailto:Thomas.Freitag@kabelmail.de">Thomas.Freitag@kabelmail.de</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 Hi Albert!<br>
<br>
I discussed this issue with Christian, and I have the following suggestion now:<br>
1. You should commit the bugfix part of Christian&#39;s patch in 0.15.0, so that it will be part of 0.15.1. To clearify what I mean with the bugfix part, I attach the bugfix diff I made against 0.15.0 once again. This should already run over Your regtest, as far as I understand the several mails here.<br>

2. I take over the improvement part of the patch, where Christian implements the gouraud shading in Splash. I made several suggestions to Christian, i.e. that in the Splash library should be nor references to the Gfx stuff from the poppler library. I will walk over the code and redesign it a little bit next weekend. The base should be the same.<br>

3. After You create the 0.15.1, I will make a new diff including my improvements of bug 30436 and the improvements of Cjhristian and upload that patch to bug 30436.<br>
<br>
Is this okay for You (and for Christian, too), or does anyone have other suggestions?<br>
<br>
Best regards,<br>
Thomas<br>
<br>
Am 13.10.2010 20:56, schrieb Christian Feuersaenger:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">
Am 13.10.2010 20:34, schrieb Albert Astals Cid:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A Divendres, 8 d&#39;octubre de 2010, Christian Feuersaenger va escriure:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Am 07.10.2010 23:17, schrieb Albert Astals Cid:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A Divendres, 1 d&#39;octubre de 2010, Christian Feuersaenger va escriure:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Am 13.08.2010 23:43, schrieb Albert Astals Cid:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A Divendres, 30 de juliol de 2010, Albert Astals Cid va escriure:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A Dimarts, 27 de juliol de 2010, Christian Feuersaenger va escriure:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dear Albert,<br>
<br>
thank you for your time to perform the regression tests!<br>
<br>
I have fixed the bug; it was a data type problem.<br>
<br>
Attached you find the fixed version.<br>
<br>
The file<br>
bugfix_shadingtype4567_incremental.patch<br>
is relative to the version you used for the regression tests.<br>
<br>
The file<br>
bugfix_shadingtype4567_poppler0.14.patch<br>
is relative to poppler-0.14.0-3-gb2427d0 .<br>
<br>
Thank you for considering my contributions.<br>
</blockquote>
I&#39;ve ran the regression test with the Splash outputdev and all looks<br>
ok, will have to run it over the cairo and ps outputdevs before<br>
committing, though it&#39;ll take a while since next week i&#39;m going to be<br>
away on holidays.<br>
</blockquote>
Bad news, this patch produces a regression in pdftops when running over<br>
the attached file, that is, the unpatched version creates a ps file<br>
that is valid (gs will open it) and the patched version creates a ps<br>
file that &quot;crashes&quot; gs.<br>
<br>
Do you think you can have a look?<br>
<br>
Albert<br>
</blockquote>
Dear Albert,<br>
<br>
I am having difficulties to reproduce the problem. Here is what I did:<br>
<br>
1. try to view bug157704.pdf with the standard gs<br>
--&gt;   crash (see below)<br>
2. call pdftops (using system&#39;s version of libpoppler) and open gs on<br>
the result<br>
--&gt;   works without errors (see below)<br>
3. call pdftops using the patched libpoppler and open gs on the result<br>
--&gt;   works without errors<br>
4. call pdftops of poppler git version of 0.14 without my patch (I have<br>
not yet pulled the new version) and open gs on the result<br>
--&gt;   works without errors<br>
<br>
Do you have more detailed information about the crash? I fear I am<br>
unable to do anything here...<br>
</blockquote>
Wops, works for me now too, i must have done something weird, sorry :-/<br>
<br>
I&#39;ll start the regression test again.<br>
<br>
Albert<br>
</blockquote>
Ok, thanks for the notice!<br>
</blockquote></blockquote>
Dear Albert,<br>
<br>
thanks for the thorough testing.<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The regression test was successful, though i have some questions i&#39;d like to<br>
get answered before commiting the patch.<br>
<br>
In Gfx::gouraudFillTriangle you removed the check for contentIsHidden, why?<br>
</blockquote>
Hm. It seems as if the test should be there - I must have forgotten to include it. Thank you for pointing it out! Could you add it right before the fill statement?<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Why do this if everything else in the line is intengers, what&#39;s the point of<br>
having a 2. there?<br>
-      color01.c[i] = (color0-&gt;c[i] + color1-&gt;c[i]) / 2;<br>
+      color01.c[i] = (color0-&gt;c[i] + color1-&gt;c[i]) / 2.;<br>
<br>
</blockquote>
You are right, that&#39;s certainly a waste of time. I should have investigated the compiler warnings; sorry about that. Please feel free to remove the double suffixes.<br>
<br>
Best regards<br>
<br>
Christian<br>
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Here are the detailed outputs for your reference:<br>
<br>
for (1):<br>
[ludewich] tmp&gt;&gt;gs bug157704.pdf<br>
GPL Ghostscript 8.71 (2010-02-10)<br>
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.<br>
This software comes with NO WARRANTY: see the file PUBLIC for details.<br>
Processing pages 1 through 1.<br>
Page 1<br>
Error: /unknownerror in --run--<br>
<br>
Operand stack:<br>
      --dict:6/15(L)--<br>
<br>
Execution stack:<br>
      %interp_exit   .runexec2   --nostringval--   --nostringval--<br>
<br>
--nostringval--   2   %stopped_push   --nostringval--<br>
--nostringval--   --nostringval--   false   1   %stopped_push   1878<br>
1   3   %oparray_pop   1877   1   3   %oparray_pop   1861   1   3<br>
%oparray_pop   --nostringval--   --nostringval--   2   1   1<br>
--nostringval--   %for_pos_int_continue   --nostringval--<br>
--nostringval--   false   1   %stopped_push   --nostringval--<br>
--nostringval--   --nostringval--   %array_continue   --nostringval--<br>
false   1   %stopped_push   --nostringval--   %loop_continue<br>
--nostringval--<br>
<br>
Dictionary stack:<br>
      --dict:1153/1684(ro)(G)--   --dict:1/20(G)--   --dict:75/200(L)--<br>
<br>
--dict:75/200(L)--   --dict:108/127(ro)(G)--   --dict:288/300(ro)(G)--<br>
--dict:22/25(L)--   --dict:6/8(L)--   --dict:21/40(L)--<br>
--dict:3/5(L)-- Current allocation mode is local<br>
Last OS error: 11<br>
GPL Ghostscript 8.71: Unrecoverable error, exit code 1<br>
<br>
for (2):<br>
[ludewich] tmp&gt;&gt;pdftops -?<br>
pdftops version 0.12.4<br>
[ludewich] tmp&gt;&gt;time pdftops bug157704.pdf<br>
<br>
real    0m14.925s<br>
user    0m13.900s<br>
sys    0m0.140s<br>
[ludewich] tmp&gt;&gt;gs <a href="http://bug157704.ps" target="_blank">bug157704.ps</a><br>
GPL Ghostscript 8.71 (2010-02-10)<br>
[ ALL OK ]<br>
<br>
for (3):<br>
[ludewich] poppler&gt;&gt;git describe # (with my patch)<br>
poppler-0.14.0-18-g821bc2a<br>
[ludewich] tmp&gt;&gt;time ~/code/xpdf/poppler/utils/pdftops bug157704.pdf<br>
<br>
real    0m2.785s<br>
user    0m2.540s<br>
sys    0m0.130s<br>
[ludewich] tmp&gt;&gt;gs <a href="http://bug157704.ps" target="_blank">bug157704.ps</a><br>
GPL Ghostscript 8.71 (2010-02-10)<br>
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.<br>
This software comes with NO WARRANTY: see the file PUBLIC for details.<br>
[ ALL OK ]<br>
<br>
<br>
for (4):<br>
[ludewich] poppler&gt;&gt;git describe # (without my patch using poppler-0.14<br>
) poppler-0.14.0-3-gb2427d0<br>
[ludewich] tmp&gt;&gt;time ~/code/xpdf/poppler/utils/pdftops bug157704.pdf<br>
<br>
real    0m15.844s<br>
user    0m13.820s<br>
sys    0m0.140s<br>
[ludewich] tmp&gt;&gt;gs <a href="http://bug157704.ps" target="_blank">bug157704.ps</a><br>
GPL Ghostscript 8.71 (2010-02-10)<br>
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.<br>
This software comes with NO WARRANTY: see the file PUBLIC for details.<br>
[ ALL OK ]<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Albert<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Best regards<br>
<br>
Christian<br>
<br>
Am 25.07.2010 16:56, schrieb Albert Astals Cid:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A Dissabte, 3 de juliol de 2010, Christian Feuersaenger va escriure:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello Albert,<br>
</blockquote>
Hi<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I&#39;ve managed to fix a bug in the Shading Type 6/7 (Coons&amp;     cubic<br>
tensor patches) implementation.<br>
<br>
The bugfix is small and stable (in my eyes); the poppler-0.14<br>
branch doesn&#39;t implement support for parameterized patch shadings.<br>
I modified the existing implementation accordingly with relatively<br>
few changes.<br>
<br>
Attached you find the patch file and the updated test.pdf to see<br>
the improvement.<br>
<br>
The file type4567patch.... also includes the patch of my previous<br>
mail (they only share the same refinement threshold).<br>
<br>
The patch should work relative to poppler-0.14.0-3-gb2427d0 .<br>
</blockquote>
This patch causes a regression in the attached pdf (the blue area<br>
disappears)<br>
<br>
Albert<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Best regards<br>
<br>
Christian<br>
<br>
<br>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
</blockquote></blockquote></blockquote>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
<br>
<br>
<br>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
</blockquote></blockquote>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
</blockquote>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
</blockquote>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
</blockquote>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
</blockquote>
<br>
_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org" target="_blank">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
<br></div></div>
.<br>
<br>
</blockquote>
<br>
<br>_______________________________________________<br>
poppler mailing list<br>
<a href="mailto:poppler@lists.freedesktop.org">poppler@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/poppler" target="_blank">http://lists.freedesktop.org/mailman/listinfo/poppler</a><br>
<br></blockquote></div><br>