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.

102 lines
2.4 KiB

  1. //-----------------------------------------------------------------------------
  2. //
  3. // This file contains the general span parsing code.
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997.
  6. //
  7. //-----------------------------------------------------------------------------
  8. #include "rgb_pch.h"
  9. #pragma hdrstop
  10. #include "cbldfncs.h"
  11. #include "cbufread.h"
  12. #include "cbufwrt.h"
  13. #include "ccrbd_mh.h"
  14. #include "ccrgn_mh.h"
  15. #include "cloop.h"
  16. #include "cspnpars.h"
  17. #include "ctest_mh.h"
  18. #include "ctxa_mh.h"
  19. #include "ctxbd_mh.h"
  20. #include "ctxrd_mh.h"
  21. #include "ctstf_mh.h"
  22. #include "catest_mh.h"
  23. include(`bead.mh')
  24. //-----------------------------------------------------------------------------
  25. //
  26. // C_*Tbl
  27. //
  28. // The individual bead tables
  29. //
  30. //-----------------------------------------------------------------------------
  31. #define C_NULL NULL
  32. define(`d_MakeTable', `
  33. static d_UpCase(`$1')`'BEADS C_`'$1`'Beads =
  34. {
  35. d_Null(d_`'$1`'Beads(`` C_XX,
  36. '', `XX'))
  37. };')dnl
  38. dnl
  39. d_MakeTable(RenderSpans)
  40. d_MakeTable(Begin)
  41. d_MakeTable(Test)
  42. d_MakeTable(TestFail)
  43. d_MakeTable(Tex1Addr)
  44. d_MakeTable(Tex1AddrMip)
  45. d_MakeTable(TexRead)
  46. d_MakeTable(Tex2Addr)
  47. d_MakeTable(TexAddrWrapper)
  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 C_PixelEndAny NULL
  62. #define C_SpanEndAny NULL
  63. d_MakeTable(PixelEnd)
  64. d_MakeTable(SpanEnd)
  65. //-----------------------------------------------------------------------------
  66. //
  67. // C_BeadTbl
  68. //
  69. // The root of all the bead table pointers.
  70. //
  71. //-----------------------------------------------------------------------------
  72. BEADTABLE g_C_BeadTbl =
  73. {
  74. &C_RenderSpansBeads,
  75. &C_BeginBeads,
  76. &C_TestBeads,
  77. &C_TestFailBeads,
  78. &C_Tex1AddrBeads,
  79. &C_Tex1AddrMipBeads,
  80. &C_TexAddrWrapperBeads,
  81. &C_TexReadBeads,
  82. &C_Tex2AddrBeads,
  83. &C_TexBlendBeads,
  84. &C_TexBlendGetColorBeads,
  85. &C_TexBlendGetAlphaBeads,
  86. &C_TexBlendOpColorBeads,
  87. &C_TexBlendOpAlphaBeads,
  88. &C_ColorGenBeads,
  89. &C_AlphaTestBeads,
  90. &C_ColorBlendBeads,
  91. &C_SrcBlendBeads,
  92. &C_DestBlendBeads,
  93. &C_BufReadBeads,
  94. &C_BufWriteBeads,
  95. &C_PixelEndBeads,
  96. &C_SpanEndBeads,
  97. };