JSoftware i am using special sse_getmem,sse_freemem procedures which align pointer to the 16-byte boundary.Originally Posted by JSoftware
The texture header consists of "clampmin,clampmax,size:fvec4;wrapmask,addrcalc:iv ec4;". All this variables are 16-byte wide and the compiler is compiling all global variables in to 16-byte boundary's. See file "compilecfg.inc", there is compiler directive "{$CODEALIGN varmin=16}", which says to the compiler, that all global variables must be aligned to the 16-byte boundary. So qword, dword or byte variable is 16-byte wide too. So all variables can be easyly loaded with movaps and movdqa without an error or without to be mixed with other small (8,4,2,1 byte-wide) variables
.... aaand are sure, that your cpu support sse4? Because some intel-duo core doesn't support it.
Bookmarks