Ok I went back blew away my git tree and got the latest one out there... I then did one patch apply using one of my patches... and started rethinking the way I was doing? drawStridedSlow. Looking further into the code I found there was another function further down that did the switch but it was for another shader type not the one I am working on... it uses glVertexAttrib4svARB instead of glMultiTexCoord4NsvARB. So I created a new inline function like the other (dont think it should be a inline but following the other convention).
Now here is the question...
In looking in drawprim in the function drawStridedSlow I came across this :
??????????????? int??? coordIdx = This->stateBlock->textureState[textureNo][WINED3DTSS_TEXCOORDINDEX]; ??????????????? int texture_idx = This->texUnitMap[textureNo]; ??????????????? float *ptrToCoords = NULL; ??????????????? float? s = 0.0, t = 0.0, r = 0.0, q = 0.0;
??????????????? if (coordIdx > 7) { ??????????????????? VTRACE(("tex: %d - Skip tex coords, as being system generated\n", textureNo)); ??????????????????? continue; ??????????????? } else if (coordIdx < 0) { ??????????????????? FIXME("tex: %d - Coord index %d is less than zero, expect a crash.\n", textureNo, coordIdx); ??????????????????? continue; ??????????????? }
And as far as I can tell from that code it limits the total number texture coordinates to 8 max. I cant find anywhere in the dx9 docs where it says that it is a hard limit. I do see that it is based more on the video card limit than anything else...
So the question is do we need this? If so why? so I understand...if not should I remove as part off this patch or submit it as another?
Next Question :
Once I finish the texture patch I am working on do I do a git commit of the patch then a git refresh of the tree before I do the patch export to send in? or whats the process so I dont get the messed up tree like I had before...
Thanks Guys
Chris