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.

123 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 "rgb_pch.h"
  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 "TexA_mh.h"
  19. #include "TexBd_mh.h"
  20. #include "TexRD_mh.h"
  21. #include "TstF_mh.h"
  22. #include "atest_mh.h"
  23. include(`bead.mh')
  24. #ifdef _X86_
  25. //-----------------------------------------------------------------------------
  26. //
  27. // MMX_*Tbl
  28. //
  29. // The individual bead tables
  30. //
  31. //-----------------------------------------------------------------------------
  32. #define MMX_NULL NULL
  33. define(`d_MakeTable', `
  34. static d_UpCase(`$1')`'BEADS MMX_`'$1`'Beads =
  35. {
  36. d_Null(d_`'$1`'Beads(`` MMX_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(TexAddrWrapper)
  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_TexAddrWrapperBeads,
  83. &MMX_TexReadBeads,
  84. &MMX_Tex2AddrBeads,
  85. &MMX_TexBlendBeads,
  86. &MMX_TexBlendGetColorBeads,
  87. &MMX_TexBlendGetAlphaBeads,
  88. &MMX_TexBlendOpColorBeads,
  89. &MMX_TexBlendOpAlphaBeads,
  90. &MMX_ColorGenBeads,
  91. &MMX_AlphaTestBeads,
  92. &MMX_ColorBlendBeads,
  93. &MMX_SrcBlendBeads,
  94. &MMX_DestBlendBeads,
  95. &MMX_BufReadBeads,
  96. &MMX_BufWriteBeads,
  97. &MMX_PixelEndBeads,
  98. &MMX_SpanEndBeads,
  99. };
  100. #else // _X86_
  101. //-----------------------------------------------------------------------------
  102. //
  103. // MMX_BeadTbl
  104. //
  105. // The root of all the bead table pointers. All Null for non-x86 platforms
  106. //
  107. //-----------------------------------------------------------------------------
  108. BEADTABLE g_MMX_BeadTbl =
  109. {
  110. 0
  111. };
  112. #endif // _X86_