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