| <<<Back 1 day (to 2013/11/13) | 2013/11/14 |
Robin_Watts | anyone still here? | 00:12.12 |
| Woo Hoo! Got the psdcmykog device working. | 12:16.24 |
kens2 | Excellent | 12:16.32 |
Robin_Watts | Still need to do blank component skipping. | 12:16.50 |
| but now I can go for a run and not be annoyed all the way around :) | 12:17.07 |
paulgardiner | Robin_Watts: don't give it one more test before you go. :-) | 12:20.13 |
henrys | Robin_Watts, cranking away as usual - like a firehose, | 13:28.36 |
Robin_Watts | dangerous when uncontrolled? Causes lots of unintentional damage? :) | 13:37.12 |
kens | chrisl, Robin_Watts I've sent you a mail I propose to send to the customer who is shouting a bit. Could you give it a peruse and tell me if you think its OK please ? | 14:04.42 |
| Nice of Matteo Gamboz to let us know what the PDF validation fokls said. | 14:05.25 |
Robin_Watts | kens: looks good to me. | 14:06.13 |
kens | Thanks Robin_Watts | 14:06.18 |
Robin_Watts | I might mention irc too. | 14:06.18 |
kens | Yeah I did consider that | 14:06.25 |
| I'll put it in at the end | 14:06.34 |
Robin_Watts | Say that if they visit us on irc, they can often speak directly to an engineer, and that that can frequently save lots of back and forth with emails. | 14:06.53 |
kens | Yep, that was pretty much what I was thinking. Trying har dot be positive here | 14:07.12 |
| OK mail sent, lets see what they say next | 14:13.05 |
henrys | kens:I wonder if our contract should be more clear to report problems to support, none of this would have happened if not for that. ray must have missed the original. | 14:29.26 |
kens | henrys, maybe we need to send out a mail to new custoemrs, or perhaps, yes put it in the contract | 14:29.52 |
| Its disappointing to annoy a customer for no reason | 14:30.53 |
henrys | kens:I've put in a request with scott and miles to fix the contract or do an intro letter. | 14:38.10 |
kens | Makes sense, thanks henrys | 14:38.23 |
henrys | so I assume everyone has finger to nose for the gsprint / windows queue problem. | 14:40.08 |
kens | Definitely | 14:40.25 |
| I doubt we can debug that at all to be honest | 14:40.40 |
Robin_Watts | kens: "Pack the machine and printer that are having the problem up in a box and mail that to Marcos" | 15:04.30 |
kens | :-) | 15:04.42 |
Robin_Watts | He'll reformat the harddrive and reinstall windows, and everything will be fine. | 15:04.46 |
kens | Hmm, did they send us a PostScript file ? | 15:05.40 |
| aha a mvrhel_laptop | 15:07.46 |
mvrhel_laptop | uhoh | 15:07.53 |
kens | Got some problems Michael, need to chat when yo uhave some time | 15:08.07 |
henrys | mvrhel_laptop: doesn't have his finger on his nose - he doesn't know what we're talking about. | 15:08.26 |
mvrhel_laptop | kens: shoot. this morning is going to be hard. I am going to be out most of the early morning | 15:08.43 |
kens | mvrhel_laptop : its bug #694774 | 15:09.01 |
| Best thing probably is to take a quick look at the report from Marcos and my replies | 15:09.19 |
| The inital problem is that if Marcos sets -dUseCIEColor then weembed an ICC profile | 15:09.46 |
| (because we have 'LeaveCOlorUnchanged' | 15:10.01 |
| The only difference between the old code and the new is the embedded profile, whic is of course different | 15:10.29 |
| Acrobat gives me an error with teh one from teh new code, and so does GS | 15:10.49 |
| But I don't know why | 15:10.54 |
mvrhel_laptop | kens: ok I will review it later this morning | 15:10.57 |
kens | The second problem is back to 'concretize_color' | 15:11.09 |
mvrhel_laptop | oh its 2 problems in one.... | 15:11.22 |
kens | I thought that when I did concretize_color I woudl get back the converted values in the current ProcessColorModel colour space | 15:11.47 |
mvrhel_laptop | or is this another bug? | 15:11.52 |
kens | But in fact what I'm getting back is just the value of the separationcomponent | 15:12.01 |
| Its all the same bug, two problems | 15:12.08 |
Robin_Watts | henrys, or anyone else... Could I beg someone else to do a quick read through on: 0001-psdcmykog-simple-example-process_page-device.patch in my home dir on casper? | 15:12.41 |
mvrhel_laptop | hmm is the sep color "Red"? | 15:12.51 |
kens | The problem is I'm treating the single return value as all teh components of the ProcessCOlorModel space, so I treat '1' as '1 0 0' RGB and my b/Separation /All comes out as red | 15:12.58 |
mvrhel_laptop | I see | 15:13.28 |
henrys | Robin_Watts: sure but ray should go over it when he gets here. | 15:13.41 |
mvrhel_laptop | I have to go now. otherwise the morning is going to cascade into a problem for me. will look this over later today kens | 15:13.52 |
kens | OK mvrhel_laptop thre's no real rush, btu I am puzzled :-) | 15:14.10 |
Robin_Watts | henrys: sure, I just want to make sure I haven't inadvertantly left any 801 specifics in there. | 15:14.19 |
kens | And as Marcos rightly points out, this will come up :-( | 15:14.24 |
Robin_Watts | mvrhel_laptop: Many thanks for that file! | 15:14.32 |
kens | Shucks, since I mentioned that 694429 is rendered differently Marcos has noticed its not right. I mean, it was wrong before, its just different now :-( | 15:15.56 |
| More hacky heuristics for broken files required I suspect :-( | 15:16.48 |
| ?me should never have mentioned it :-( | 15:17.17 |
henrys | Robin_Watts: I wouldn't say customer 801 in the log | 15:18.27 |
Robin_Watts | henrys OK. | 15:18.42 |
henrys | just say what it "exemplars" | 15:19.00 |
| ;-) | 15:19.03 |
| Robin_Watts: I don't see anything derivative | 15:27.53 |
Robin_Watts | henrys: fab. | 15:31.14 |
| I'm updating comments etc throughout the code now to explain the important stuff. Once Ray has given his OK, I will get it committed. | 15:31.39 |
henrys | Robin_Watts: but I'm concerned about it. They present the broad strokes for a device we one up them with native planar and some other stuff and release it to everyone including their competitors. | 15:32.02 |
Robin_Watts | Hmm. They present us with a device that works in chunky mode and relies on a severely hacked version of gs to work. | 15:33.11 |
| We've updated gs so that the hacks aren't required. | 15:33.26 |
| and it's those updates that arguably make use of their clever idea. | 15:33.43 |
| (their clever idea being to move device processing onto the rendering threads) | 15:34.06 |
henrys | Robin_Watts: yes and we are releasing that clever idea to everyone. | 15:34.29 |
Robin_Watts | that code is already in and commited, and the world has already benefited from that | 15:34.40 |
| This device is just an example of how to use it. | 15:35.07 |
henrys | Robin_Watts: alright let's go with it. | 15:35.30 |
Robin_Watts | There is a huge difference between our implementations. | 15:35.53 |
| Theirs was a horrible hack that involved copying data out, and then packing it back in relying on specifics about the buffering that there was no guarantee we wouldn't change in future versions. | 15:36.32 |
| Ours is much cleaner and requires less work. | 15:36.44 |
| So we've been inspired by their idea, but no code is shared. I don't think they can really get annoyed with us. | 15:37.07 |
henrys | Robin_Watts: if they read it as an idea I agree, if they think that's our invention your distributing we're in trouble. | 15:38.04 |
| there are more ridiculous software inventions than theirs. | 15:38.50 |
Robin_Watts | From a patent perspective "invention" includes both the idea and the mechanism for implementing it. | 15:39.08 |
paulgardiner | tor7: markup annotations for iOS is on paul/master when you have a free moment | 15:39.42 |
Robin_Watts | actually, that's not true, AIUI. From a patent perspective "inventions" are the mechanism for doing things. | 15:40.04 |
henrys | Robin_Watts: the legal stuff is moot - their a customer I'm trying to figure out if it is going to piss them off. | 15:40.41 |
Robin_Watts | And their "invention" is to repack the data in a coded form that they can pull out later. We don't do that. | 15:40.41 |
| henrys: fair enough. | 15:40.52 |
henrys | s/their/they're my irc english is appauling | 15:41.29 |
chrisl | suppresses comments about "American English" ;-) | 15:42.28 |
Robin_Watts | henrys: We can try to forestall any objections by sending them an email saying "we've created a simple device to test planar, aligned, process_page operation and we are running that through our regression tests." | 15:42.43 |
paulgardiner | My client just played a little tune, pointing out there is a paul in appauling. :-) | 15:43.08 |
| irc client that is | 15:43.30 |
Robin_Watts | chrisl: Did you see the installer for steam? It has a list of languages when it installs, including "Chinese (traditional)" and "Chinese (simplified)". | 15:43.34 |
henrys | paulgardiner: I thought you had a customer you were "ringing" up. | 15:44.00 |
Robin_Watts | It also has a UK flag next to "English (traditional)" and a US one next to "English (simplified)". | 15:44.09 |
chrisl | LOL! | 15:44.22 |
paulgardiner | Yeah, I thought "client" without qualification could be confusing. | 15:44.29 |
geek_cl | hello guys, i have a problem with cups-pdf : https://gist.github.com/anonymous/089900427f90c23131a8 , GPL Ghostscript 9.06: Unrecoverable error, exit code 1 | 15:45.27 |
chrisl | geek_cl: we need a Ghostcript command line and an example PS/PDF input file to reproduce the problem | 15:46.54 |
henrys | Robin_Watts: we could then send them the device and ask them if they object if it becomes part of the ghostscript distribution, extolling the virtues of the open source community's testing capacity. | 15:47.08 |
Robin_Watts | henrys: sure. but expect to wait a long time for a response... | 15:47.29 |
geek_cl | chrisl: im not doing a command, just print from a xterm app, to the local printer (cups-pdf) | 15:47.57 |
kens | geek_cl : then you need to find out what command is being executed and tell us that | 15:48.15 |
Robin_Watts | geek_cl: Right, and when you do that it goes through a long pipeline of things; into cups, shaken about a bit and finally passed to ghostscript. | 15:48.41 |
| In order for us to be prepared to look at it, you've got to show us that it's ghostscript at fault, not anything else in the pipeline. | 15:49.16 |
henrys | isn't sure if he is being to paranoid | 15:49.17 |
chrisl | geek_cl: I'd also note that 9.06 is a few versions out of date - we released 9.10 back in August....... | 15:49.44 |
geek_cl | Robin_Watts: is a terminal non-gui app. | 15:49.46 |
Robin_Watts | as such we need the actual gs command that ends up being called, and the inputs to that command. | 15:50.17 |
| henrys: I feel you're being a bit paranoid, but I can understand why. There is no telling what will annoy a customer. | 15:51.02 |
| I might be tempted to put it to them that we have created a device specifically to allow the new mechanisms that we implemented for them to be tested in our cluster without exposing any of their details. | 15:52.35 |
| Thus they will get the benefit of ongoing testing without any exposure of their IPR. | 15:53.10 |
| i.e. don't ask if they object. | 15:53.17 |
geek_cl | i will upload the perl code , wait me a min, thanks | 15:53.25 |
kens | geek_cl : that won't help | 15:53.34 |
henrys | Robin_Watts: forgiveness not permission I like it. | 15:54.02 |
kens | We really aren't equipped to deal with that sort of problem, you need to extract from teh CUPS pipeline the file which is being sent to Ghostscript, and teh command being used to invoke it | 15:54.13 |
henrys | marcosw: are you about? | 15:54.36 |
Robin_Watts | geek_cl: You're not listening. You want us to look for a bug in *our* code? Well, show us that it's a bug in our code. We are not going to go looking for a bug in anyone elses code. | 15:54.38 |
chrisl | henrys: given that we (well Robin, mainly) has made architectural and API changes to make this work, it would seem unreasonably to expect us to keep that private - OTOH, as Robin implies "reasonable" does not always enter into customer attitudes..... | 15:55.07 |
| Damn! Windows just rebooted without asking - stupid thing....... | 15:55.39 |
geek_cl | kens, Robin_Watts: in this code there are a gs stuff: pastebin.com/h3R6Knir | 15:58.20 |
kens | geek_cl : yes there's lots of stuff in there. Now tell me the Ghostscript command line | 15:59.13 |
Robin_Watts | geek_cl: I don't read perl for less than $75 an hour. | 15:59.25 |
geek_cl | i don't know where is it | 15:59.30 |
kens | I also dfon't see anything in that Perl script which calls Ghostscript or sets up any of its parameters | 15:59.51 |
| And I don't speak Portugese (Spanish maybe ?) | 16:00.17 |
| Matyeb even Italian | 16:00.28 |
geek_cl | kens: is Spanish | 16:01.17 |
kens | Like I said, not a language I speak I'm afraid | 16:01.37 |
| Makes it hard to figure out the ocmments, but anyway, I see no evidence of Ghostscript in there | 16:01.55 |
| geek_cl : Mayeb you chould go talk to the CUPS developers, at the very least they should be able to tell you how to extract the GS invocation and capture teh input file. | 16:02.52 |
geek_cl | ok kens, thanks Robin_Watts kens | 16:03.20 |
ray_laptop | morning, all | 16:03.36 |
kens | Hi ray_laptop | 16:03.42 |
Robin_Watts | Morning ray. | 16:03.48 |
| So how does the color_usage_bits stuff work then? Is that working for NRT > 0 yet ? | 16:04.15 |
ray_laptop | my laptop has been sick. The CPU would never go below 25% | 16:04.16 |
henrys | kens:it is creating a gs string command and using a pipe | 16:04.17 |
Robin_Watts | ray_laptop: Runaway process on 1 core? | 16:04.29 |
kens | henrys that's more than I know | 16:04.32 |
ray_laptop | I had to go to a system restore point. Now it seems better | 16:04.35 |
kens | henrys, so maybe he geek_cl canprint out the string then | 16:04.49 |
| THen he can tell us what is being sent to GS | 16:05.04 |
kens | ios not a Perl developer either | 16:05.13 |
ray_laptop | the strange thing is that the "process' list didn't show anything higher than 2% | 16:05.15 |
chrisl | ray_laptop: A few minutes ago, my Windows laptop rebooted (proper "windows is shutting down" and reboot) without warning..... very annoying! | 16:05.53 |
henrys | kens:the perl does not look right at all. | 16:06.04 |
chrisl | henrys: does perl every look "right"? | 16:06.23 |
kens | henrys, no idea, its pretty much beyond me. WHich is why we want a GS command line of course :-) | 16:06.28 |
ray_laptop | Robin_Watts: I am wrapping up the fix on the hack for cust 532, then I'll look at the SEGV's with the color_usage WIP | 16:06.37 |
henrys | kens:of course, just curious | 16:07.19 |
ray_laptop | Robin_Watts: I saw in the logs that you have to psdcmykog working (and that you were going to do plane skipping next) | 16:07.26 |
Robin_Watts | ray_laptop: yeah. | 16:07.39 |
henrys | ray_laptop:big discussion in the logs you may want to weigh in on. | 16:08.26 |
ray_laptop | henrys: looking at the logs, now... | 16:08.50 |
| henrys: was that the discussion you and Robin_Watts had about cust 801 ? I *seriously* doubt that anybody looking at the original code they gave us (under NDA) and what we have done in a 'sample' device are related. | 16:14.55 |
kens | henrys point is that legal technicalities aside, we don't want to annoy the customer | 16:15.30 |
| Personally I'd be slightly surprised if they were annoyed, but stranger things have happened. | 16:15.50 |
ray_laptop | Robin_Watts: was there some code somewhere you wanted me to look at ? | 16:16.14 |
kens | Robin's notion of telling them we've created a new example device so that we cna test the changes required for their device, without exposing their device to the outside world, seems the best approach to me | 16:16.36 |
Robin_Watts | ray_laptop: Yeah... 0001-psdcmykog-simple-example-process_page-device.patch in my root dir on casper. | 16:16.39 |
henrys | kens:agreement here | 16:17.09 |
ray_laptop | The only 'upset feelings' would more likely be from whoever did the original implementation in having us come up with a better way (loss of face). (IMHO) | 16:19.05 |
| But having been a customer, and also working with cust 532, it is always much better to have the feature in the 'standard' code and not have to maintain a lot of custom code when getting fixes or new releases | 16:19.54 |
| That's why we were glad to give LPD the memory based clist code I developed to put in the standard sources. | 16:20.36 |
| and I wasn't even miffed when LPD re-worked the interface to his own approach. As long as it worked, great! | 16:21.59 |
| And the performance improvements we've managed to provide should offset any upset. | 16:22.56 |
| however, maybe poll Takane-san for his opinion ?? | 16:24.02 |
| I don't know how much he's been in contact with anyone there | 16:24.27 |
Robin_Watts | Updated patch there. | 16:29.21 |
| ray_laptop: So I'm parking the example device until 1) I've spoken to mvrhel about spot_equiv_colors etc, and 2) you've got NRT > 1 and color_usage_bits working nicely together. | 16:30.09 |
| I realised when testing this last night that I haven't got the alignment stuff working for non clist builds yet. | 16:30.31 |
| so I'm going to look at that next. | 16:30.40 |
ray_laptop | Robin_Watts: patch where ? | 16:31.12 |
Robin_Watts | 0001-psdcmykog-simple-example-process_page-device.patch in my root dir on casper. | 16:31.27 |
| I'm pretty sure I've removed all 801 references from it :) | 16:32.17 |
ray_laptop | Robin_Watts: OK. I'll have a look... | 16:32.53 |
Robin_Watts | ray_laptop: don't let me distract you frm 532, obviously. | 16:33.11 |
ray_laptop | darn. After the system restore, it thought it needed to 'set up the Visual Studio environment for the first time' :-( back to MS's crappy color choices and default fonts | 16:38.36 |
Robin_Watts | ray_laptop: are you using VISUAL STUDIO 2012 SHOUTY GREY EDITION ? | 16:39.24 |
ray_laptop | darn. A bunch of files were missing in my cust 532 directory and 'setsim.bat' :-/ | 16:47.34 |
| luckily I am able to restore them using 'git' | 16:47.56 |
kens | Goodnight all | 17:27.41 |
tkamppeter | Someone is reporting a bug on Ubuntu that the psgray device is missing, was this part of the discontinued pswrite? | 17:28.28 |
Robin_Watts | ok, alignment in page mode fixed. | 17:34.57 |
| mvrhel_laptop: ping ? | 17:35.01 |
ray_laptop | Robin_Watts: on the comment line: This device produces 6 component psd files, Cyan, Magenta, Yellow, Key, (should that be K or Black, not Key)? | 17:49.05 |
Robin_Watts | K = Key, right? | 17:50.02 |
| K = Key = Black | 17:50.10 |
ray_laptop | Robin_Watts: maybe in the UK (where you say "Zed" for "Z") "Key" means "K" -- in other modules and docs we just call it CMYK or Cyan, Magenta, Yellow and Black | 17:53.27 |
Robin_Watts | http://en.wikipedia.org/wiki/CMYK_color_model | 17:53.59 |
ray_laptop | Robin_Watts: it looks like this code won't build on a machine that doesn't HAVE_SSE2 as a minimum | 17:55.42 |
Robin_Watts | ray_laptop: Why not? | 17:55.58 |
| There is a C version of the SSE code | 17:56.31 |
ray_laptop | Robin_Watts: unless I miss something it always does: | 17:57.53 |
| #include <emmintrin.h> // SIMD sse2 | 17:57.54 |
| #include <omp.h> // OpenMP | 17:57.56 |
| Are we guaranteed that those headers will exist if HAVE_SSE2 is 0 ? | 17:57.58 |
Robin_Watts | ray_laptop: Oh, I see! I'll add guards around the includes. Thanks. | 17:58.29 |
ray_laptop | Robin_Watts: you can see I haven't gotten very far yet | 17:58.46 |
Robin_Watts | actually, I can remove the omp.h too. | 17:58.54 |
| nice spot. | 17:59.07 |
ray_laptop | Robin_Watts: should we factor out all of the functions shared with gdevpsd.c ? | 18:00.29 |
Robin_Watts | ray_laptop: Possibly, but that's not trivial. | 18:00.48 |
ray_laptop | duplicate code is more difficult to maintain | 18:00.55 |
Robin_Watts | Cos they cast the device pointers internally. | 18:01.01 |
| that's part of what I need to talk to mvrhel_laptop about. | 18:01.12 |
| There appears to be a lot of code that needs to be duplicated for a device n device. | 18:01.59 |
| It would be nicer to simplify this a bit maybe. | 18:02.15 |
| ray_laptop: I'm getting a color_usage.or of 63 for tiger, with clist and NRT = 0. | 18:06.49 |
| I'd have expected 15. | 18:06.58 |
ray_laptop | Robin_Watts: with the current "broken" color_usage tracking, LOTS of places set it to 'all' which would be 63 for 6 components | 18:12.14 |
Robin_Watts | I was hoping that tiger (being very simple) would work OK. | 18:16.25 |
| If tiger won't work, I can't think of much that will :( | 18:16.47 |
| ray_laptop: Oh, do you have a fixed branch somewhere ? | 18:17.02 |
henrys | hmm that wasn't very smart I booked the Maui departure thanksgiving weekend the worst possible travel period. | 18:18.15 |
Robin_Watts | henrys: Isn't thanksgiving the 24th? | 18:21.14 |
| So you're spending 2 weeks on Maui ? | 18:22.14 |
henrys | 28th | 18:23.02 |
| I leave on the 30th return the 9th | 18:24.12 |
Robin_Watts | Right, we arrive in honolulu on the 30th too. | 18:24.50 |
| I hadn't considered thanksgiving as a factor :( | 18:25.02 |
ray_laptop | Robin_Watts: henrys: Well, maybe there won't be that many people returning to Maui on that day since travelers tht visited family somewhere are returning home Sat or Sun. The parking lots will be full, I bet. | 18:41.37 |
| Robin_Watts: OK, back to color_usage_improvements | 18:42.02 |
henrys | yes no hope of parking at Denver Airport | 18:42.22 |
ray_laptop | cust 532 is dealt with. | 18:42.28 |
Robin_Watts | I've updated the device locally so that it should cope with color_usage now. Just gonna run some tests. | 18:43.04 |
mvrhel_laptop | ok I am back now | 18:48.23 |
ray_laptop | Robin_Watts: I notice you still have compressed_color_list stuff in there. I thought we were going to drop that ? mvrhel_laptop ? | 18:49.28 |
mvrhel_laptop | I thought we did remove all of that | 18:49.43 |
| too | 18:49.44 |
Robin_Watts | ray_laptop: I have the bare minimum in there that I need for devicen, I believe. | 18:50.07 |
mvrhel_laptop | Robin_Watts: did you have a chance to review my commit to the winRT stuff? | 18:50.26 |
ray_laptop | Oh, it got left in the devn structure ? | 18:50.31 |
Robin_Watts | The 'devn_params' stuff contains a 'compressed_color_list'. | 18:50.32 |
| ray_laptop: It did. | 18:50.45 |
| mvrhel_laptop: sorry, no. will do that right now. | 18:50.52 |
mvrhel_laptop | ok thanks | 18:50.56 |
ray_laptop | changing locations. bbiab | 18:51.25 |
mvrhel_laptop | I need to start getting stuff together for japan | 18:53.28 |
Robin_Watts | mvrhel_laptop: When is that? | 18:53.58 |
mvrhel_laptop | Saturday morning | 18:54.06 |
Robin_Watts | crumbs, that soon. | 18:54.15 |
mvrhel_laptop | Robin_Watts: I was hoping to have an overview understanding of what all you have done for the customer. I think I have followed it all from the IRC logs and you emails to the customer and the code | 18:54.59 |
Robin_Watts | mvrhel_laptop: OK, I can't see anything offensive in your review, and there is no possibility of me understanding it all in the short term, so consider it passed :) | 18:55.20 |
| mvrhel_laptop: Right. | 18:55.30 |
mvrhel_laptop | Robin_Watts: ok thanks. | 18:55.42 |
Robin_Watts | I was thinking that we should spend some time going over the device. | 18:56.04 |
mvrhel_laptop | AIUI, you have added in the capability of doing "extra" post processing with the clist rendering threads | 18:56.14 |
| Robin_Watts: that would be ideal if we could do that | 18:56.26 |
| I dont' quite know what the band skipping stuff is that I have seen you talking about | 18:56.50 |
Robin_Watts | mvrhel_laptop: It may be easiest for us to actually look at the psdcmykog device as I've just spent a few hours polishing it with comments and things. | 18:56.56 |
mvrhel_laptop | oh ok | 18:57.02 |
| Robin_Watts: do you want to do that now or is tomorrow better? | 18:57.17 |
Robin_Watts | Now would be fine for me. | 18:57.30 |
mvrhel_laptop | ok give me 5 minutes | 18:57.48 |
Robin_Watts | tomorrow might be a bit close to departure if you spot problems :) | 18:57.48 |
| sure. | 18:57.53 |
| During clist writing, the clist code keeps track of which colorants are used in which bands. | 18:58.13 |
| So I can retrieve a mask from the clist telling me what planes are completely empty or not. | 18:58.43 |
| I can then skip the completely empty ones. | 18:58.52 |
mvrhel_laptop | Robin_Watts: ok I am back | 19:10.38 |
Robin_Watts | ok, so in my home dir on casper there is: | 19:11.07 |
| 0001-psdcmykog-simple-example-process_page-device.patch | 19:11.14 |
| mvrhel_laptop: If you grab that, we can run through it. | 19:13.22 |
mvrhel_laptop | ok I have it | 19:13.32 |
paulgardiner | Robin_Watts: fix for a problem with the tail pointer change on paul/master | 19:13.44 |
Robin_Watts | What's the best way to do this? Do you want to read the comments and ask questions etc? | 19:13.59 |
| paulgardiner: Will look in a bit. | 19:14.08 |
mvrhel_laptop | that probably makes sense | 19:14.14 |
| let me read and ask | 19:14.19 |
paulgardiner | Robin_Watts: no hurry. | 19:14.38 |
Robin_Watts | paulgardiner: Are we guaranteed that page->annots is null on entry? | 19:15.50 |
paulgardiner | I believe so. It's called only once per page load | 19:17.01 |
Robin_Watts | Then it's fine. | 19:17.10 |
paulgardiner | A point I hadn't considered though. | 19:17.18 |
| Robin_Watts: ta | 19:17.22 |
Robin_Watts | If it's called more than once, it'll leak, right? | 19:17.51 |
| Should we have an "if (page->annots) return;" at the start? | 19:18.07 |
| cos this is an end user visible function, I think? | 19:18.32 |
mvrhel_laptop | I see. so you just simply need to set log2_align_mod to get the alignment that you want. what does the pad value do? | 19:24.32 |
| Robin_Watts: ^^ | 19:24.38 |
Robin_Watts | mvrhel_laptop: Suppose you want an alignment of 16, with a guaranteed 5 bytes padding at the end of each line. | 19:25.13 |
| Then you'd set pad to 5. | 19:25.24 |
mvrhel_laptop | ok | 19:25.51 |
Robin_Watts | For instance, suppose you wanted to do PNG compression. | 19:26.10 |
| In that you could try each of the different compression methods on a line to find the best one. | 19:26.28 |
| and you'd want to store which compression method you picked there too. | 19:26.57 |
| so you'd need an extra bytes padding. | 19:27.03 |
| maybe that's a bad example. | 19:27.08 |
mvrhel_laptop | I understand | 19:27.14 |
| ok and clist_init_data does the call for gxdso_adjust_bandheight | 19:27.59 |
| that makes sense | 19:28.02 |
| as it forces the band height how the device wants it | 19:28.14 |
Robin_Watts | yeah. | 19:28.35 |
mvrhel_laptop | halfway through and so far all nicely done | 19:29.03 |
| even I can understand it | 19:29.11 |
| looking over the process_fn stuff which looks a bit more involved | 19:29.59 |
| I may have to apply the patch to follow this part | 19:32.00 |
| hold on | 19:32.02 |
| Robin_Watts: OK. I have a good following now of this | 19:38.42 |
| nice work! | 19:38.44 |
| very powerful addition to gs | 19:38.58 |
| this is a great demo device | 19:39.14 |
Robin_Watts | excellent, thanks. | 19:39.23 |
| I have questions about it. | 19:39.30 |
mvrhel_laptop | now, is the customer aware that we have made this device yet? | 19:39.33 |
Robin_Watts | mvrhel_laptop: Not yet. I was going to write a proposed email to them for us to kick around between us. | 19:39.56 |
| but I'd like to talk about some stuff first... | 19:40.30 |
mvrhel_laptop | ok. I would prefer that were done before we get there. I don't want to drop that bomb myself | 19:40.41 |
Robin_Watts | the nastiest bit of this device is the device n stuff. | 19:40.46 |
mvrhel_laptop | and not use the right words | 19:40.53 |
Robin_Watts | mvrhel_laptop: I understand completely. | 19:40.53 |
| It seems that there is a fair amount of boiler plate required for device n stuff. | 19:41.27 |
| and I've not coped with the whole spot equivalent colors stuff yet. | 19:41.47 |
mvrhel_laptop | spot equivalence is only needed in cases where we want to 'see' a rendition of what it might look lke | 19:42.34 |
Robin_Watts | In this device I have had to hardwire the ArtifexOrange and ArtifexGreen components CMYK values. | 19:43.31 |
| It would be nicer, as you said yesterday to get them from the profile. | 19:43.55 |
| I am slightly tempted to make a "gdev_prn_devn" device. | 19:44.17 |
| which both this and psdcmyk could derive from. | 19:44.36 |
| That would, I think, hide all the devn stuff away. | 19:44.50 |
ray_laptop | Robin_Watts: I am seeing a SEGV in clist_close when it tries to free the icc_cache_list when BGPrint=true. It's dying in gs_heap_free_object. The icc_cache_list is allocated in clist_setup_render_threads using 'mem' but for a BGPrint thread, that is a chunk allocator != mem->thread_safe_memory | 19:44.57 |
mvrhel_laptop | that would be nice. since there is a fair amount of devn overhead | 19:45.01 |
Robin_Watts | ray_laptop: You don't mean an icc_cache_list do you? | 19:45.57 |
mvrhel_laptop | I see gdevdevn.c could be cleaned up some | 19:46.12 |
| it has all the compressed color stuff | 19:46.37 |
ray_laptop | Robin_Watts: yes, icc_cache_list (isn't that what I wrote ?) | 19:46.41 |
Robin_Watts | ray_laptop: Oh, sorry, maybe you do. Can we just make the place that's not using the thread safe allocator use the thread safe allocator ? | 19:46.56 |
ray_laptop | Robin_Watts: yes, just wanted to mention it. I'm fixing that and seeing if my SEGV's go away | 19:47.23 |
Robin_Watts | ray_laptop: fab. | 19:47.32 |
| mvrhel_laptop: The psd writing code could then be commoned up I think. | 19:47.39 |
mvrhel_laptop | right | 19:48.01 |
Robin_Watts | I'm still not 100% happy with my understanding of the devn stuff. | 19:48.22 |
| mvrhel_laptop: For instance, at the very end of the file, where we define the actual device. | 19:48.57 |
| We provide a pointer to DevCMYKOGColorants, a list of the 6 colorants. | 19:49.28 |
mvrhel_laptop | oh I have a pdf file with those names if you want to test with it | 19:50.01 |
| it is the one that generated the psd file I gave you | 19:50.15 |
Robin_Watts | mvrhel_laptop: That might be good. I could check that into toolbin along with a suitable profile ? | 19:50.49 |
| or gs/examples rather. | 19:50.59 |
mvrhel_laptop | Robin_Watts: let me work on a nicer file if you are going to do that | 19:51.11 |
| one that includes some CMYK values that will get mapped by the profile to the orange colorant too | 19:51.30 |
Robin_Watts | mvrhel_laptop: OK. | 19:51.41 |
| So, humour me here. | 19:52.05 |
| the device stuff knows which colorant is which by matching the names in that list ? | 19:52.19 |
| and it knows there are initially 6 colorants by the 6 in the CMYKOG_DEVICE(...) thing. | 19:52.42 |
| If MaxSeparations was higher than 6, more colorants could be added as they were encountered in the file? | 19:53.20 |
mvrhel_laptop | right | 19:53.20 |
Robin_Watts | ok, maybe I'm happier. | 19:53.54 |
mvrhel_laptop | so, that way the graphics lib knows if it needs to do the alternate tint transform or not | 19:54.36 |
Robin_Watts | OK, one for ray. The GC procedures here only list the devicen stuff. | 19:54.36 |
mvrhel_laptop | it needs the device colorants and the number of them | 19:55.03 |
Robin_Watts | Shouldn't they gc the gx_device_common and gx_device_prn entries too ? | 19:55.07 |
| mvrhel_laptop: Oh, I should talk about how this device differs from the device I did for them. | 19:56.23 |
mvrhel_laptop | oh yes please | 19:56.33 |
Robin_Watts | Essentially, for 801, the SSE code is different. | 19:56.44 |
mvrhel_laptop | obviously the halftoning | 19:56.48 |
| right | 19:56.52 |
Robin_Watts | Here the SSE just averages 4 pixels. | 19:57.12 |
| so we load 2 lots of 16 bytes from each scanline, and store 16 out. | 19:57.30 |
| The SSE in their code halftones, drops to 4 bits and repacks. | 19:57.49 |
| At 600dpi, we shrink the C,M,Y,B to 300dpi. | 19:58.30 |
| At 300dpi we expand the K up to 600dpi. | 19:58.43 |
| For the 300dpi, we need an extra buffer to store the expanded K in, cos it won't fit in the memory devices buffer. | 19:59.22 |
mvrhel_laptop | oh right | 19:59.38 |
Robin_Watts | so we allocate that and store it in the "buffer" structure. | 19:59.41 |
| that's pretty much it. | 19:59.53 |
mvrhel_laptop | very nice | 19:59.58 |
Robin_Watts | The only other stuff in their device is code to output in a variety of different ways - but I've really only used the PGM output stuff which is obvious enough. | 20:00.27 |
mvrhel_laptop | right. do you know if they have built and run the project? | 20:01.05 |
Robin_Watts | I do not. | 20:01.21 |
| They reported problems building what ray had sent them. ray followed up with an email, and I have seen no reply. | 20:01.42 |
| I will attempt to write a reply later tonight/early tomorrow so that we can all kick it around before we send it tomorrow evening. | 20:02.14 |
mvrhel_laptop | I was planning to have a copy of it. ray_laptop did you decide to share a git patch for me? | 20:02.36 |
| get ready for a fire drill :) | 20:02.50 |
| not as bad as the last japan trip | 20:03.00 |
Robin_Watts | mvrhel_laptop: I can give you a git patch, but it won't have ray's changes in it. | 20:03.19 |
| I believe ray has my code + some changes for bg print. | 20:03.32 |
mvrhel_laptop | ok. I will work with tray to get something . Thanks Robin_Watts | 20:03.47 |
Robin_Watts | I'd like to speak with ray about the gc stuff if he's about. | 20:04.17 |
mvrhel_laptop | so the bg print stuff, launches another thread that allows the next page to be parsed while the previous page's clist is getting rendered . Is that correct | 20:04.39 |
| Robin_Watts: ^^ | 20:04.53 |
Robin_Watts | mvrhel_laptop: AIUI, yes. | 20:05.33 |
mvrhel_laptop | ok thanks | 20:05.54 |
| heading out for a bit for lunch | 20:05.58 |
| bbiaw | 20:06.02 |
Robin_Watts | interpretation happens on the main thread as always. But the 'print_page' stuff all happens on an another thread. | 20:06.10 |
mvrhel_laptop | ok | 20:06.27 |
Robin_Watts | and where it gets really funky is when you have NRT > 0 so that launches more threads. | 20:06.29 |
mvrhel_laptop | thanks for all your explaining Robin_Watts | 20:06.59 |
Robin_Watts | Ah. | 20:07.38 |
| I spy a spotcmyk_device | 20:07.44 |
| I think that perhaps that's what I want to have as being more public. | 20:07.55 |
| That way my example device could just derive from that. | 20:08.07 |
ray_laptop | oh, great :-( | 20:23.24 |
Robin_Watts | ? | 20:24.20 |
ray_laptop | Now when I try: toolbin/localcluster/gitpush.sh gs extra=BGPrint=true extra=-dNumRenderingThreads=3 I get: | 20:24.43 |
| remote: You're not allowed to run 'rsync --server -vlogDtprcxze.iLsf --max-size 10000000 --delete-excluded . /home/regression/cluster/users/extra=-dNumRenderingThreads=3/ghostpdl' | 20:24.52 |
Robin_Watts | extras | 20:25.16 |
| not extra | 20:25.18 |
| yes, it was probably a bad choice :) | 20:25.38 |
ray_laptop | that causes an rsync error ??? I'll try it... | 20:25.45 |
Robin_Watts | ray_laptop: It's thinking that your username is "extra". | 20:26.11 |
ray_laptop | clever script (*NOT*) | 20:26.29 |
| Robin_Watts: thanks. BTW, the fix to use mem->thread_safe_memory got past the SEGV. I'll try it with my color_usage improvements on the next run. | 20:28.30 |
Robin_Watts | great. | 20:29.14 |
ray_laptop | wow. Are we down to only 6 minutes for a gs regression run :-) | 20:34.40 |
| plus the log processing overhead | 20:35.11 |
| oh, that's why it was so fast: The following 68788 regression file(s) have started producing errors: | 20:36.31 |
| Robin_Watts: the cluster appears broken. it's trying to run: ./gs/bin/gs -sOutputFile='| md5sum >>./temp/tests_private__comparefiles__Altona_Technical_v20_x4.pdf.pbmraw.72.0.md5' -dMaxBitmap=400000000 -sDEVICE=pbmraw -r72 -Z: -sDEFAULTPAPERSIZE=letter -dNOPAUSE -dBATCH -K1000000 -dClusterJob -dJOBSERVER BGPrint=true -dNumRenderingThreads=2 ./... | 20:54.26 |
| have you "improved" anything recently, or should I ping Marcos ? | 20:54.56 |
| Robin_Watts: oops. NM | 20:55.13 |
| typo on my part | 20:55.20 |
| I can't read apparently (or type) :-/ | 20:56.07 |
| takes a lot longer when it does more than immediately die with an error :-/ | 21:09.49 |
| hmm... bmpcmp doesn't seem to like extras= arguments. Trying again with bmpcmp last on the line... | 21:38.23 |
mvrhel_laptop | marcosw_ : are you around? | 23:25.38 |
| or henrys? | 23:25.44 |
marcosw_ | mvrhel_laptop: yes, at the andevcon conferences. | 23:25.55 |
mvrhel_laptop | oh how is that going? | 23:26.02 |
| did you end up creating a digital signature file (*.pfx) | 23:26.22 |
| I don't seem to see how to do that with my AR | 23:26.34 |
| the nexus I have has henrys signature file on it from when he was in chicago | 23:26.54 |
| but I don't know his password. otherwise I would run out and buy a house with it | 23:27.06 |
| marcosw_ | 23:27.26 |
| have to run my son to soccer. bbiaw | 23:29.13 |
marcosw_ | mvrhel_laptop: sorry, I never did create a .pfx file. | 23:31.17 |
mvrhel_laptop | ok | 23:42.07 |
| Forward 1 day (to 2013/11/15)>>> | |