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.

101 lines
2.5 KiB

  1. //-----------------------------------------------------------------------------
  2. //
  3. // This file contains the general span parsing code.
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997.
  6. //
  7. //-----------------------------------------------------------------------------
  8. #include "pch.cpp"
  9. #pragma hdrstop
  10. #include "mbldfncs.h"
  11. #include "mbufread.h"
  12. #include "mbufwrt.h"
  13. #include "mcrbd_mh.h"
  14. #include "mcrgn_mh.h"
  15. #include "mloop.h"
  16. #include "mspnpars.h"
  17. #include "mtest_mh.h"
  18. #include "mtx1a_mh.h"
  19. #include "mtx2a_mh.h"
  20. #include "mtxbd_mh.h"
  21. #include "mtxrd_mh.h"
  22. #include "mtstf_mh.h"
  23. #include "matest_mh.h"
  24. include(`bead.mh')
  25. //-----------------------------------------------------------------------------
  26. //
  27. // CMMX_*Tbl
  28. //
  29. // The individual bead tables
  30. //
  31. //-----------------------------------------------------------------------------
  32. #define CMMX_NULL NULL
  33. define(`d_MakeTable', `
  34. static d_UpCase(`$1')`'BEADS CMMX_`'$1`'Beads =
  35. {
  36. d_Null(d_`'$1`'Beads(`` CMMX_XX,
  37. '', `XX'))
  38. };')dnl
  39. dnl
  40. d_MakeTable(RenderSpans)
  41. d_MakeTable(Begin)
  42. d_MakeTable(Test)
  43. d_MakeTable(TestFail)
  44. d_MakeTable(Tex1Addr)
  45. d_MakeTable(Tex1AddrMip)
  46. d_MakeTable(TexRead)
  47. d_MakeTable(Tex2Addr)
  48. d_MakeTable(TexBlend)
  49. d_MakeTable(TexBlendGetColor)
  50. d_MakeTable(TexBlendGetAlpha)
  51. d_MakeTable(TexBlendOpColor)
  52. d_MakeTable(TexBlendOpAlpha)
  53. d_MakeTable(ColorGen)
  54. d_MakeTable(AlphaTest)
  55. d_MakeTable(ColorBlend)
  56. d_MakeTable(SrcBlend)
  57. d_MakeTable(DestBlend)
  58. d_MakeTable(BufRead)
  59. d_MakeTable(BufWrite)
  60. // These beads are unused.
  61. #define CMMX_PixelEndAny NULL
  62. #define CMMX_SpanEndAny NULL
  63. d_MakeTable(PixelEnd)
  64. d_MakeTable(SpanEnd)
  65. //-----------------------------------------------------------------------------
  66. //
  67. // CMMX_BeadTbl
  68. //
  69. // The root of all the bead table pointers.
  70. //
  71. //-----------------------------------------------------------------------------
  72. BEADTABLE g_CMMX_BeadTbl =
  73. {
  74. &CMMX_RenderSpansBeads,
  75. &CMMX_BeginBeads,
  76. &CMMX_TestBeads,
  77. &CMMX_TestFailBeads,
  78. &CMMX_Tex1AddrBeads,
  79. &CMMX_Tex1AddrMipBeads,
  80. &CMMX_TexReadBeads,
  81. &CMMX_Tex2AddrBeads,
  82. &CMMX_TexBlendBeads,
  83. &CMMX_TexBlendGetColorBeads,
  84. &CMMX_TexBlendGetAlphaBeads,
  85. &CMMX_TexBlendOpColorBeads,
  86. &CMMX_TexBlendOpAlphaBeads,
  87. &CMMX_ColorGenBeads,
  88. &CMMX_AlphaTestBeads,
  89. &CMMX_ColorBlendBeads,
  90. &CMMX_SrcBlendBeads,
  91. &CMMX_DestBlendBeads,
  92. &CMMX_BufReadBeads,
  93. &CMMX_BufWriteBeads,
  94. &CMMX_PixelEndBeads,
  95. &CMMX_SpanEndBeads,
  96. };