--- Log opened Сбт Июн 10 01:28:48 2006
01:29 -!- lumag_offline [n=mitya@chimpanzee.school.ioffe.ru] has joined #nouveau
01:29 -!- Topic for #nouveau: http://nouveau.freedesktop.org | open source 3D acceleration for nvidia cards
01:29 -!- Topic set by marcheu [] [Wed Jun  7 23:50:47 2006]
01:29 [Users #nouveau]
01:29 [@ChanServ] [ Duke`        ] [ krejler      ] [ ohsix       ] 
01:29 [ ag      ] [ gajownik1away] [ Lumag        ] [ pmdata      ] 
01:29 [ darktama] [ jkolb        ] [ lumag_offline] [ stringfellow] 
01:29 [ ddl     ] [ katakombi    ] [ marcheu      ] [ svu         ] 
01:29 -!- Irssi: #nouveau: Total of 16 nicks [1 ops, 0 halfops, 0 voices, 15 normal]
01:29 -!- Channel #nouveau created Wed Apr 19 04:19:50 2006
01:29 -!- Irssi: Join to #nouveau was synced in 1 secs
01:29 < pmdata> then maybe it's in the unknown commands that set the opengl state
01:37 < pmdata> I made a diff between depth and depth|stencil, and did not found any difference, except depth is done in 8 passes
01:41 < pmdata> clearing depth should not clear stencil in all cases, I should check that, maybe the driver does not bother till something is drawn in stencil buffer?
01:43 < marcheu> hmm, that's possible but unlikely
01:43 < marcheu> although something like that might make a nice doom 3 optimization :)
01:46 < Lumag> I was experimenting with FIFO channels... It seems that 0 and 1 are used internally and after that each X server gets a spare channel.
01:47 < Lumag> BTW: does anybody know the number of FIFO channels in nv cards?
01:47 < marcheu> yes, and also each X app
01:47 < marcheu> s/X app/3D app/
01:47 < marcheu> 8 on NV03, I think 32 on NV10+
01:47 < marcheu> possibly 16 on NV04
01:47 < Lumag> marcheu: no. Two gl applications run on single server use the same channel
01:47 < marcheu> Lumag: not here. what card ?
01:48 < Lumag> nv06 (vanta)
01:48 < marcheu> Lumag: that means you see the other app's commands in the fifo, right ?
01:49 < Lumag> Hmm... Didn't thought about that. Have to check. I meant that I get the same channel number from decoding context.
01:49 < marcheu> that's possible, I never tried multiple apps on <nv10
01:50 < marcheu> but you just have to see if the physical addresses are the same or not
01:56 < Lumag> Checked. No the fifo's are at separate AGP places.
01:57 < marcheu> wrong decoding then ?
01:58 < Lumag> The register mappings also have different start addresses
01:58 < Lumag> dunno :)
01:58 < marcheu> yes, there are different fifo control registers for each fifo
01:58 < marcheu> so that each process can map it's own fifo & control registers
01:59 < marcheu> the nvidia driver doesn't map the whole register range by default
01:59 < Lumag> Yes. But objects are shared between processes on the single server
01:59 < marcheu> yes
02:00 < marcheu> but each fifo can bind different objects
02:02 < Lumag> Then fifo channel != object channel... Strange
02:03 < Lumag> Or it's not a channel in object hashing and contexts :(
02:05 < marcheu> no idea, I didn't look at object hashing too closely yet
02:05 < marcheu> now some docs use the word channel, where some others say subchannel
02:05 < marcheu> that might introduce confusion
02:05 < Lumag> well... From rivatv docs, there are channels and subchannels. :)
02:06 < darktama> from what I understood, there's multiple FIFOs (channels?), each of which has a number of subchannels that you can bind objects to
02:06 < Lumag> IIUC, different fifo's are channels, each fifo has 8 subchannels.
02:07 < Lumag> :)
02:07 < marcheu> I understand it like darktama too, but...
02:07 < marcheu> if you put aside the hash/object stuff and just think of object names
02:08 < marcheu> you have 8 (or more depending on the hardware) fifos which are at separate memory places
02:08 < marcheu> and each fifo can use 8 objects, which are bound using a fifo command
02:08 < darktama> the SET_CHANNEL command?
02:08 < marcheu> yup
02:09 < darktama> ah, good.  I wondered what that was
02:09 < Lumag> :)
02:09 -!- Myrizio [n=Myrizio@Linuz.sns.it] has joined #nouveau
02:09 < Lumag> marcheu: and?
02:09 < marcheu> darktama: and that command is fed an object name, basically. and that object name comes from the RAMIN stuff
02:09 < marcheu> Lumag: I think htat's about it, really
02:10 < darktama> it's used to lookup an entry in RAMHT isn't it, which then points to the actual object?
02:10 < marcheu> darktama: yup, that's the complex stuff from nv_dma.c
02:12 < darktama> soo.. to render simple tris, do we only need to find one object or is there other objects that need to be setup aswell
02:12 < marcheu> one object is enough, see the haiky driver
02:12 < Lumag> Not so complex. the name and a some index, that rivatv calls chid are used to lookup an object context from the RAMHT. the context determines if the object is valid, the type of the object and the address of instance memory location (think as constructor arguments).
02:12 < marcheu> although you might want to do clears with another object (2D)
02:13 < Lumag> marcheu: I don't think so. Every object is created as a child of some other one :(
02:13 < marcheu> Lumag: yup, that's something I don't quite understand, number have to follow somehow
02:16 < Lumag> marcheu: in your case is that chid (it's (context & 0x0f000000) >> 24) the same for objects on the same screen?
02:17 < marcheu> I didn't look at that
02:18 -!- Duke` [n=gnu@ANantes-251-1-83-53.w86-203.abo.wanadoo.fr] has quit ["Fatal signal: Segmentation Fault"]
02:20 < Lumag> could you please check that?
02:21 < marcheu> not really, I'm using the free driver right now
02:22 < marcheu> (for the few times I can get it to start without crashes, that is)
02:23 < Lumag> :)
02:23 < darktama> I think I might stay away from it for a couple of days, do some more work on fragment shaders instead :)
02:25 < marcheu> pmdata: level1/level2 = ?
02:26 < pmdata> well, in the color/depth/stencil buffer you define a level1 block, and in this one, you define a level2 block, which is to be cleared
02:26 < marcheu> hmm ?
02:26 < marcheu> is this hierarchical ?
02:27 < pmdata> maybe
02:27 < marcheu> hehe... so nvidia was using hierarchichal clears on nv15 already...
02:27 < pmdata> I really don't know, as glClear() always clear an entire framebuffer
02:28 < marcheu> the good thing with this is that it doesn't clear the depth/stencil buffers, but instead a hierachical representation of the zbuffer (like hyperz really)
02:28 < marcheu> we have to figure out precisely which cards work like that
02:28 < marcheu> it's a very nice speed boost usually
02:28 < pmdata> nv20+ seems to have hyperz
02:29 < marcheu> well nv17 has something similar too according to the docs
02:29 < marcheu> but hyperz actually contains hierarchical z clears
02:30 < marcheu> anyway that information is very nice to have
02:30 < marcheu> I'll see what happens on my nv11 & nv18
02:30 < marcheu> "ASAP" :)
02:31 -!- Myrizio [n=Myrizio@Linuz.sns.it] has quit [Remote closed the connection]
02:50 < pmdata> yeah, the LMA, as you wrote on the card features page
02:53 -!- jkolb [n=jkolb@130.57.22.69] has quit ["Leaving"]
03:05 -!- pmdata [n=patrice@ANantes-154-1-111-232.w86-214.abo.wanadoo.fr] has quit ["using sirc version 2.211+KSIRC/1.3.11"]
03:10 -!- ohsix [i=ohsix@bc111222.bendcable.com] has left #nouveau []
04:33 -!- |pedro [n=kvirc@c906e04c.virtua.com.br] has joined #nouveau
05:27 -!- kombrisn [n=kombrisn@p5080902B.dip0.t-ipconnect.de] has joined #nouveau
05:40 -!- Lumag [n=Lumag@chimpanzee.school.ioffe.ru] has left #nouveau []
05:41 -!- katakombi [n=kombrisn@p50808E49.dip0.t-ipconnect.de] has quit [Connection timed out]
09:46 -!- Lumag [n=Lumag@chimpanzee.school.ioffe.ru] has joined #nouveau
11:15 -!- pmdata [i=patrice@81.53.79.109] has joined #nouveau
11:16 -!- Duke` [n=gnu@ANantes-251-1-155-73.w86-203.abo.wanadoo.fr] has joined #nouveau
12:09 -!- EdB|w [n=EdB@212.234.68.206] has joined #nouveau
12:12 -!- EdB|w_ [n=EdB@212.234.68.206] has joined #nouveau
12:29 -!- EdB|w [n=EdB@212.234.68.206] has quit [Read error: 110 (Connection timed out)]
12:54 -!- pmdata [i=patrice@81.53.79.109] has quit [Remote closed the connection]
13:55 -!- |pedro [n=kvirc@c906e04c.virtua.com.br] has quit [Remote closed the connection]
14:00 -!- EdB|w_ [n=EdB@212.234.68.206] has quit [Read error: 104 (Connection reset by peer)]
14:37 -!- pedro_ [n=pedro@c906e04c.virtua.com.br] has joined #nouveau
14:38 -!- kombrisn is now known as katakombi
14:39 < katakombi> every time I log off freenode and relogin my nick name is not logged off. What to do about that?
14:39 < Duke`> freenode has a big timeout...
14:40 < marcheu> katakombi: register your nick : "/msg nickserv help" and then use the ghost functionality
14:40 < katakombi> yeah, it's registered already
14:40 < marcheu> then use the ghost functionality
14:40 < marcheu> maybe with /msg nickserv help ghost
14:42 < katakombi> thanks, that's exactly what I need
14:59 -!- katakombi [n=kombrisn@p5080902B.dip0.t-ipconnect.de] has quit [Remote closed the connection]
15:03 < marcheu> anyone here ? what value do you have for the 0x200 reg ?
15:03 < marcheu> (NV_PMC_ENABLE)
15:04 < darktama> that's the reg that powers up parts of the card?
15:04 < marcheu> yup
15:04 < marcheu> haiku writes 0x13111111
15:04 < darktama> PWRUPCTL: 0x17111113
15:04 < marcheu> I have 0x17111113
15:05 < marcheu> so, 2 unknown bits
15:05 < darktama> no, haiku knows them.. one sec
15:06 < darktama> oh, wait.. maybe it doesn't..
15:06 < darktama> sorry :)
15:07 < darktama> I was thinking about the bits that change from a coldboot -> after starting nvidia's driver..
15:07 < marcheu> according to the layout, that unknown 0x04000000 is crtc-related
15:08 < marcheu> I need values on more cards... maybe it's the dvi out
15:09  * marcheu feels a card swapping rampage coming
15:09 < darktama> hehe, have you got any dual-dvi cards at all btw?
15:09 < marcheu> nope
15:09 < marcheu> hmm, actually
15:09 < marcheu> we have one at the university
15:09 < marcheu> but I'm not root on that machine
15:10 < darktama> hmm, I should get myself one.. it could be useful in figuring out panel setup without the BIOS's help
15:10 < darktama> I'm fairly certain I know the reg that says a panel is connected already
15:10 < marcheu> I can do some tests on that card
15:11 < darktama> cool :)
15:11 -!- pmdata [i=patrice@ANantes-154-1-28-109.w81-53.abo.wanadoo.fr] has joined #nouveau
15:13 < marcheu> darktama: did you try playing with that reg btw ? it didn't work
15:13 < marcheu> ?
15:13 < darktama> which reg?
15:14 < marcheu> NV_PMC_ENABLE
15:14 < darktama> nope, not as yet
15:14 < marcheu> ok, I'll ad that to the mix
15:15 < marcheu> I got bios code to parse without crashes, but it resulted in the card reporting 0kb of ram and X bailing out
15:15 < marcheu> I think that's because you need to power up all the units after the bios parse
15:16 < darktama> mm, that's a possibility
15:17 < marcheu> it's also 0x17111113 on the dual dvi G70
15:18 < darktama> so perhaps not the dvi hardware then..
15:19 < marcheu> btw did you see haiku's unlock_card() ?
15:19 < darktama> yup
15:20 < marcheu> "enable access to secondary head" looks interesting
15:20 < darktama> that does the write to crtc indexed 0x44
15:20 < pmdata> hi all
15:21 < darktama> I modified NVSelectHeadRegisters to also do that in the ddx
15:21 < marcheu> hi pmdata
15:21 < marcheu> darktama: alright, I'm not sure how to put it
15:21 < marcheu> s/how/where
15:22 < darktama> also, when at a console, that reg contains 0x04.. I'm really not sure what that indicates, it's 0x00 for crtc0 0x03 crtc1 usually
15:23 < darktama> if you leave it as 0x00 or 0x03 when you VT switch, the other head doesn't update properly (ie, no cursor, scrolling acts oddly)
15:23 < marcheu> which reg ?
15:24 < darktama> crtc indexed 0x44
15:24 < marcheu> btw did you see the haiku warning about that reg and some gf2mx ?
15:24 < marcheu> it says to write it twice
15:24 < marcheu> please think about it when you write code :)
15:24 < darktama> yes, I noted that.. it's odd that the xorg driver doesn't do that
15:25 < marcheu> the xorg driver doesn't do multihead
15:25 < marcheu> so it doesn't need to work around bugs in the head selection reg
15:25 < darktama> yes, but it still uses that reg when doing display detection
15:25 < marcheu> maybe people with those cards are forced to use the first output
15:26 < darktama> well, It refuses to work on CRTC1 for me anyway.. so I suspect something's missing
16:21 -!- pmdata [i=patrice@ANantes-154-1-28-109.w81-53.abo.wanadoo.fr] has quit ["using sirc version 2.211+KSIRC/1.3.11"]
16:33 -!- EdB|w [n=EdB@212.234.68.206] has joined #nouveau
16:44 -!- EdB|w_ [n=EdB@212.234.68.206] has joined #nouveau
17:00 -!- EdB|w [n=EdB@212.234.68.206] has quit [Read error: 110 (Connection timed out)]
17:00 -!- EdB|w [n=EdB@212.234.68.206] has joined #nouveau
17:12 -!- EdB|l [n=EdB@212.234.68.206] has joined #nouveau
17:13 -!- EdB|w_ [n=EdB@212.234.68.206] has quit [Read error: 110 (Connection timed out)]
17:21 -!- EdB|w_ [n=EdB@212.234.68.206] has joined #nouveau
17:33 -!- EdB|w [n=EdB@212.234.68.206] has quit [Read error: 110 (Connection timed out)]
17:36 -!- EdB|w_ [n=EdB@212.234.68.206] has quit ["Parti"]
17:36 -!- EdB|l [n=EdB@212.234.68.206] has quit [Read error: 110 (Connection timed out)]
19:00 -!- Lumag [n=Lumag@chimpanzee.school.ioffe.ru] has left #nouveau []
19:00 -!- EdB [n=EdB@ARennes-251-1-8-250.w83-195.abo.wanadoo.fr] has joined #nouveau
20:38 -!- pmdata [n=patrice@ANantes-154-1-54-97.w81-53.abo.wanadoo.fr] has joined #nouveau
21:59 -!- Lumag [n=Lumag@chimpanzee.school.ioffe.ru] has joined #nouveau
22:17 -!- svu [n=svu@host-194-46-252-242.dsl-ie.utvinternet.net] has quit [Read error: 113 (No route to host)]
22:17 -!- svu [n=svu@194.46.163.190] has joined #nouveau
22:22 < Lumag> marcheu: today I was able to test mmtrace with valgrind 3.2.0. After applying patches, defining Iop_ReinterpF32asI32, and adapting mt_instrument to new instrumentation prototype, everything was working.
22:24 < marcheu> hmm, my valgrind still crashes
22:24 < marcheu> I think I'll install another system soon anyway, so that I can break stuff as I like
22:25 < pmdata> ah, nice progress in commands, with a simple glClear(color_buffer), 64 commands are triggered, still 21 to find what they are
22:26 < marcheu> cool, btw I've setup a page about me (actually, about what hardware I have and my todo list)
22:26 < marcheu> feel free to add stuff I should test there
22:27 -!- pedro_ [n=pedro@c906e04c.virtua.com.br] has quit [Remote closed the connection]
22:31 < pmdata> there are so much stuff I added to cmds.* I did not wrote some corresponding test functions
22:34 < pmdata> I just added the vertex commands matthieu found
22:34 < marcheu> yup, btw I don't know why he didn't commit those
22:34 < pmdata> does he have cvs write access? maybe he has not enough free time
22:35 < marcheu> yup, he's mat-c
23:03 < pmdata> marcheu> so what are you trying to achieve with valgrind?
23:04 < marcheu> pmdata: Lumag has a valgrind tool that traps all memory writes to a given adress range. we could use it to trace the full xorg and see how init is done, for example (provided that is done in user space, that is)
23:14 < pmdata> ok
--- Log closed Вск Июн 11 00:00:24 2006
