Source code of Windows XP (NT5)
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
5.3 KiB

  1. #ifndef __gldlistopt_h_
  2. #define __gldlistopt_h_
  3. /*
  4. ** Copyright 1991, 1922, Silicon Graphics, Inc.
  5. ** All Rights Reserved.
  6. **
  7. ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  8. ** the contents of this file may not be disclosed to third parties, copied or
  9. ** duplicated in any form, in whole or in part, without the prior written
  10. ** permission of Silicon Graphics, Inc.
  11. **
  12. ** RESTRICTED RIGHTS LEGEND:
  13. ** Use, duplication or disclosure by the Government is subject to restrictions
  14. ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  15. ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  16. ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  17. ** rights reserved under the Copyright Laws of the United States.
  18. **
  19. ** Display list state descriptions.
  20. **
  21. */
  22. #ifndef NT
  23. /*
  24. ** Generic optimizer. This optimizer simply uses all of the generic
  25. ** optimizations.
  26. */
  27. void FASTCALL __glDlistOptimizer(__GLcontext *gc, __GLcompiledDlist *cdlist);
  28. /*
  29. ** Optimizer for multiple consecutive material changes. This routine
  30. ** combines a bunch of material changes into one quick material change.
  31. */
  32. void FASTCALL __glDlistOptimizeMaterial(__GLcontext *gc, __GLcompiledDlist *cdlist);
  33. /*
  34. ** Generic flags used for optimization (during gllc routines).
  35. */
  36. #define __GL_DLFLAG_HAS_VERTEX 0x00000001
  37. #define __GL_DLFLAG_HAS_NORMAL 0x00000002
  38. #define __GL_DLFLAG_HAS_COLOR 0x00000004
  39. #define __GL_DLFLAG_HAS_TEXCOORDS 0x00000008
  40. #define __GL_DLFLAG_HAS_INDEX 0x00000010
  41. #define __GL_DLFLAG_HAS_RASTERPOS 0x00000020
  42. #define __GL_DLFLAG_HAS_RECT 0x00000040
  43. #define __GL_DLFLAG_HAS_BEGIN 0x00000080
  44. #define __GL_DLFLAG_HAS_MATERIAL 0x00000100
  45. /*
  46. ** Generic opcodes created during generic dlist optimizations.
  47. */
  48. #define __GL_GENERIC_DLIST_OPCODE 1000
  49. #define __glop_Begin_LineLoop 1000
  50. #define __glop_Begin_LineStrip 1001
  51. #define __glop_Begin_Lines 1002
  52. #define __glop_Begin_Points 1003
  53. #define __glop_Begin_Polygon 1004
  54. #define __glop_Begin_TriangleStrip 1005
  55. #define __glop_Begin_TriangleFan 1006
  56. #define __glop_Begin_Triangles 1007
  57. #define __glop_Begin_QuadStrip 1008
  58. #define __glop_Begin_Quads 1009
  59. #define __glop_InvalidValue 1010
  60. #define __glop_InvalidEnum 1011
  61. #define __glop_InvalidOperation 1012
  62. #define __glop_FastMaterial 1013
  63. /*
  64. ** List execution functions.
  65. */
  66. extern __GLlistExecFunc *__gl_GenericDlOps[];
  67. extern const GLubyte * FASTCALL __glle_Begin_LineLoop(__GLcontext *gc, const GLubyte *);
  68. extern const GLubyte * FASTCALL __glle_Begin_LineStrip(__GLcontext *gc, const GLubyte *);
  69. extern const GLubyte * FASTCALL __glle_Begin_Lines(__GLcontext *gc, const GLubyte *);
  70. extern const GLubyte * FASTCALL __glle_Begin_Points(__GLcontext *gc, const GLubyte *);
  71. extern const GLubyte * FASTCALL __glle_Begin_Polygon(__GLcontext *gc, const GLubyte *);
  72. extern const GLubyte * FASTCALL __glle_Begin_TriangleStrip(__GLcontext *gc, const GLubyte *);
  73. extern const GLubyte * FASTCALL __glle_Begin_TriangleFan(__GLcontext *gc, const GLubyte *);
  74. extern const GLubyte * FASTCALL __glle_Begin_Triangles(__GLcontext *gc, const GLubyte *);
  75. extern const GLubyte * FASTCALL __glle_Begin_QuadStrip(__GLcontext *gc, const GLubyte *);
  76. extern const GLubyte * FASTCALL __glle_Begin_Quads(__GLcontext *gc, const GLubyte *);
  77. extern const GLubyte * FASTCALL __glle_FastMaterial(__GLcontext *gc, const GLubyte *);
  78. extern void __gllc_Error(GLenum error);
  79. #endif // !NT
  80. extern const GLubyte * FASTCALL __glle_InvalidValue(__GLcontext *gc, const GLubyte *);
  81. extern const GLubyte * FASTCALL __glle_InvalidEnum(__GLcontext *gc, const GLubyte *);
  82. extern const GLubyte * FASTCALL __glle_InvalidOperation(__GLcontext *gc, const GLubyte *);
  83. extern void __gllc_InvalidValue();
  84. extern void __gllc_InvalidEnum();
  85. extern void __gllc_InvalidOperation();
  86. #ifdef NT
  87. extern const GLubyte * FASTCALL __glle_PolyData_C3F_V3F(__GLcontext *gc, const GLubyte *PC);
  88. extern const GLubyte * FASTCALL __glle_PolyData_N3F_V3F(__GLcontext *gc, const GLubyte *PC);
  89. extern const GLubyte * FASTCALL __glle_PolyData_C3F_N3F_V3F(__GLcontext *gc, const GLubyte *PC);
  90. extern const GLubyte * FASTCALL __glle_PolyData_C4F_N3F_V3F(__GLcontext *gc, const GLubyte *PC);
  91. extern const GLubyte * FASTCALL __glle_PolyData_T2F_V3F(__GLcontext *gc, const GLubyte *PC);
  92. extern const GLubyte * FASTCALL __glle_PolyData_T2F_C3F_V3F(__GLcontext *gc, const GLubyte *PC);
  93. extern const GLubyte * FASTCALL __glle_PolyData_T2F_N3F_V3F(__GLcontext *gc, const GLubyte *PC);
  94. extern const GLubyte * FASTCALL __glle_PolyData_T2F_C3F_N3F_V3F(__GLcontext *gc, const GLubyte *PC);
  95. extern const GLubyte * FASTCALL __glle_PolyData_T2F_C4F_N3F_V3F(__GLcontext *gc, const GLubyte *PC);
  96. extern const GLubyte * FASTCALL __glle_PolyMaterial(__GLcontext *gc, const GLubyte *PC);
  97. extern const GLubyte * FASTCALL __glle_PolyData(__GLcontext *gc, const GLubyte *PC);
  98. extern const GLubyte * FASTCALL __glle_Begin(__GLcontext *gc, const GLubyte *PC);
  99. extern const GLubyte * FASTCALL __glle_End(__GLcontext *gc, const GLubyte *PC);
  100. void APIENTRY __gllc_PolyMaterial(GLuint faceName, __GLmatChange *pdMat);
  101. void APIENTRY __glDlistCompilePolyData(__GLcontext *gc, GLboolean bPartial);
  102. #define DLIST_BEGIN_HAS_OTHER_COLOR 0x0001
  103. #define DLIST_BEGIN_NO_MATCHING_END 0x0002
  104. #define DLIST_BEGIN_HAS_CALLLIST 0x0004
  105. #define DLIST_BEGIN_DRAWARRAYS 0x0008
  106. #define DLIST_BEGIN_DRAWELEMENTS 0x0010
  107. #define DLIST_BEGIN_HAS_CLAMP_COLOR 0x0020
  108. #endif // NT
  109. #endif /* __gldlistopt_h_ */