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
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
|
|
|