--- 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