--- Log opened Чтв Июл 27 00:00:59 2006
00:10 < pmdata> any progress with your tnt cards?
00:16  * pmdata reading nv28 dump for vtxprog
00:17 < pmdata> b00-b0c for some init
00:17 < pmdata> 1ea4 to select something (a register?)
00:17 < pmdata> b80-b8c to set the 1ea4 selected value
00:19 < pmdata> 1e9c: begin vertex program? 1ea0: end vertex program?
00:20 < pmdata> seems to be the same as nv30
00:31 < Lumag> no :( nearly had no time un a past couple of days
00:52 < marcheu> pmdata: ok, I'll plug the nv15 & see. I'm not even sure softquadro made any changes in the dump, I only saw that it was possible to enable UBB with it
00:52 < marcheu> I guess it's the occasion to know
00:55 < pmdata> maybe you could also try to create a stereo opengl context
00:58 < pmdata> http://www.nvidia.com/object/LO_20010612_4394.html quadro2 product overview
01:00 < pmdata> it says "8 clip regions" :)
01:01 < pmdata> video related, besides some yuv conversion, motion compensation is listed, but it may be done in software
01:04 < pmdata> what interests me currently is "hardware accelerated 2sided lighting" :)
01:05 < pmdata> I'll see later for "hardware accelerated antialiased point and lines"
01:08 < marcheu> let's see
01:11 < pmdata> you can try test_clip_plane to see if you have 6 or 8 available
01:20 < marcheu> from glxinfo -l : GL_MAX_CLIP_PLANES = 6
01:21 < marcheu> otherwise
01:21 < marcheu> there seems to be no fifo mapping when in quadro mode
01:22 < marcheu> let me try in non quadro mode
01:24 -!- taavi_r [n=k0htlane@84-50-161-35-dsl.rgu.estpak.ee] has joined #nouveau
01:24 < marcheu> weird
01:25 < marcheu> but at least I know softquadro has some effect on the GL driver
01:26 < pmdata> could you try the lighting stuff?
01:26 < marcheu> as I said, there's no obvious fifo mapping
01:26 < marcheu> so renouveau doesn't work when in quadro mode
01:26 < marcheu> I have to fix that first
01:26 < pmdata> ah
01:26 < taavi_r> 1 stupid question... when will this driver be usable for end users?
01:27 < marcheu> yeah, that's very very interesting
01:27 < marcheu> taavi_r: depends how much help we get :)
01:27 < marcheu> taavi_r: don't expect anything before 1 year
01:27 < taavi_r> ok
01:28 < taavi_r> btw, i have 7300gt... can i help? :)
01:28 < marcheu> well, if you have some development skills, yes
01:28 < taavi_r> yes
01:29 < taavi_r> but none with drivers
01:29 < marcheu> experience with drivers doesn't matter much. for example we're working on user space code right now
01:30 < marcheu> I think you'll find some documentation on our website & in CVS
01:30 < marcheu> the easiest way to begin with that is to use our reverse engineering tools and try to figure out some basic functionality
01:31 -!- `Duke` [n=gnu@ANantes-251-1-154-62.w86-203.abo.wanadoo.fr] has quit [Remote closed the connection]
01:31 < taavi_r> renouveau, right?
01:32 < marcheu> yes, renouveau is a tool that dumps the fifo, so it's mostly useful for figuring 3D stuff
01:32 < marcheu> but we also have Lumag's mmtrace, which can trap writes to register, which is more useful for things like card setup
01:32 < taavi_r> ok
01:33 < taavi_r> how much data you hace for G7x atm?
01:33 < marcheu> G70 is really a NV40
01:33 < marcheu> if you get renouveau
01:33 < marcheu> look at nv_objects.h and objects.c
01:34 < marcheu> these 2 files describe the objects through which commands are sent. objects.c has information on what object applies to what card
01:34 < marcheu> {__(NV30_TCL_PRIMITIVE_3D), NV30|NV40|G70,
01:34 < marcheu> means that NV30_TCL_PRIMITIVE_3D is used on NV30, NV40 & G70
01:36 < taavi_r> ok
01:39 < marcheu> so, back to that softquadro stuff...
01:40 < pmdata> marcheu> we should make some request for quadro hw, or people having it that could test renouveau
01:41 < marcheu> yeah
01:41 < marcheu> I think I might be able to access a quadro FX at the university
01:42 < taavi_r> renouveau works only on linux?
01:42 < marcheu> taavi_r: yes
01:43 < marcheu> so when in quadro mode, it looks like it maps more than just 1 fifo
01:43 < pmdata> for which usage?
01:44 < marcheu> no idea
01:44 < marcheu> looks like it merges 2 mappings into 1
01:44 < marcheu> geforce mode : 
01:44 < marcheu> map 6   from 0xa683b000 to 0xa693e000 size 0x103000 (physical 0xe0210000)       => fifo
01:44 < marcheu> map 7   from 0xa693e000 to 0xa6b3e000 size 0x200000 (physical 0xe0010000)       => no dump
01:44 < marcheu> quadro mode : 
01:44 < marcheu> map 3   from 0xa5824000 to 0xa5c24000 size 0x400000 (physical 0xe0010000)       => no dump
01:45 < johill> taavi_r: I want to make renouveau work on osx too since I don't have a driver for ppc, want to help? :)
01:46 < johill> I haven't got a clue yet at all ;)
01:46 < pmdata> a win32 version for renouveau would also be useful
01:46 < taavi_r> johill;no experience with osx
01:46 < johill> ok
01:46 < taavi_r> im thinking of freebsd port
01:46 < johill> ah ok :)
01:47 < johill> oh hm, I just realised that I won't be doing it this year
01:47 < johill> I'm moving for 4 months and probably not taking the relevant machine with me
01:50 < marcheu> taavi_r: freebsd is probably very easy to target. you just need to be able to list the mappings
01:51 < taavi_r> marcheu: i'll check that when i'm back (i'm afk for a week startubg tomorrow)
01:52 < marcheu> pmdata: okay, I made something a little hacky right now
01:53 < marcheu> http://icps.u-strasbg.fr/~marchesin/nvdri/nv15_color_material.txt
01:53 < marcheu> http://icps.u-strasbg.fr/~marchesin/nvdri/nv15gl_color_material.txt
01:55 < marcheu> pmdata: do you have more tests you suspect could benefit from a "quadro" ?
01:56 < pmdata> maybe line_smooth stuff and point_smooth
01:56 -!- taavi_r [n=k0htlane@84-50-161-35-dsl.rgu.estpak.ee] has quit ["Leaving"]
01:57 < marcheu> all that is really interesting
01:59 < marcheu> the quadro path uses a different vertex submission path
02:02 < pmdata> another thing: did you setup a stereo buffer? pitch seems to be twice
02:02 < marcheu> nope
02:02 < marcheu> but it's probably using UBB, maybe that matters
02:03 < pmdata> aaahh, unknown d40,d44 coordinate for a vertex!
02:04 < pmdata> hum, d44/4 = 0x1503, and it is GL_COPY
02:04 < marcheu> yeah, I'm not sure about that either
02:04 < pmdata> d40 is zero 
02:05 < marcheu> what GL_COPY would mean here
02:05 < pmdata> maybe copying left to right buffer in a non stereo context?
02:05 < marcheu> I'm not using stereo
02:05 < marcheu> ah
02:06 < marcheu> why would you use 2 buffers if you don't need it ? that'd probablu slow things down
02:08 < pmdata> I don't know, and this is done only once when setting up the context
02:08 < marcheu> I really think that's something that has to do with UBB
02:08 < pmdata> what is ubb?
02:08 < marcheu> Unified Back Buffer
02:09 < marcheu> when in geforce mode, each window has its own back buffer, and swapbuffers is done using a back -> front copy
02:09 < marcheu> when in quadro mode, all the windows share a screen-sized back buffer, and swapbuffers is done using a flip
02:10 < marcheu> the first one spares a little video memory when you don't have too many windows
02:10 < marcheu> the second one uses up more memory but has a faster swapbuffers
02:14 < pmdata> GL_COPY is default value for glLogicOp()
02:15 < pmdata> I remember when trying it, a different object was used to (maybe some nv03,nv04 object)
02:15 < pmdata> yep, the raster_op one
02:15 -!- Duke` [n=gnu@ANantes-251-1-154-62.w86-203.abo.wanadoo.fr] has joined #nouveau
02:15 < pmdata> then maybe quadro can directly do logicop
02:16 < pmdata> inside tcl
02:16 < Duke`> Fatal server error: Caught signal 11.  Server aborting
02:16 < Duke`> 2: /usr/lib/xorg/modules/drivers/nvidia_drv.so(_nv000395X+0x10b) [0xb738e61b]
02:16 < Duke`> bored...
02:16 < marcheu> pmdata: what do you mean ?
02:16 < pmdata> #define NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE			0x000017bc
02:16 < pmdata> #define NV20_TCL_PRIMITIVE_3D_LOGIC_OP					0x000017c0
02:16 < pmdata> same for nv10!
02:18 < pmdata> there is not logic_op stuff listed in the nv10 tcl
02:18  * pmdata will add them now
02:21 < marcheu> pmdata: but what do you mean with logic op inside tcl ?
02:21 -!- tibbs|h is now known as tibbs
02:22 < pmdata> commited
02:22 < pmdata> I just mean it is inside the tcl object, like for nv20
02:22 < marcheu> ah ok
02:23 < pmdata> on non-quadro hw, it was using NV03_PRIMITIVE_RASTER_OP
02:24 < pmdata> can you make a dump for the 2sided light?
02:24 < marcheu> yeah, sure
02:25 < marcheu> also http://icps.u-strasbg.fr/~marchesin/nvdri/nv15gl_enables.txt
02:27 < marcheu> http://icps.u-strasbg.fr/~marchesin/nvdri/nv15gl_2sidedlight.txt
02:30 -!- Duke` [n=gnu@ANantes-251-1-154-62.w86-203.abo.wanadoo.fr] has quit ["Fatal signal: Segmentation Fault"]
02:31 < pmdata> hm, I see nothing, besides [0x328/4] called a second time
02:31 < pmdata> and I must go to sleep
02:31 < marcheu> ok, I'll make more dumpes
02:31 < marcheu> dumps
02:32 < marcheu> so that I can remove that card (I really need a better card to do some work)
02:32 -!- pmdata [i=patrice@ANantes-154-1-27-43.w81-53.abo.wanadoo.fr] has quit ["using sirc version 2.211+KSIRC/1.3.11"]
02:42 -!- stringfellow [n=stringfe@ip56503c9f.direct-adsl.nl] has quit [Remote closed the connection]
03:34 -!- cevi [n=ml@85-124-19-200.dynamic.xdsl-line.inode.at] has joined #nouveau
03:45 -!- johill_ [n=johannes@p5487F308.dip.t-dialin.net] has joined #nouveau
03:56 -!- johill [n=johannes@p5487DE20.dip.t-dialin.net] has quit [Nick collision from services.]
03:56 -!- johill_ is now known as johill
04:05 -!- cevi [n=ml@85-124-19-200.dynamic.xdsl-line.inode.at] has quit [Client Quit]
04:14 -!- hiyuh [n=hiyuh@ZL050248.ppp.dion.ne.jp] has joined #nouveau
04:39 -!- Lumag [n=Lumag@chimpanzee.school.ioffe.ru] has quit [Read error: 131 (Connection reset by peer)]
04:40 -!- johill [n=johannes@p5487F308.dip.t-dialin.net] has quit [Read error: 113 (No route to host)]
05:50 -!- arachnist [i=arachnis@hive.bsic.pl] has joined #nouveau
06:28 -!- philv is now known as ra1f
06:28 -!- ra1f is now known as philv
08:39 -!- shenki [n=Joel@pulteney-pix.border.net.adelaide.edu.au] has joined #nouveau
09:51 -!- lumag_offline [n=mitya@chimpanzee.school.ioffe.ru] has joined #nouveau
09:51 -!- Topic for #nouveau: http://nouveau.freedesktop.org | open source 3D acceleration for nvidia cards | http://perso.orange.fr/patrice.mandin/images/nv-kitten.jpg
09:51 -!- Topic set by marcheu [] [Fri Jul 14 19:33:43 2006]
09:51 [Users #nouveau]
09:51 [@ChanServ] [ airlied  ] [ ddl          ] [ marcheu] [ tibbs   ] 
09:51 [ Aexoden ] [ arachnist] [ hiyuh        ] [ philv  ] [ Unavowed] 
09:51 [ ag      ] [ darktama ] [ lumag_offline] [ shenki ] [ xover   ] 
09:51 -!- Irssi: #nouveau: Total of 15 nicks [1 ops, 0 halfops, 0 voices, 14 normal]
09:51 -!- Channel #nouveau created Sun Jun 25 07:52:56 2006
09:51 -!- Irssi: Join to #nouveau was synced in 1 secs
09:51 -!- [freenode-info] if you need to send private messages, please register: http://freenode.net/faq.shtml#privmsg
09:52 -!- shenki [n=Joel@pulteney-pix.border.net.adelaide.edu.au] has quit ["Leaving"]
09:59 -!- ddl [i=erikw@montezuma.acc.umu.se] has quit [Read error: 104 (Connection reset by peer)]
11:28 -!- EdB [n=EdB@ARennes-251-1-41-219.w81-250.abo.wanadoo.fr] has joined #nouveau
11:56 -!- johill [n=johannes@p5487F308.dip.t-dialin.net] has joined #nouveau
12:49 -!- Duke` [n=gnu@ANantes-251-1-154-62.w86-203.abo.wanadoo.fr] has joined #nouveau
13:58 -!- shenki [n=shenki@ppp153-94.lns3.adl2.internode.on.net] has joined #nouveau
15:06 -!- johill [n=johannes@p5487F308.dip.t-dialin.net] has quit [Remote closed the connection]
15:06 -!- johill [n=johannes@p5487F308.dip.t-dialin.net] has joined #nouveau
15:17 -!- johill [n=johannes@p5487F308.dip.t-dialin.net] has quit [Remote closed the connection]
15:18 -!- johill [n=johannes@p5487F308.dip.t-dialin.net] has joined #nouveau
16:29 -!- shenki [n=shenki@ppp153-94.lns3.adl2.internode.on.net] has quit ["Leaving"]
18:04 -!- hiyuh [n=hiyuh@ZL050248.ppp.dion.ne.jp] has quit ["Leaving"]
19:15 -!- `Duke` [n=gnu@ANantes-251-1-134-147.w86-210.abo.wanadoo.fr] has joined #nouveau
19:27 -!- Duke` [n=gnu@ANantes-251-1-154-62.w86-203.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)]
19:44 -!- stringfellow [n=stringfe@ip56503c9f.direct-adsl.nl] has joined #nouveau
19:45 -!- shad0w [n=john@83.212.66.69] has joined #nouveau
20:14 -!- svu [n=svu@host-194-46-251-124.dsl-ie.utvinternet.net] has joined #nouveau
20:26 -!- shad0w [n=john@83.212.66.69] has quit [Remote closed the connection]
20:58 -!- pmdata [i=patrice@ANantes-154-1-71-242.w86-195.abo.wanadoo.fr] has joined #nouveau
20:58 < pmdata> hello
20:59 < marcheu> hey pmdata 
21:02 < pmdata> I saw you made a big nv15gl dump
21:02 < marcheu> yeah
21:02 < marcheu> I didn't look at it though
21:02 < marcheu> well, a little, but it was late. just enough to see some differences but not that many
21:03 < pmdata> I saw some objects used for nv04,05 not marked as nv10
21:06  * pmdata prepare for some commits
21:40 < pmdata> marcheu> when reading doc about various extensions
21:40 < pmdata> I read the one about EXT_vertex_weighting
21:40 < pmdata> it uses 2 modelview matrix
21:40 < pmdata> the extension has been deprecated by nvidia in favor of vertex programs
21:40 < marcheu> yeah, I don't know of any application that uses it
21:41 < pmdata> it was present till 1.0-3xxx driver, removed in 1.0-4xxx drivers, I will have to check that (finding a 2.4 kernel to compile old driver also)
21:41 < marcheu> I wonder if it could be used as part of the vertex program stuff
21:41 < marcheu> using some clever trick or the like
21:42 < pmdata> I think the second one is some unknown matrix
21:42 < pmdata> I have 2 in tcl, one is used for lighting, the other I don't know
21:42 < pmdata> and one is always set to identity, never changed
21:43 < marcheu> is it used in the quadro dumps ?
21:46 < pmdata> I don't think, as I said, it has been removed since 1.0-4xxx drivers
21:46 < marcheu> wait
21:47 < marcheu> those 2 matrices are for vertex weighting ?
21:47 < pmdata> but there are many unknown stuff listed in nv10_tcl_engine
21:47 < pmdata> 400 and 440 are 2 unknown matrix
21:48 < pmdata> 400 is always used when lighting is enabled, init to identity
21:48 < pmdata> I saw some dumps where 440 is used, I don't remember
21:48 < marcheu> could it be the color matrix ?
21:50 < pmdata> I tried making a prog that use it, and never saw a change, so maybe I did not code it the right way
21:58 < marcheu> hmm
21:59 < marcheu> I was wondering if we should mark the quadro stuff as such
21:59 < marcheu> but OTOH, it works fine on my geforce 2 so...
21:59 < marcheu> pmdata: so it seems you found the hw clipping planes
21:59 < marcheu> 0x000002c4 -> 0x000002dc
22:01 < marcheu> btw there is only 4 opengl clipping planes on the nv15gl
22:02 < marcheu> just like with other nv10
22:02 < pmdata> what about the 8 I found weeks earlier?
22:02 < pmdata> or you mean 2D clipping?
22:02 < marcheu> they seem unused. only 0,1,4,5
22:02 < marcheu> yeah, I think these are 2D clipping planes
22:03 < marcheu> 2D clipping planes are commonly used is CAD applications, which is why it's a quadro feature
22:03 < marcheu> to create 4 views from a single object & stuff like that
22:03 < pmdata> isn't viewport or scissor sufficient for that?
22:03 < marcheu> yeah, but I think geforces emulate it
22:04 < marcheu> while quadros use the hw
22:04 < pmdata> anyway, all this stuff was found with the display list test function
22:04 < pmdata> yep, gf only change the viewport
22:04 < marcheu> I'll try to trigger AA lines now
22:05 < marcheu> that might be interesting
22:05 < pmdata> in the middle of your big dump, there are many nvtypefff unknown stuff, maybe the display list sent to the gpu
22:06 < marcheu> nope
22:06 < marcheu> be aware that I use a hack to get renouveau to work on the quadro
22:06 < pmdata> hmm, yes your display list is totally random
22:07 < marcheu> the fifo buffer is around bfxxx
22:07 < marcheu> the rest is the memory mapped in the same area which is not used for the fifo (but interpreted as such)
22:07 < marcheu> so if the adress is not bfxxx or some neighbourhood of it, it's probably garbage
22:07 < marcheu> here it's 7exxx
22:08 < pmdata> ok
22:08 < marcheu> yeah, I really should simply map the quadro fifo properly
22:19  * pmdata installing kernel 2.4
22:19 < marcheu> can't you simply patch the driver layer ?
22:19 < marcheu> what are the mismatches when compiling it ?
22:24 -!- Duke` [n=gnu@ANantes-251-1-90-151.w86-203.abo.wanadoo.fr] has joined #nouveau
22:24 < pmdata> I just want to try an older driver where ext_vertex_weighting is still present
22:24 < pmdata> 2.6 kernel was not existing at this point
22:25 < marcheu> yeah, but some patches used to be distributed (at minion.de)
22:25 < pmdata> yep, but it has been a while since I used 2.4 kernel
22:26 < marcheu> maybe you can still find those on archive.org, some of those could make the kernel driver compile on 2.6
22:26 < pmdata> ah, display list is sent through an object
22:32 -!- `Duke` [n=gnu@ANantes-251-1-134-147.w86-210.abo.wanadoo.fr] has quit [Connection timed out]
22:34 < marcheu> hehe
22:34 < marcheu> glEnable(GL_LINE_SMOOTH);
22:34 < marcheu> tri();
22:34 < marcheu> but tri() draws filled triangles :)
22:34 < marcheu> (from tests.c)
22:35 < marcheu> (I'm not blaming it on anyone btw, I wrote it :)
22:36 -!- `Duke` [n=gnu@ANantes-251-1-132-51.w86-210.abo.wanadoo.fr] has joined #nouveau
22:38 < EdB> :o)
22:39 < pmdata> you should also change tri to have different coordinates for the vertices
22:39 < marcheu> do you think the driver might be optimizing that ?
22:42 -!- EdB_ [n=EdB@ARennes-251-1-23-117.w81-250.abo.wanadoo.fr] has joined #nouveau
22:47 -!- Duke` [n=gnu@ANantes-251-1-90-151.w86-203.abo.wanadoo.fr] has quit [Connection timed out]
22:56 -!- EdB [n=EdB@ARennes-251-1-41-219.w81-250.abo.wanadoo.fr] has quit [Read error: 110 (Connection timed out)]
22:58 < pmdata> I don't know, but it is easier to see where vertices coordinate goes
22:58 < pmdata> if you set anything to 1 or 0, you don't see much change :)
23:10 < marcheu> right
23:10 < pmdata> that's why I always use different values
23:11 < marcheu> well, you can change tri() if you like
23:11 < marcheu> we really need to get renouveau to display fp values for vertex data
23:12 < pmdata> it should
23:13 < pmdata> at least for nv10
23:13 < marcheu> hmm, geforce 2 already does line smooth in hw
23:13 < pmdata> is there a function/macro to display the vertex_array stride values?
23:13 < marcheu> I don't think so
23:14 < pmdata> yep, but I remember gllinestipple it not
23:14 < pmdata> maybe on quadro
23:14 < marcheu> yeah, I read that
23:16  * pmdata wonder what [0x290/4] = 0x00100001 on quadro could be, (16 | 1) that is
23:16 < marcheu> where did you see that ?
23:28 < pmdata> in the big dump you made
23:28 < marcheu> yeah
23:29 < marcheu> it's in the middle of a lot of unknown stuff
23:29 < pmdata> you understand why I prefer smaller dumps
23:31 < marcheu> hey, I was writing that test :)
23:31 < pmdata> :)
23:32 < pmdata> something strange, when I enable line smooth, no drawing command is done?!?! wtf?
23:32 < pmdata> what is your current hw?
23:32 < marcheu> software rendering
23:32 < marcheu> nv15
23:32 < pmdata> ah
23:32 < pmdata> so line smooth + line stipple is software, baaaaaad....
23:33 < marcheu> software ? we'll see in a second :)
23:36 < pmdata> line smooth only = render line using a textured quad 
23:40 < marcheu> the default line stipple test uses LINE here
23:40 < pmdata> yep me too
23:41 < marcheu> ok, so it's only for SMOOTH & STIPPLE lines...
23:41 < marcheu> let's try that
23:42 < marcheu> uses LINES as well
23:42 < marcheu> http://icps.u-strasbg.fr/~marchesin/nvdri/nv15gl_linestipplesmooth.txt
23:43 < pmdata> notice usage of matrix at 0x440 (also for me)
23:43 < marcheu> hmm it's not identity
23:45 -!- Lumag [n=Lumag@chimpanzee.school.ioffe.ru] has joined #nouveau
23:45 < pmdata> maybe for 2d rendering?
23:45 < pmdata> no
23:45 < marcheu> let me convert thos into fp32
23:45 < pmdata> there should be a flag to tell which matrix to use (this one or modelview)
23:46 < marcheu> it's not a modelview matrix, too many zeroes
23:49 < marcheu> looks liek a projection matrix
23:49 -!- swany [n=swany@81-234-181-143-o1108.tbon.telia.com] has joined #nouveau
23:50 < marcheu> it can't be a color matrix anyway
23:51 < pmdata> yep, only 2 first columns non zero
23:52 < pmdata> map (x,y) to (x,y,z,w) ?
23:52 < pmdata> map (x,y,0,0) to (x,y,z,w) ?
23:53 < marcheu> what is -2046, -1543
23:53 < marcheu> 2047
23:54 < pmdata> it seems the viewport inside gpu is limited to 2048x2048 (guard band clipping)
23:55 < pmdata> at least, nv say in their various docs that 2048x2048 is the maximum rendering size
23:56 < marcheu> guardband clipping on a TCL card ?
23:58 < pmdata> yep
23:58 < marcheu> what is it useful for ?
23:58 < pmdata> clipping the rendering output to the 2d viewport
23:58 < marcheu> in my mind guardband is an optimization for CPU-based TCL
--- Log closed Птн Июл 28 00:00:00 2006
