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.

179 lines
7.4 KiB

  1. /******************************Module*Header*******************************\
  2. *
  3. * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  4. * !! !!
  5. * !! WARNING: NOT DDK SAMPLE CODE !!
  6. * !! !!
  7. * !! This source code is provided for completeness only and should not be !!
  8. * !! used as sample code for display driver development. Only those sources !!
  9. * !! marked as sample code for a given driver component should be used for !!
  10. * !! development purposes. !!
  11. * !! !!
  12. * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  13. *
  14. * Module Name: softcopy.h
  15. *
  16. * Content:
  17. *
  18. * Copyright (c) 1994-1999 3Dlabs Inc. Ltd. All rights reserved.
  19. * Copyright (c) 1995-2003 Microsoft Corporation. All rights reserved.
  20. \*****************************************************************************/
  21. #ifdef __SOFTCOPY
  22. #pragma message ("FILE : "__FILE__" : Multiple Inclusion");
  23. #endif
  24. #define __SOFTCOPY
  25. #ifndef __EREG
  26. #include "ereg.h"
  27. #endif
  28. // For the gigi specific registers.
  29. #ifndef __GIGIREGL
  30. #include "gigiregl.h"
  31. #endif
  32. #ifndef _REG_H_
  33. #include "reg.h"
  34. #endif
  35. #define P3_LOD_LEVELS 16
  36. #define G3_TEXTURE_STAGES 8
  37. typedef struct {
  38. // Common Local Buffer Registers
  39. __GlintLBReadModeFmat LBReadMode;
  40. __GlintLBReadFormatFmat LBReadFormat;
  41. __GlintLBWriteModeFmat LBWriteMode;
  42. // Common Frame Buffer Registers
  43. __GlintFBReadModeFmat FBReadMode;
  44. __GlintFBWriteModeFmat FBWriteMode;
  45. __GlintLogicalOpModeFmat LogicalOpMode;
  46. __GlintDitherModeFmat DitherMode;
  47. __GlintColorDDAModeFmat ColorDDAMode;
  48. // Common Depth/Stencil/Window Registers
  49. __GlintDepthModeFmat DepthMode;
  50. __GlintStencilModeFmat StencilMode;
  51. __GlintStencilDataFmat StencilData;
  52. __GigiWindowFmat PermediaWindow;
  53. // Alpha/Fog registers
  54. __GigiAlphaBlendModeFmat PermediaAlphaBlendMode;
  55. // Fog unit
  56. __GlintFogModeFmat FogMode;
  57. // YUV Unit
  58. __GigiYUVModeFmat PermediaYUVMode;
  59. // Permedia Texture Registers
  60. __GigiTextureColorModeFmat PermediaTextureColorMode;
  61. __GigiTextureAddrModeFmat PermediaTextureAddressMode;
  62. __GigiTextureReadModeFmat PermediaTextureReadMode;
  63. __GigiTextureDataFormatFmat PermediaTextureDataFormat;
  64. __GigiTextureMapFormatFmat PermediaTextureMapFormat;
  65. // Scissor/Stipple unit
  66. __GigiScissorMinXYFmat ScissorMinXY;
  67. __GigiScissorMaxXYFmat ScissorMaxXY;
  68. __GigiScreenSizeFmat ScreenSize;
  69. // ****************
  70. // P3 Registers
  71. // Frame buffer
  72. struct FBWriteBufferWidth P3RXFBWriteBufferWidth0;
  73. struct FBDestReadBufferWidth P3RXFBDestReadBufferWidth0;
  74. struct FBSourceReadBufferWidth P3RXFBSourceReadBufferWidth;
  75. struct FBDestReadEnables P3RXFBDestReadEnables;
  76. struct FBWriteMode P3RXFBWriteMode;
  77. struct ChromaTestMode P3RXChromaTestMode;
  78. // Local buffer
  79. struct LBSourceReadMode P3RXLBSourceReadMode;
  80. struct LBDestReadMode P3RXLBDestReadMode;
  81. struct LBWriteMode P3RXLBWriteMode;
  82. struct DepthMode P3RXDepthMode;
  83. struct LBReadFormat P3RXLBReadFormat;
  84. struct LBWriteFormat P3RXLBWriteFormat;
  85. // Textures
  86. struct TextureReadMode P3RXTextureReadMode0;
  87. struct TextureReadMode P3RXTextureReadMode1;
  88. struct TextureIndexMode P3RXTextureIndexMode0;
  89. struct TextureIndexMode P3RXTextureIndexMode1;
  90. struct TextureMapWidth P3RXTextureMapWidth[P3_LOD_LEVELS];
  91. struct TextureCoordMode P3RXTextureCoordMode;
  92. struct TextureApplicationMode P3RXTextureApplicationMode;
  93. struct TextureFilterMode P3RXTextureFilterMode;
  94. struct TextureCompositeRGBAMode P3RXTextureCompositeColorMode0;
  95. struct TextureCompositeRGBAMode P3RXTextureCompositeColorMode1;
  96. struct TextureCompositeRGBAMode P3RXTextureCompositeAlphaMode0;
  97. struct TextureCompositeRGBAMode P3RXTextureCompositeAlphaMode1;
  98. struct LUTMode P3RXLUTMode;
  99. struct TextureCacheReplacementMode P3RXTextureCacheReplacementMode;
  100. // Stencil
  101. struct StencilMode P3RXStencilMode;
  102. struct StencilData P3RXStencilData;
  103. struct Window P3RXWindow;
  104. // Fog
  105. struct FogMode P3RXFogMode;
  106. // Alpha
  107. struct AlphaTestMode P3RXAlphaTestMode;
  108. struct AlphaBlendAlphaMode P3RXAlphaBlendAlphaMode;
  109. struct AlphaBlendColorMode P3RXAlphaBlendColorMode;
  110. // Framebuffer
  111. struct FBDestReadMode P3RXFBDestReadMode;
  112. struct FBSourceReadMode P3RXFBSourceReadMode;
  113. // Rasterizer
  114. struct RasterizerMode P3RXRasterizerMode;
  115. struct ScanlineOwnership P3RXScanlineOwnership;
  116. // Scissor
  117. __GlintXYFmat P3RXScissorMinXY;
  118. __GlintXYFmat P3RXScissorMaxXY;
  119. // P3 Specific registers
  120. // Delta
  121. union
  122. {
  123. struct GMDeltaMode GammaDeltaMode;
  124. struct P3DeltaMode P3RX_P3DeltaMode;
  125. __GigiDeltaModeFmat DeltaMode;
  126. };
  127. struct DeltaControl P3RX_P3DeltaControl;
  128. struct VertexControl P3RX_P3VertexControl;
  129. // P4 Specific registers
  130. struct DeltaFormatControl P4DeltaFormatControl;
  131. // GAMMA Registers
  132. struct Gamma3GeometryMode G3GeometryMode;
  133. struct GeometryMode G1GeometryMode;
  134. struct TransformMode GammaTransformMode;
  135. struct NormaliseMode GammaNormaliseMode;
  136. struct LightingMode GammaLightingMode;
  137. struct MaterialMode GammaMaterialMode;
  138. struct ColorMaterialMode GammaColorMaterialMode;
  139. struct StripeFilterMode GammaStripeFilterMode;
  140. struct MatrixMode GammaMatrixMode;
  141. struct PipeMode GammaPipeMode;
  142. struct PipeLoad GammaPipeLoad;
  143. struct VertexMachineMode GammaVertexMachineMode;
  144. struct TextureMode GammaTextureMode[G3_TEXTURE_STAGES];
  145. struct FogVertexMode GammaFogVertexMode;
  146. // Total 30 DWORDS : 120 Bytes
  147. struct LineStippleMode PXRXLineStippleMode;
  148. } P3_SOFTWARECOPY;