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.

122 lines
2.9 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 "BldFuncs.h"
  11. #include "BufRead.h"
  12. #include "BufWrite.h"
  13. #include "ClrBd_mh.h"
  14. #include "ClrGn_mh.h"
  15. #include "Loop.h"
  16. #include "SpanPars.h"
  17. #include "Test_mh.h"
  18. #include "Tex1A_mh.h"
  19. #include "Tex2A_mh.h"
  20. #include "TexBd_mh.h"
  21. #include "TexRD_mh.h"
  22. #include "TstF_mh.h"
  23. #include "atest_mh.h"
  24. include(`bead.mh')
  25. #ifdef _X86_
  26. //-----------------------------------------------------------------------------
  27. //
  28. // MMX_*Tbl
  29. //
  30. // The individual bead tables
  31. //
  32. //-----------------------------------------------------------------------------
  33. #define MMX_NULL NULL
  34. define(`d_MakeTable', `
  35. static d_UpCase(`$1')`'BEADS MMX_`'$1`'Beads =
  36. {
  37. d_Null(d_`'$1`'Beads(`` MMX_XX,
  38. '', `XX'))
  39. };')dnl
  40. dnl
  41. d_MakeTable(RenderSpans)
  42. d_MakeTable(Begin)
  43. d_MakeTable(Test)
  44. d_MakeTable(TestFail)
  45. d_MakeTable(Tex1Addr)
  46. d_MakeTable(Tex1AddrMip)
  47. d_MakeTable(TexRead)
  48. d_MakeTable(Tex2Addr)
  49. d_MakeTable(TexBlend)
  50. d_MakeTable(TexBlendGetColor)
  51. d_MakeTable(TexBlendGetAlpha)
  52. d_MakeTable(TexBlendOpColor)
  53. d_MakeTable(TexBlendOpAlpha)
  54. d_MakeTable(ColorGen)
  55. d_MakeTable(AlphaTest)
  56. d_MakeTable(ColorBlend)
  57. d_MakeTable(SrcBlend)
  58. d_MakeTable(DestBlend)
  59. d_MakeTable(BufRead)
  60. d_MakeTable(BufWrite)
  61. // These beads are unused.
  62. // ATTENTION - Should be used to implement call-less span and pixel loops.
  63. #define MMX_PixelEndAny NULL
  64. #define MMX_SpanEndAny NULL
  65. d_MakeTable(PixelEnd)
  66. d_MakeTable(SpanEnd)
  67. //-----------------------------------------------------------------------------
  68. //
  69. // MMX_BeadTbl
  70. //
  71. // The root of all the bead table pointers.
  72. //
  73. //-----------------------------------------------------------------------------
  74. BEADTABLE g_MMX_BeadTbl =
  75. {
  76. &MMX_RenderSpansBeads,
  77. &MMX_BeginBeads,
  78. &MMX_TestBeads,
  79. &MMX_TestFailBeads,
  80. &MMX_Tex1AddrBeads,
  81. &MMX_Tex1AddrMipBeads,
  82. &MMX_TexReadBeads,
  83. &MMX_Tex2AddrBeads,
  84. &MMX_TexBlendBeads,
  85. &MMX_TexBlendGetColorBeads,
  86. &MMX_TexBlendGetAlphaBeads,
  87. &MMX_TexBlendOpColorBeads,
  88. &MMX_TexBlendOpAlphaBeads,
  89. &MMX_ColorGenBeads,
  90. &MMX_AlphaTestBeads,
  91. &MMX_ColorBlendBeads,
  92. &MMX_SrcBlendBeads,
  93. &MMX_DestBlendBeads,
  94. &MMX_BufReadBeads,
  95. &MMX_BufWriteBeads,
  96. &MMX_PixelEndBeads,
  97. &MMX_SpanEndBeads,
  98. };
  99. #else // _X86_
  100. //-----------------------------------------------------------------------------
  101. //
  102. // MMX_BeadTbl
  103. //
  104. // The root of all the bead table pointers. All Null for non-x86 platforms
  105. //
  106. //-----------------------------------------------------------------------------
  107. BEADTABLE g_MMX_BeadTbl =
  108. {
  109. 0
  110. };
  111. #endif // _X86_