Clone of mesa.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

RELNOTES-5.1 7.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. Mesa 5.1 release notes
  2. Month day, 2003
  3. PLEASE READ!!!!
  4. Introduction
  5. ------------
  6. Mesa uses an even/odd version number scheme like the Linux kernel.
  7. Even-numbered versions (such as 5.0) designate stable releases.
  8. Odd-numbered versions (such as 5.1) designate new developmental releases.
  9. Bug fixes
  10. ---------
  11. See the VERSIONS file for a list of bugs fixed in this release.
  12. New Features in Mesa 5.1
  13. ------------------------
  14. GL_ATI_texture_env_combine3 extension
  15. This adds a few new texture combine modes.
  16. Contributed by Ian Romanick.
  17. GL_SGI_texture_color_table
  18. Adds a color table lookup to the RGBA texture path. There's a separate
  19. color table for each texture unit.
  20. Contributed by Eric Plante.
  21. GL_NV_fragment_program
  22. NVIDIA's fragment-level programming feature.
  23. Possible lurking bugs:
  24. - the DDX and DDY commands aren't fully tested
  25. - there may be bugs in the parser
  26. - the TEX and TXP instructions both do perspective correction
  27. - the pack/unpack instructions may not be correct
  28. GL_EXT_depth_bounds_test
  29. This extension adds a scissor-like test for the Z axis. It's used to
  30. optimize stencil-volume shadow algorithms.
  31. GL_NV_light_max_exponent
  32. Lifts the 128 limit for max light exponent.
  33. GL_EXT_texture_rectangle
  34. Identical to GL_NV_texture_rectangle
  35. GL_ARB_occlusion_query
  36. Useful for visibility-based culling.
  37. GL_ARB_texture_non_power_of_two
  38. Removes the restriction that texture dimensions must be powers of two.
  39. GL_ARB_vertex_buffer_object
  40. Allows server-side vertex arrays, optimized host/card data transfers, etc.
  41. GL_ARB_point_sprite
  42. ARB-approved version of GL_NV_point_sprite. Basically allows textures
  43. to be applied to points.
  44. GL_IBM_multimode_draw_arrays
  45. Allows multiple vertex arrays to be drawn with one call, including arrays
  46. of different types of primitives.
  47. GL_SUN_multi_draw_arrays
  48. An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4.
  49. With the addition of GL_ARB_occlusion_query, GL_ARB_vertex_buffer_object,
  50. GL_ARB_texture_non_power_of_two and GL_EXT_shadow_funcs, Mesa 5.1 supports
  51. all the new features of OpenGL 1.5. Mesa 6.0 (the next stable release)
  52. will advertise GL_VERSION = "1.5".
  53. Vertex/Fragment program debugger
  54. --------------------------------
  55. GL_MESA_program_debug is an experimental extension to support
  56. interactive debugging of vertex and fragment programs. See the
  57. docs/MESA_program_debug.spec file for details.
  58. The bulk of the vertex/fragment program debugger is implemented
  59. outside of Mesa. The GL_MESA_program_debug extension just has minimal
  60. hooks for stopping running programs and inspecting programs.
  61. The progs/tests/debugger.c (only in CVS) program is an example of how
  62. the extension can be used. Presently, the debugger code and demo code
  63. is in the same file. Eventually the debugger code should be moved
  64. into a reusable module.
  65. As it is now, the demo lets you set breakpoings in vertex/fragment
  66. programs, single step, and print intermediate register values. It's
  67. basically just a proof of concept.
  68. Directory tree reorganization
  69. -----------------------------
  70. The directory structure for Mesa has been overhauled to improve its layout.
  71. All source code for Mesa, GLU, GLUT, etc is now under the src/ directory
  72. in appropriate subdirectories.
  73. The Mesa source code and drivers has been reorganized under src/mesa/.
  74. All demonstration programs and tests are now in subdirectories under progs/.
  75. Build System Changes
  76. --------------------
  77. The GNU automake/autoconf support has been removed. As it was, it seldom
  78. worked on anything but Linux. The Mesa developers aren't big fans of
  79. automake/autoconf/libtool and didn't have the time to maintain it.
  80. If someone wants to contribute new automake/autoconf support (and is
  81. willing to maintain it), it may be re-incorporated into Mesa, subject
  82. to some requirements.
  83. The "old style" makefile system has been updated:
  84. 1. Make-config has been trimmed down to fewer, modern configurations.
  85. 2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
  86. script that works on all sorts of systems. There are probably some
  87. bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
  88. Improvements/contributes are greatly appreciated.
  89. 3. The Makefile.X11 files have been cleaned up in various ways
  90. Source File Changes
  91. -------------------
  92. The mmath.[ch] files are obsolete. Their contents have been moved
  93. into the imports.[ch] and macros.[ch] files.
  94. The files related to vertex and fragment programming have changed.
  95. Old files:
  96. vpexec.[ch]
  97. vpparse.[ch]
  98. vpstate.[ch]
  99. New files:
  100. program.[ch] - generic ARB/NV program code
  101. arbprogram.[ch] - ARB program API functions
  102. nvprogram.[ch] - NV program API functions
  103. nvvertprog.h - NV vertex program definitions
  104. nvfragprog.h - NV fragment program definitions
  105. nvvertparse.[ch] - NV vertex program parser
  106. nvfragparse.[ch] - NV fragment program parser
  107. nvvertexec.[ch] - NV vertex program execution
  108. swrast/s_nvfragprog.[ch] - NV fragment program execution
  109. Removed files:
  110. swrast/s_histogram.[ch] - moved into src/histogram.c
  111. Other New files:
  112. bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
  113. version.h - defines the Mesa version info
  114. Other Changes
  115. -------------
  116. The ctx->Driver.CreateTexture function has been removed - it wasn't used.
  117. New device driver hook functions:
  118. NewTextureObject - used to allocate struct gl_texture_objects
  119. NewTextureImage - used to allocate struct gl_texture_images
  120. New ctx->Texture._EnabledCoordUnits field:
  121. With the addition of GL_NV_fragment_program we may need to interpolate
  122. various sets of texture coordinates even when the corresponding texture
  123. unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
  124. called but we still may have to interpolate texture coordinates across
  125. triangles so that the fragment program will get them.
  126. This new field indicates which sets of texture coordinates are needed.
  127. If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
  128. same bit MUST be set in ctx->Texture._EnabledCoordUnits.
  129. The ctx->_TriangleCaps field is deprecated.
  130. Instead of testing the DD_* bits in _TriangleCaps, you should instead
  131. directly test the relevant state variables, or use one of the helper
  132. functions like NEED_SECONDARY_COLOR() at the bottom of context.h
  133. While testing _TriangleCaps bits was fast, it was kludgey, and setting
  134. the bits in the first place could be error prone.
  135. To Do
  136. -----
  137. Add screen-awareness to fakeglx.c
  138. Device Driver Status
  139. --------------------
  140. A number of Mesa's software drivers haven't been actively maintained for
  141. some time. We rely on volunteers to maintain many of these drivers.
  142. Here's the current status of all included drivers:
  143. Driver Status
  144. ---------------------- ---------------------
  145. XMesa (Xlib) implements OpenGL 1.4
  146. OSMesa (off-screen) implements OpenGL 1.4
  147. FX (3dfx Voodoo1/2) implements OpenGL 1.3
  148. SVGA implements OpenGL 1.3
  149. Wind River UGL implements OpenGL 1.3
  150. Windows/Win32 implements OpenGL 1.4
  151. DJGPP implements OpenGL 1.4
  152. GGI implements OpenGL 1.3
  153. BeOS implements OpenGL 1.4
  154. Allegro needs updating
  155. D3D needs updating
  156. Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
  157. driver call the _mesa_enable_1_4_extensions() function.
  158. ----------------------------------------------------------------------