Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

22 lines
1.1 KiB

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