dnl --------------------------------------------------------------------------- dnl dnl This file contains m4 defines access to C variables more easily. dnl dnl --------------------------------------------------------------------------- dnl The following macros try to make m4 look more like C variable names dnl It only works for the members of pCtx, pP and pS (and pTex if esi is set) dnl which are assumed to be pointers in ebx, ecx and edx respectively. dnl to use a C variable, dnl just add a X, remove the first -> and first . (if necessary) dnl (note: X was added so that commented equivalent C code would not change dnl Where C would use A = pCtx->iZXorMask; dnl I can now do mov eax, XpCtx(iZXorMask) dnl one odd thing is that for B = pCtx->SI.uZDeferred dnl the macro would use mov ebx, XpCtxSI(uZDeffered) define(`XpCtxSI',`[ebx+RASTCTX_SI+SPANITER_$1]')dnl define(`XpCtx',`[ebx+RASTCTX_$1]')dnl define(`XpP', `[ecx+RASTPRIM_$1]')dnl define(`XpS', `[ebp+RASTSPAN_$1]')dnl define(`XpTex', `[esi+SPANTEX_$1]')dnl