Roland Scheidegger skrev: > Tommy Schultz Lassen wrote: > >> Oliver McFadden skrev: >> >>> Hi, >>> >>> I need to understand and extend these functions because >>> r300_ioctl.c:r300EmitClearState writes hard-coded values to these >>> registers, and >>> this should be replaced with calls to (extended) t_vir0 and t_vir1. These >>> probably need to be renamed, too. >>> >>> >>> >> Hi, >> >> I have for some time been playing with the R300 driver to fix a problem >> wit Newervinter Nights. >> >> While looking at that problem i made a patch to remove "struct >> radeon_vertex_buffer". The problem with Newervinter is that it uses >> VERT_ATTRIB_WEIGHT when i enable that. Colors in the regions where >> VERT_ATTRIB_WEIGHT is used gets way of. Anyone have any insights on that? >> >> In the attached patch there is also a cleanup of t_vir0. I hop that >> helps a bit. >> > > Not sure what nwn is doing, it works fine with other chips, and chances > are it wouldn't if it would really use VERT_ATTRIB_WEIGHT. Anything > special about the areas where that's happening? There are workarounds in > mesa core (and r200 driver) to make World of Warcraft work better, which > also (errorneously) uses that, but that workaround is limited to fixing > up vertex programs (which nwn usually doesn't use, except if some nv > extensions are present IIRC), if an app tries to submit for instance a > vertex weight array, it will not work. I don't quite understand where > that attrib shows up in your case, but something seems fishy here... > > Roland > Yes something seems fishy. The "InputsRead" for the Vertex Shader is (VERT_ATTRIB_POS, VERT_ATTRIB_WEIGHT, VERT_ATTRIB_NORMAL, VERT_ATTRIB_COLOR1, VERT_RESULT_TEX0).
I have been looking at what the r200 driver dos. It uses fixed values for vp->inputs (12 for VART_ATTRIB_WEIGHT). In the r300 inputs are set dynamically. from 0 and up. I tried to set it differently. It gave me some interesting results. 0,1,2,13,14,15,26,27,28 Gives the result as i see now. 3,4 Gives some more dynamic light effects. 6,7,8,9,10,11,18,19,20,21,22,23,24 All vertex'es with WEIGHT disaperes. 16,17 I see the wrong colors and no details. I don't quiet know what that means. I have tried to disable all extensions from: const struct dri_extension card_extensions[] but that docent change anything. Tommy ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
