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

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