summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Faye-Lund <erik.faye-lund@collabora.com>2020-06-12 20:09:42 +0200
committerMarge Bot <eric+marge@anholt.net>2020-06-13 10:42:00 +0000
commit4d066836e3cf307431a74eafcc8a404ce5ccea69 (patch)
treeb0e3c39a971a564126b70368ae139a6e613d183f
parent1df5dbf51659000f74ca9511a211a7b026bfa936 (diff)
docs: convert articles to reructuredtext
This uses the previously added scripts to convert the documentation to reStructuredText, which is both easier to read offline, and can be used to generate modern HTML for online documentation. No modification to the generated results have been done. Acked-by: Eric Engestrom <eric@engestrom.ch> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630>
-rw-r--r--docs/application-issues.html85
-rw-r--r--docs/application-issues.rst48
-rw-r--r--docs/bugs.html59
-rw-r--r--docs/bugs.rst30
-rw-r--r--docs/codingstyle.html143
-rw-r--r--docs/codingstyle.rst124
-rw-r--r--docs/conform.html703
-rw-r--r--docs/conform.rst675
-rw-r--r--docs/contents.html108
-rw-r--r--docs/contents.rst86
-rw-r--r--docs/debugging.html43
-rw-r--r--docs/debugging.rst17
-rw-r--r--docs/developers.html58
-rw-r--r--docs/developers.rst25
-rw-r--r--docs/devinfo.html82
-rw-r--r--docs/devinfo.rst44
-rw-r--r--docs/dispatch.html273
-rw-r--r--docs/dispatch.rst255
-rw-r--r--docs/download.html98
-rw-r--r--docs/download.rst61
-rw-r--r--docs/egl.html252
-rw-r--r--docs/egl.rst197
-rw-r--r--docs/envvars.html786
-rw-r--r--docs/envvars.rst724
-rw-r--r--docs/extensions.html51
-rw-r--r--docs/extensions.rst31
-rw-r--r--docs/faq.html382
-rw-r--r--docs/faq.rst322
-rw-r--r--docs/helpwanted.html89
-rw-r--r--docs/helpwanted.rst47
-rw-r--r--docs/index.html2769
-rw-r--r--docs/index.rst2824
-rw-r--r--docs/install.html254
-rw-r--r--docs/install.rst212
-rw-r--r--docs/intro.html404
-rw-r--r--docs/intro.rst308
-rw-r--r--docs/license.html123
-rw-r--r--docs/license.rst90
-rw-r--r--docs/lists.html97
-rw-r--r--docs/lists.rst62
-rw-r--r--docs/llvmpipe.html343
-rw-r--r--docs/llvmpipe.rst272
-rw-r--r--docs/meson.html541
-rw-r--r--docs/meson.rst498
-rw-r--r--docs/opengles.html70
-rw-r--r--docs/opengles.rst54
-rw-r--r--docs/osmesa.html80
-rw-r--r--docs/osmesa.rst45
-rw-r--r--docs/perf.html76
-rw-r--r--docs/perf.rst44
-rw-r--r--docs/postprocess.html60
-rw-r--r--docs/postprocess.rst33
-rw-r--r--docs/precompiled.html36
-rw-r--r--docs/precompiled.rst14
-rw-r--r--docs/release-calendar.html108
-rw-r--r--docs/release-calendar.rst44
-rw-r--r--docs/releasing.html423
-rw-r--r--docs/releasing.rst351
-rw-r--r--docs/relnotes.html871
-rw-r--r--docs/relnotes.rst580
-rw-r--r--docs/relnotes/10.0.1.html150
-rw-r--r--docs/relnotes/10.0.1.rst124
-rw-r--r--docs/relnotes/10.0.2.html161
-rw-r--r--docs/relnotes/10.0.2.rst127
-rw-r--r--docs/relnotes/10.0.3.html206
-rw-r--r--docs/relnotes/10.0.3.rst174
-rw-r--r--docs/relnotes/10.0.4.html191
-rw-r--r--docs/relnotes/10.0.4.rst162
-rw-r--r--docs/relnotes/10.0.5.html173
-rw-r--r--docs/relnotes/10.0.5.rst147
-rw-r--r--docs/relnotes/10.0.html146
-rw-r--r--docs/relnotes/10.0.rst132
-rw-r--r--docs/relnotes/10.1.1.html254
-rw-r--r--docs/relnotes/10.1.1.rst223
-rw-r--r--docs/relnotes/10.1.2.html179
-rw-r--r--docs/relnotes/10.1.2.rst159
-rw-r--r--docs/relnotes/10.1.3.html90
-rw-r--r--docs/relnotes/10.1.3.rst64
-rw-r--r--docs/relnotes/10.1.4.html100
-rw-r--r--docs/relnotes/10.1.4.rst74
-rw-r--r--docs/relnotes/10.1.5.html105
-rw-r--r--docs/relnotes/10.1.5.rst76
-rw-r--r--docs/relnotes/10.1.6.html138
-rw-r--r--docs/relnotes/10.1.6.rst110
-rw-r--r--docs/relnotes/10.1.html75
-rw-r--r--docs/relnotes/10.1.rst50
-rw-r--r--docs/relnotes/10.2.1.html61
-rw-r--r--docs/relnotes/10.2.1.rst42
-rw-r--r--docs/relnotes/10.2.2.html181
-rw-r--r--docs/relnotes/10.2.2.rst152
-rw-r--r--docs/relnotes/10.2.3.html130
-rw-r--r--docs/relnotes/10.2.3.rst96
-rw-r--r--docs/relnotes/10.2.4.html127
-rw-r--r--docs/relnotes/10.2.4.rst103
-rw-r--r--docs/relnotes/10.2.5.html188
-rw-r--r--docs/relnotes/10.2.5.rst163
-rw-r--r--docs/relnotes/10.2.6.html118
-rw-r--r--docs/relnotes/10.2.6.rst104
-rw-r--r--docs/relnotes/10.2.7.html211
-rw-r--r--docs/relnotes/10.2.7.rst183
-rw-r--r--docs/relnotes/10.2.8.html130
-rw-r--r--docs/relnotes/10.2.8.rst106
-rw-r--r--docs/relnotes/10.2.9.html101
-rw-r--r--docs/relnotes/10.2.9.rst76
-rw-r--r--docs/relnotes/10.2.html99
-rw-r--r--docs/relnotes/10.2.rst69
-rw-r--r--docs/relnotes/10.3.1.html158
-rw-r--r--docs/relnotes/10.3.1.rst131
-rw-r--r--docs/relnotes/10.3.2.html115
-rw-r--r--docs/relnotes/10.3.2.rst91
-rw-r--r--docs/relnotes/10.3.3.html209
-rw-r--r--docs/relnotes/10.3.3.rst184
-rw-r--r--docs/relnotes/10.3.4.html106
-rw-r--r--docs/relnotes/10.3.4.rst83
-rw-r--r--docs/relnotes/10.3.5.html88
-rw-r--r--docs/relnotes/10.3.5.rst66
-rw-r--r--docs/relnotes/10.3.6.html124
-rw-r--r--docs/relnotes/10.3.6.rst100
-rw-r--r--docs/relnotes/10.3.7.html93
-rw-r--r--docs/relnotes/10.3.7.rst73
-rw-r--r--docs/relnotes/10.3.html335
-rw-r--r--docs/relnotes/10.3.rst369
-rw-r--r--docs/relnotes/10.4.1.html97
-rw-r--r--docs/relnotes/10.4.1.rst76
-rw-r--r--docs/relnotes/10.4.2.html127
-rw-r--r--docs/relnotes/10.4.2.rst102
-rw-r--r--docs/relnotes/10.4.3.html145
-rw-r--r--docs/relnotes/10.4.3.rst123
-rw-r--r--docs/relnotes/10.4.4.html100
-rw-r--r--docs/relnotes/10.4.4.rst72
-rw-r--r--docs/relnotes/10.4.5.html114
-rw-r--r--docs/relnotes/10.4.5.rst89
-rw-r--r--docs/relnotes/10.4.6.html143
-rw-r--r--docs/relnotes/10.4.6.rst115
-rw-r--r--docs/relnotes/10.4.7.html134
-rw-r--r--docs/relnotes/10.4.7.rst107
-rw-r--r--docs/relnotes/10.4.html259
-rw-r--r--docs/relnotes/10.4.rst269
-rw-r--r--docs/relnotes/10.5.0.html212
-rw-r--r--docs/relnotes/10.5.0.rst217
-rw-r--r--docs/relnotes/10.5.1.html217
-rw-r--r--docs/relnotes/10.5.1.rst194
-rw-r--r--docs/relnotes/10.5.2.html130
-rw-r--r--docs/relnotes/10.5.2.rst102
-rw-r--r--docs/relnotes/10.5.3.html125
-rw-r--r--docs/relnotes/10.5.3.rst101
-rw-r--r--docs/relnotes/10.5.4.html125
-rw-r--r--docs/relnotes/10.5.4.rst103
-rw-r--r--docs/relnotes/10.5.5.html95
-rw-r--r--docs/relnotes/10.5.5.rst70
-rw-r--r--docs/relnotes/10.5.6.html147
-rw-r--r--docs/relnotes/10.5.6.rst116
-rw-r--r--docs/relnotes/10.5.7.html103
-rw-r--r--docs/relnotes/10.5.7.rst79
-rw-r--r--docs/relnotes/10.5.8.html112
-rw-r--r--docs/relnotes/10.5.8.rst83
-rw-r--r--docs/relnotes/10.5.9.html140
-rw-r--r--docs/relnotes/10.5.9.rst118
-rw-r--r--docs/relnotes/10.6.0.html331
-rw-r--r--docs/relnotes/10.6.0.rst362
-rw-r--r--docs/relnotes/10.6.1.html104
-rw-r--r--docs/relnotes/10.6.1.rst80
-rw-r--r--docs/relnotes/10.6.2.html165
-rw-r--r--docs/relnotes/10.6.2.rst141
-rw-r--r--docs/relnotes/10.6.3.html106
-rw-r--r--docs/relnotes/10.6.3.rst77
-rw-r--r--docs/relnotes/10.6.4.html137
-rw-r--r--docs/relnotes/10.6.4.rst112
-rw-r--r--docs/relnotes/10.6.5.html124
-rw-r--r--docs/relnotes/10.6.5.rst95
-rw-r--r--docs/relnotes/10.6.6.html164
-rw-r--r--docs/relnotes/10.6.6.rst136
-rw-r--r--docs/relnotes/10.6.7.html75
-rw-r--r--docs/relnotes/10.6.7.rst53
-rw-r--r--docs/relnotes/10.6.8.html136
-rw-r--r--docs/relnotes/10.6.8.rst102
-rw-r--r--docs/relnotes/10.6.9.html130
-rw-r--r--docs/relnotes/10.6.9.rst104
-rw-r--r--docs/relnotes/11.0.0.html261
-rw-r--r--docs/relnotes/11.0.0.rst276
-rw-r--r--docs/relnotes/11.0.1.html134
-rw-r--r--docs/relnotes/11.0.1.rst105
-rw-r--r--docs/relnotes/11.0.2.html85
-rw-r--r--docs/relnotes/11.0.2.rst63
-rw-r--r--docs/relnotes/11.0.3.html185
-rw-r--r--docs/relnotes/11.0.3.rst157
-rw-r--r--docs/relnotes/11.0.4.html168
-rw-r--r--docs/relnotes/11.0.4.rst144
-rw-r--r--docs/relnotes/11.0.5.html172
-rw-r--r--docs/relnotes/11.0.5.rst139
-rw-r--r--docs/relnotes/11.0.6.html145
-rw-r--r--docs/relnotes/11.0.6.rst114
-rw-r--r--docs/relnotes/11.0.7.html154
-rw-r--r--docs/relnotes/11.0.7.rst135
-rw-r--r--docs/relnotes/11.0.8.html200
-rw-r--r--docs/relnotes/11.0.8.rst173
-rw-r--r--docs/relnotes/11.0.9.html127
-rw-r--r--docs/relnotes/11.0.9.rst99
-rw-r--r--docs/relnotes/11.1.0.html283
-rw-r--r--docs/relnotes/11.1.0.rst300
-rw-r--r--docs/relnotes/11.1.1.html197
-rw-r--r--docs/relnotes/11.1.1.rst167
-rw-r--r--docs/relnotes/11.1.2.html182
-rw-r--r--docs/relnotes/11.1.2.rst156
-rw-r--r--docs/relnotes/11.1.3.html319
-rw-r--r--docs/relnotes/11.1.3.rst283
-rw-r--r--docs/relnotes/11.1.4.html182
-rw-r--r--docs/relnotes/11.1.4.rst147
-rw-r--r--docs/relnotes/11.2.0.html296
-rw-r--r--docs/relnotes/11.2.0.rst312
-rw-r--r--docs/relnotes/11.2.1.html119
-rw-r--r--docs/relnotes/11.2.1.rst88
-rw-r--r--docs/relnotes/11.2.2.html210
-rw-r--r--docs/relnotes/11.2.2.rst172
-rw-r--r--docs/relnotes/12.0.0.html335
-rw-r--r--docs/relnotes/12.0.0.rst364
-rw-r--r--docs/relnotes/12.0.1.html65
-rw-r--r--docs/relnotes/12.0.1.rst41
-rw-r--r--docs/relnotes/12.0.2.html403
-rw-r--r--docs/relnotes/12.0.2.rst376
-rw-r--r--docs/relnotes/12.0.3.html71
-rw-r--r--docs/relnotes/12.0.3.rst48
-rw-r--r--docs/relnotes/12.0.4.html321
-rw-r--r--docs/relnotes/12.0.4.rst281
-rw-r--r--docs/relnotes/12.0.5.html138
-rw-r--r--docs/relnotes/12.0.5.rst109
-rw-r--r--docs/relnotes/12.0.6.html148
-rw-r--r--docs/relnotes/12.0.6.rst118
-rw-r--r--docs/relnotes/13.0.0.html311
-rw-r--r--docs/relnotes/13.0.0.rst333
-rw-r--r--docs/relnotes/13.0.1.html188
-rw-r--r--docs/relnotes/13.0.1.rst152
-rw-r--r--docs/relnotes/13.0.2.html189
-rw-r--r--docs/relnotes/13.0.2.rst154
-rw-r--r--docs/relnotes/13.0.3.html177
-rw-r--r--docs/relnotes/13.0.3.rst147
-rw-r--r--docs/relnotes/13.0.4.html255
-rw-r--r--docs/relnotes/13.0.4.rst214
-rw-r--r--docs/relnotes/13.0.5.html210
-rw-r--r--docs/relnotes/13.0.5.rst184
-rw-r--r--docs/relnotes/13.0.6.html287
-rw-r--r--docs/relnotes/13.0.6.rst255
-rw-r--r--docs/relnotes/17.0.0.html285
-rw-r--r--docs/relnotes/17.0.0.rst285
-rw-r--r--docs/relnotes/17.0.1.html221
-rw-r--r--docs/relnotes/17.0.1.rst180
-rw-r--r--docs/relnotes/17.0.2.html185
-rw-r--r--docs/relnotes/17.0.2.rst155
-rw-r--r--docs/relnotes/17.0.3.html189
-rw-r--r--docs/relnotes/17.0.3.rst147
-rw-r--r--docs/relnotes/17.0.4.html156
-rw-r--r--docs/relnotes/17.0.4.rst123
-rw-r--r--docs/relnotes/17.0.5.html144
-rw-r--r--docs/relnotes/17.0.5.rst116
-rw-r--r--docs/relnotes/17.0.6.html186
-rw-r--r--docs/relnotes/17.0.6.rst156
-rw-r--r--docs/relnotes/17.0.7.html145
-rw-r--r--docs/relnotes/17.0.7.rst115
-rw-r--r--docs/relnotes/17.1.0.html224
-rw-r--r--docs/relnotes/17.1.0.rst229
-rw-r--r--docs/relnotes/17.1.1.html188
-rw-r--r--docs/relnotes/17.1.1.rst150
-rw-r--r--docs/relnotes/17.1.10.html155
-rw-r--r--docs/relnotes/17.1.10.rst129
-rw-r--r--docs/relnotes/17.1.2.html187
-rw-r--r--docs/relnotes/17.1.2.rst159
-rw-r--r--docs/relnotes/17.1.3.html156
-rw-r--r--docs/relnotes/17.1.3.rst117
-rw-r--r--docs/relnotes/17.1.4.html220
-rw-r--r--docs/relnotes/17.1.4.rst178
-rw-r--r--docs/relnotes/17.1.5.html203
-rw-r--r--docs/relnotes/17.1.5.rst161
-rw-r--r--docs/relnotes/17.1.6.html225
-rw-r--r--docs/relnotes/17.1.6.rst187
-rw-r--r--docs/relnotes/17.1.7.html148
-rw-r--r--docs/relnotes/17.1.7.rst121
-rw-r--r--docs/relnotes/17.1.8.html115
-rw-r--r--docs/relnotes/17.1.8.rst87
-rw-r--r--docs/relnotes/17.1.9.html144
-rw-r--r--docs/relnotes/17.1.9.rst114
-rw-r--r--docs/relnotes/17.2.0.html218
-rw-r--r--docs/relnotes/17.2.0.rst215
-rw-r--r--docs/relnotes/17.2.1.html200
-rw-r--r--docs/relnotes/17.2.1.rst160
-rw-r--r--docs/relnotes/17.2.2.html203
-rw-r--r--docs/relnotes/17.2.2.rst164
-rw-r--r--docs/relnotes/17.2.3.html181
-rw-r--r--docs/relnotes/17.2.3.rst149
-rw-r--r--docs/relnotes/17.2.4.html132
-rw-r--r--docs/relnotes/17.2.4.rst102
-rw-r--r--docs/relnotes/17.2.5.html156
-rw-r--r--docs/relnotes/17.2.5.rst125
-rw-r--r--docs/relnotes/17.2.6.html187
-rw-r--r--docs/relnotes/17.2.6.rst163
-rw-r--r--docs/relnotes/17.2.7.html247
-rw-r--r--docs/relnotes/17.2.7.rst212
-rw-r--r--docs/relnotes/17.2.8.html112
-rw-r--r--docs/relnotes/17.2.8.rst85
-rw-r--r--docs/relnotes/17.3.0.html246
-rw-r--r--docs/relnotes/17.3.0.rst258
-rw-r--r--docs/relnotes/17.3.1.html191
-rw-r--r--docs/relnotes/17.3.1.rst151
-rw-r--r--docs/relnotes/17.3.2.html109
-rw-r--r--docs/relnotes/17.3.2.rst80
-rw-r--r--docs/relnotes/17.3.3.html151
-rw-r--r--docs/relnotes/17.3.3.rst118
-rw-r--r--docs/relnotes/17.3.4.html275
-rw-r--r--docs/relnotes/17.3.4.rst237
-rw-r--r--docs/relnotes/17.3.5.html63
-rw-r--r--docs/relnotes/17.3.5.rst42
-rw-r--r--docs/relnotes/17.3.6.html85
-rw-r--r--docs/relnotes/17.3.6.rst59
-rw-r--r--docs/relnotes/17.3.7.html312
-rw-r--r--docs/relnotes/17.3.7.rst271
-rw-r--r--docs/relnotes/17.3.8.html147
-rw-r--r--docs/relnotes/17.3.8.rst116
-rw-r--r--docs/relnotes/17.3.9.html162
-rw-r--r--docs/relnotes/17.3.9.rst126
-rw-r--r--docs/relnotes/18.0.0.html321
-rw-r--r--docs/relnotes/18.0.0.rst353
-rw-r--r--docs/relnotes/18.0.1.html225
-rw-r--r--docs/relnotes/18.0.1.rst187
-rw-r--r--docs/relnotes/18.0.2.html144
-rw-r--r--docs/relnotes/18.0.2.rst116
-rw-r--r--docs/relnotes/18.0.3.html107
-rw-r--r--docs/relnotes/18.0.3.rst76
-rw-r--r--docs/relnotes/18.0.4.html157
-rw-r--r--docs/relnotes/18.0.4.rst125
-rw-r--r--docs/relnotes/18.0.5.html162
-rw-r--r--docs/relnotes/18.0.5.rst135
-rw-r--r--docs/relnotes/18.1.0.html268
-rw-r--r--docs/relnotes/18.1.0.rst281
-rw-r--r--docs/relnotes/18.1.1.html168
-rw-r--r--docs/relnotes/18.1.1.rst137
-rw-r--r--docs/relnotes/18.1.2.html170
-rw-r--r--docs/relnotes/18.1.2.rst138
-rw-r--r--docs/relnotes/18.1.3.html167
-rw-r--r--docs/relnotes/18.1.3.rst138
-rw-r--r--docs/relnotes/18.1.4.html150
-rw-r--r--docs/relnotes/18.1.4.rst125
-rw-r--r--docs/relnotes/18.1.5.html183
-rw-r--r--docs/relnotes/18.1.5.rst148
-rw-r--r--docs/relnotes/18.1.6.html188
-rw-r--r--docs/relnotes/18.1.6.rst154
-rw-r--r--docs/relnotes/18.1.7.html104
-rw-r--r--docs/relnotes/18.1.7.rst81
-rw-r--r--docs/relnotes/18.1.8.html180
-rw-r--r--docs/relnotes/18.1.8.rst158
-rw-r--r--docs/relnotes/18.1.9.html178
-rw-r--r--docs/relnotes/18.1.9.rst150
-rw-r--r--docs/relnotes/18.2.0.html284
-rw-r--r--docs/relnotes/18.2.0.rst306
-rw-r--r--docs/relnotes/18.2.1.html227
-rw-r--r--docs/relnotes/18.2.1.rst192
-rw-r--r--docs/relnotes/18.2.2.html155
-rw-r--r--docs/relnotes/18.2.2.rst121
-rw-r--r--docs/relnotes/18.2.3.html167
-rw-r--r--docs/relnotes/18.2.3.rst135
-rw-r--r--docs/relnotes/18.2.4.html154
-rw-r--r--docs/relnotes/18.2.4.rst119
-rw-r--r--docs/relnotes/18.2.5.html172
-rw-r--r--docs/relnotes/18.2.5.rst138
-rw-r--r--docs/relnotes/18.2.6.html179
-rw-r--r--docs/relnotes/18.2.6.rst145
-rw-r--r--docs/relnotes/18.2.7.html167
-rw-r--r--docs/relnotes/18.2.7.rst134
-rw-r--r--docs/relnotes/18.2.8.html183
-rw-r--r--docs/relnotes/18.2.8.rst147
-rw-r--r--docs/relnotes/18.3.0.html285
-rw-r--r--docs/relnotes/18.3.0.rst308
-rw-r--r--docs/relnotes/18.3.1.html63
-rw-r--r--docs/relnotes/18.3.1.rst43
-rw-r--r--docs/relnotes/18.3.2.html265
-rw-r--r--docs/relnotes/18.3.2.rst228
-rw-r--r--docs/relnotes/18.3.3.html208
-rw-r--r--docs/relnotes/18.3.3.rst170
-rw-r--r--docs/relnotes/18.3.4.html180
-rw-r--r--docs/relnotes/18.3.4.rst147
-rw-r--r--docs/relnotes/18.3.5.html271
-rw-r--r--docs/relnotes/18.3.5.rst233
-rw-r--r--docs/relnotes/18.3.6.html169
-rw-r--r--docs/relnotes/18.3.6.rst137
-rw-r--r--docs/relnotes/19.0.0.html2471
-rw-r--r--docs/relnotes/19.0.0.rst2516
-rw-r--r--docs/relnotes/19.0.1.html159
-rw-r--r--docs/relnotes/19.0.1.rst130
-rw-r--r--docs/relnotes/19.0.2.html122
-rw-r--r--docs/relnotes/19.0.2.rst90
-rw-r--r--docs/relnotes/19.0.3.html148
-rw-r--r--docs/relnotes/19.0.3.rst116
-rw-r--r--docs/relnotes/19.0.4.html243
-rw-r--r--docs/relnotes/19.0.4.rst204
-rw-r--r--docs/relnotes/19.0.5.html137
-rw-r--r--docs/relnotes/19.0.5.rst107
-rw-r--r--docs/relnotes/19.0.6.html153
-rw-r--r--docs/relnotes/19.0.6.rst120
-rw-r--r--docs/relnotes/19.0.7.html150
-rw-r--r--docs/relnotes/19.0.7.rst115
-rw-r--r--docs/relnotes/19.0.8.html62
-rw-r--r--docs/relnotes/19.0.8.rst43
-rw-r--r--docs/relnotes/19.1.0.html4610
-rw-r--r--docs/relnotes/19.1.0.rst4677
-rw-r--r--docs/relnotes/19.1.1.html154
-rw-r--r--docs/relnotes/19.1.1.rst122
-rw-r--r--docs/relnotes/19.1.2.html194
-rw-r--r--docs/relnotes/19.1.2.rst158
-rw-r--r--docs/relnotes/19.1.3.html191
-rw-r--r--docs/relnotes/19.1.3.rst160
-rw-r--r--docs/relnotes/19.1.4.html227
-rw-r--r--docs/relnotes/19.1.4.rst191
-rw-r--r--docs/relnotes/19.1.5.html119
-rw-r--r--docs/relnotes/19.1.5.rst91
-rw-r--r--docs/relnotes/19.1.6.html132
-rw-r--r--docs/relnotes/19.1.6.rst104
-rw-r--r--docs/relnotes/19.1.7.html157
-rw-r--r--docs/relnotes/19.1.7.rst129
-rw-r--r--docs/relnotes/19.1.8.html267
-rw-r--r--docs/relnotes/19.1.8.rst234
-rw-r--r--docs/relnotes/19.2.0.html444
-rw-r--r--docs/relnotes/19.2.0.rst418
-rw-r--r--docs/relnotes/19.2.1.html159
-rw-r--r--docs/relnotes/19.2.1.rst92
-rw-r--r--docs/relnotes/19.2.2.html147
-rw-r--r--docs/relnotes/19.2.2.rst94
-rw-r--r--docs/relnotes/19.2.3.html146
-rw-r--r--docs/relnotes/19.2.3.rst87
-rw-r--r--docs/relnotes/19.2.4.html65
-rw-r--r--docs/relnotes/19.2.4.rst39
-rw-r--r--docs/relnotes/19.2.5.html115
-rw-r--r--docs/relnotes/19.2.5.rst63
-rw-r--r--docs/relnotes/19.2.6.html87
-rw-r--r--docs/relnotes/19.2.6.rst49
-rw-r--r--docs/relnotes/19.2.7.html96
-rw-r--r--docs/relnotes/19.2.7.rst55
-rw-r--r--docs/relnotes/19.2.8.html108
-rw-r--r--docs/relnotes/19.2.8.rst61
-rw-r--r--docs/relnotes/19.3.0.html3138
-rw-r--r--docs/relnotes/19.3.0.rst3039
-rw-r--r--docs/relnotes/19.3.1.html94
-rw-r--r--docs/relnotes/19.3.1.rst55
-rw-r--r--docs/relnotes/19.3.2.html138
-rw-r--r--docs/relnotes/19.3.2.rst95
-rw-r--r--docs/relnotes/19.3.3.html193
-rw-r--r--docs/relnotes/19.3.3.rst125
-rw-r--r--docs/relnotes/19.3.4.html187
-rw-r--r--docs/relnotes/19.3.4.rst123
-rw-r--r--docs/relnotes/19.3.5.html169
-rw-r--r--docs/relnotes/19.3.5.rst106
-rw-r--r--docs/relnotes/20.0.0.html3231
-rw-r--r--docs/relnotes/20.0.0.rst3154
-rw-r--r--docs/relnotes/20.0.1.html172
-rw-r--r--docs/relnotes/20.0.1.rst96
-rw-r--r--docs/relnotes/20.0.2.html159
-rw-r--r--docs/relnotes/20.0.2.rst107
-rw-r--r--docs/relnotes/20.0.3.html177
-rw-r--r--docs/relnotes/20.0.3.rst119
-rw-r--r--docs/relnotes/20.0.4.html68
-rw-r--r--docs/relnotes/20.0.4.rst38
-rw-r--r--docs/relnotes/20.0.5.html213
-rw-r--r--docs/relnotes/20.0.5.rst136
-rw-r--r--docs/relnotes/20.0.6.html130
-rw-r--r--docs/relnotes/20.0.6.rst83
-rw-r--r--docs/relnotes/20.0.7.html160
-rw-r--r--docs/relnotes/20.0.7.rst100
-rw-r--r--docs/relnotes/20.0.8.html203
-rw-r--r--docs/relnotes/20.0.8.rst143
-rw-r--r--docs/relnotes/20.1.0.html3939
-rw-r--r--docs/relnotes/20.1.0.rst3945
-rw-r--r--docs/relnotes/20.1.1.html178
-rw-r--r--docs/relnotes/20.1.1.rst122
-rw-r--r--docs/relnotes/6.4.1.html75
-rw-r--r--docs/relnotes/6.4.1.rst54
-rw-r--r--docs/relnotes/6.4.2.html81
-rw-r--r--docs/relnotes/6.4.2.rst59
-rw-r--r--docs/relnotes/6.4.html97
-rw-r--r--docs/relnotes/6.4.rst77
-rw-r--r--docs/relnotes/6.5.1.html146
-rw-r--r--docs/relnotes/6.5.1.rst118
-rw-r--r--docs/relnotes/6.5.2.html133
-rw-r--r--docs/relnotes/6.5.2.rst112
-rw-r--r--docs/relnotes/6.5.3.html126
-rw-r--r--docs/relnotes/6.5.3.rst105
-rw-r--r--docs/relnotes/6.5.html141
-rw-r--r--docs/relnotes/6.5.rst114
-rw-r--r--docs/relnotes/7.0.1.html108
-rw-r--r--docs/relnotes/7.0.1.rst88
-rw-r--r--docs/relnotes/7.0.2.html95
-rw-r--r--docs/relnotes/7.0.2.rst76
-rw-r--r--docs/relnotes/7.0.3.html91
-rw-r--r--docs/relnotes/7.0.3.rst73
-rw-r--r--docs/relnotes/7.0.4.html87
-rw-r--r--docs/relnotes/7.0.4.rst67
-rw-r--r--docs/relnotes/7.0.html100
-rw-r--r--docs/relnotes/7.0.rst79
-rw-r--r--docs/relnotes/7.1.html101
-rw-r--r--docs/relnotes/7.1.rst77
-rw-r--r--docs/relnotes/7.10.1.html383
-rw-r--r--docs/relnotes/7.10.1.rst362
-rw-r--r--docs/relnotes/7.10.2.html211
-rw-r--r--docs/relnotes/7.10.2.rst185
-rw-r--r--docs/relnotes/7.10.3.html308
-rw-r--r--docs/relnotes/7.10.3.rst298
-rw-r--r--docs/relnotes/7.10.html2798
-rw-r--r--docs/relnotes/7.10.rst2930
-rw-r--r--docs/relnotes/7.11.1.html396
-rw-r--r--docs/relnotes/7.11.1.rst395
-rw-r--r--docs/relnotes/7.11.2.html90
-rw-r--r--docs/relnotes/7.11.2.rst68
-rw-r--r--docs/relnotes/7.11.html353
-rw-r--r--docs/relnotes/7.11.rst375
-rw-r--r--docs/relnotes/7.2.html111
-rw-r--r--docs/relnotes/7.2.rst85
-rw-r--r--docs/relnotes/7.3.html100
-rw-r--r--docs/relnotes/7.3.rst74
-rw-r--r--docs/relnotes/7.4.1.html86
-rw-r--r--docs/relnotes/7.4.1.rst64
-rw-r--r--docs/relnotes/7.4.2.html81
-rw-r--r--docs/relnotes/7.4.2.rst58
-rw-r--r--docs/relnotes/7.4.3.html86
-rw-r--r--docs/relnotes/7.4.3.rst63
-rw-r--r--docs/relnotes/7.4.4.html75
-rw-r--r--docs/relnotes/7.4.4.rst52
-rw-r--r--docs/relnotes/7.4.html96
-rw-r--r--docs/relnotes/7.4.rst72
-rw-r--r--docs/relnotes/7.5.1.html77
-rw-r--r--docs/relnotes/7.5.1.rst55
-rw-r--r--docs/relnotes/7.5.2.html73
-rw-r--r--docs/relnotes/7.5.2.rst50
-rw-r--r--docs/relnotes/7.5.html108
-rw-r--r--docs/relnotes/7.5.rst86
-rw-r--r--docs/relnotes/7.6.1.html86
-rw-r--r--docs/relnotes/7.6.1.rst63
-rw-r--r--docs/relnotes/7.6.html91
-rw-r--r--docs/relnotes/7.6.rst69
-rw-r--r--docs/relnotes/7.7.1.html66
-rw-r--r--docs/relnotes/7.7.1.rst43
-rw-r--r--docs/relnotes/7.7.html77
-rw-r--r--docs/relnotes/7.7.rst55
-rw-r--r--docs/relnotes/7.8.1.html70
-rw-r--r--docs/relnotes/7.8.1.rst50
-rw-r--r--docs/relnotes/7.8.2.html152
-rw-r--r--docs/relnotes/7.8.2.rst111
-rw-r--r--docs/relnotes/7.8.3.html95
-rw-r--r--docs/relnotes/7.8.3.rst73
-rw-r--r--docs/relnotes/7.8.html77
-rw-r--r--docs/relnotes/7.8.rst54
-rw-r--r--docs/relnotes/7.9.1.html411
-rw-r--r--docs/relnotes/7.9.1.rst407
-rw-r--r--docs/relnotes/7.9.2.html340
-rw-r--r--docs/relnotes/7.9.2.rst320
-rw-r--r--docs/relnotes/7.9.html144
-rw-r--r--docs/relnotes/7.9.rst178
-rw-r--r--docs/relnotes/8.0.1.html158
-rw-r--r--docs/relnotes/8.0.1.rst132
-rw-r--r--docs/relnotes/8.0.2.html164
-rw-r--r--docs/relnotes/8.0.2.rst135
-rw-r--r--docs/relnotes/8.0.3.html324
-rw-r--r--docs/relnotes/8.0.3.rst292
-rw-r--r--docs/relnotes/8.0.4.html209
-rw-r--r--docs/relnotes/8.0.4.rst182
-rw-r--r--docs/relnotes/8.0.5.html264
-rw-r--r--docs/relnotes/8.0.5.rst256
-rw-r--r--docs/relnotes/8.0.html87
-rw-r--r--docs/relnotes/8.0.rst63
-rw-r--r--docs/relnotes/9.0.1.html167
-rw-r--r--docs/relnotes/9.0.1.rst139
-rw-r--r--docs/relnotes/9.0.2.html290
-rw-r--r--docs/relnotes/9.0.2.rst259
-rw-r--r--docs/relnotes/9.0.3.html247
-rw-r--r--docs/relnotes/9.0.3.rst226
-rw-r--r--docs/relnotes/9.0.html98
-rw-r--r--docs/relnotes/9.0.rst70
-rw-r--r--docs/relnotes/9.1.1.html235
-rw-r--r--docs/relnotes/9.1.1.rst206
-rw-r--r--docs/relnotes/9.1.2.html237
-rw-r--r--docs/relnotes/9.1.2.rst212
-rw-r--r--docs/relnotes/9.1.3.html230
-rw-r--r--docs/relnotes/9.1.3.rst209
-rw-r--r--docs/relnotes/9.1.4.html321
-rw-r--r--docs/relnotes/9.1.4.rst284
-rw-r--r--docs/relnotes/9.1.5.html140
-rw-r--r--docs/relnotes/9.1.5.rst116
-rw-r--r--docs/relnotes/9.1.6.html168
-rw-r--r--docs/relnotes/9.1.6.rst146
-rw-r--r--docs/relnotes/9.1.7.html168
-rw-r--r--docs/relnotes/9.1.7.rst140
-rw-r--r--docs/relnotes/9.1.html83
-rw-r--r--docs/relnotes/9.1.rst56
-rw-r--r--docs/relnotes/9.2.1.html206
-rw-r--r--docs/relnotes/9.2.1.rst168
-rw-r--r--docs/relnotes/9.2.2.html100
-rw-r--r--docs/relnotes/9.2.2.rst76
-rw-r--r--docs/relnotes/9.2.3.html115
-rw-r--r--docs/relnotes/9.2.3.rst91
-rw-r--r--docs/relnotes/9.2.4.html102
-rw-r--r--docs/relnotes/9.2.4.rst79
-rw-r--r--docs/relnotes/9.2.5.html120
-rw-r--r--docs/relnotes/9.2.5.rst98
-rw-r--r--docs/relnotes/9.2.html226
-rw-r--r--docs/relnotes/9.2.rst221
-rw-r--r--docs/repository.html220
-rw-r--r--docs/repository.rst190
-rw-r--r--docs/shading.html251
-rw-r--r--docs/shading.rst208
-rw-r--r--docs/sourcedocs.html51
-rw-r--r--docs/sourcedocs.rst21
-rw-r--r--docs/sourcetree.html177
-rw-r--r--docs/sourcetree.rst158
-rw-r--r--docs/submittingpatches.html431
-rw-r--r--docs/submittingpatches.rst404
-rw-r--r--docs/systems.html112
-rw-r--r--docs/systems.rst71
-rw-r--r--docs/thanks.html127
-rw-r--r--docs/thanks.rst66
-rw-r--r--docs/utilities.html41
-rw-r--r--docs/utilities.rst15
-rw-r--r--docs/versions.html1660
-rw-r--r--docs/versions.rst1652
-rw-r--r--docs/viewperf.html347
-rw-r--r--docs/viewperf.rst266
-rw-r--r--docs/vmware-guest.html321
-rw-r--r--docs/vmware-guest.rst314
-rw-r--r--docs/webmaster.html32
-rw-r--r--docs/webmaster.rst8
-rw-r--r--docs/xlibdriver.html282
-rw-r--r--docs/xlibdriver.rst222
626 files changed, 69177 insertions, 77922 deletions
diff --git a/docs/application-issues.html b/docs/application-issues.html
deleted file mode 100644
index c4ac9d9b31d..00000000000
--- a/docs/application-issues.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Application Issues</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Application Issues</h1>
-
-<p>
-This page documents known issues with some OpenGL applications.
-</p>
-
-
-<h2>Topogun</h2>
-
-<p>
-<a href="http://www.topogun.com/">Topogun</a> for Linux (version 2, at least)
-creates a GLX visual without requesting a depth buffer.
-This causes bad rendering if the OpenGL driver happens to choose a visual
-without a depth buffer.
-</p>
-
-<p>
-Mesa 9.1.2 and later (will) support a DRI configuration option to work around
-this issue.
-Using the <a href="https://dri.freedesktop.org/wiki/DriConf">driconf</a> tool,
-set the "Create all visuals with a depth buffer" option before running Topogun.
-Then, all GLX visuals will be created with a depth buffer.
-</p>
-
-
-<h2>Old OpenGL games</h2>
-
-<p>
-Some old OpenGL games (approx. ten years or older) may crash during
-start-up because of an extension string buffer-overflow problem.
-</p>
-
-<p>
-The problem is a modern OpenGL driver will return a very long string
-for the <code>glGetString(GL_EXTENSIONS)</code> query and if the application
-naively copies the string into a fixed-size buffer it can overflow the
-buffer and crash the application.
-</p>
-
-<p>
-The work-around is to set the <code>MESA_EXTENSION_MAX_YEAR</code>
-environment variable to the approximate release year of the game.
-This will cause the <code>glGetString(GL_EXTENSIONS)</code> query to only report
-extensions older than the given year.
-</p>
-
-<p>
-For example, if the game was released in 2001, do
-</p>
-<pre>
-export MESA_EXTENSION_MAX_YEAR=2001
-</pre>
-<p>
-before running the game.
-</p>
-
-
-
-<h2>Viewperf</h2>
-
-<p>
-See the <a href="viewperf.html">Viewperf issues</a> page for a detailed list
-of Viewperf issues.
-</p>
-
-
-</div>
-</body>
-</html>
diff --git a/docs/application-issues.rst b/docs/application-issues.rst
new file mode 100644
index 00000000000..22e3ec8be43
--- /dev/null
+++ b/docs/application-issues.rst
@@ -0,0 +1,48 @@
+Application Issues
+==================
+
+This page documents known issues with some OpenGL applications.
+
+Topogun
+-------
+
+`Topogun <http://www.topogun.com/>`__ for Linux (version 2, at least)
+creates a GLX visual without requesting a depth buffer. This causes bad
+rendering if the OpenGL driver happens to choose a visual without a
+depth buffer.
+
+Mesa 9.1.2 and later (will) support a DRI configuration option to work
+around this issue. Using the
+`driconf <https://dri.freedesktop.org/wiki/DriConf>`__ tool, set the
+"Create all visuals with a depth buffer" option before running Topogun.
+Then, all GLX visuals will be created with a depth buffer.
+
+Old OpenGL games
+----------------
+
+Some old OpenGL games (approx. ten years or older) may crash during
+start-up because of an extension string buffer-overflow problem.
+
+The problem is a modern OpenGL driver will return a very long string for
+the ``glGetString(GL_EXTENSIONS)`` query and if the application naively
+copies the string into a fixed-size buffer it can overflow the buffer
+and crash the application.
+
+The work-around is to set the ``MESA_EXTENSION_MAX_YEAR`` environment
+variable to the approximate release year of the game. This will cause
+the ``glGetString(GL_EXTENSIONS)`` query to only report extensions older
+than the given year.
+
+For example, if the game was released in 2001, do
+
+::
+
+ export MESA_EXTENSION_MAX_YEAR=2001
+
+before running the game.
+
+Viewperf
+--------
+
+See the `Viewperf issues <viewperf.html>`__ page for a detailed list of
+Viewperf issues.
diff --git a/docs/bugs.html b/docs/bugs.html
deleted file mode 100644
index 1bad3d8590c..00000000000
--- a/docs/bugs.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Report a Bug</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Report a Bug</h1>
-
-<p>
-The Mesa bug database is hosted on
-<a href="https://freedesktop.org">freedesktop.org</a>.
-The old bug database on SourceForge is no longer used.
-</p>
-
-<p>
-To file a Mesa bug, go to
-<a href="https://gitlab.freedesktop.org/mesa/mesa/-/issues">
-GitLab on freedesktop.org</a>
-</p>
-
-<p>
-Please follow these bug reporting guidelines:
-</p>
-
-<ul>
-<li>Check if a new version of Mesa is available which might have fixed
-the problem.
-<li>Check if your bug is already reported in the database.
-<li>Monitor your bug report for requests for additional information, etc.
-<li>Attach the output of running glxinfo or wglinfo.
-This will tell us the Mesa version, which device driver you're using, etc.
-<li>If you're reporting a crash, try to use your debugger (gdb) to get a stack
-trace. Also, recompile Mesa in debug mode to get more detailed information.
-<li>Describe in detail how to reproduce the bug, especially with games
-and applications that the Mesa developers might not be familiar with.
-<li>Provide an <a href="https://github.com/apitrace/apitrace">apitrace</a>
-or simple GLUT-based test program if possible.
-</ul>
-
-<p>
-The easier a bug is to reproduce, the sooner it will be fixed.
-Please do everything you can to facilitate quickly fixing bugs.
-If your bug report is vague or your test program doesn't compile
-easily, the problem may not be fixed very quickly.
-</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/bugs.rst b/docs/bugs.rst
new file mode 100644
index 00000000000..1f09ec117ae
--- /dev/null
+++ b/docs/bugs.rst
@@ -0,0 +1,30 @@
+Report a Bug
+============
+
+The Mesa bug database is hosted on
+`freedesktop.org <https://freedesktop.org>`__. The old bug database on
+SourceForge is no longer used.
+
+To file a Mesa bug, go to `GitLab on
+freedesktop.org <https://gitlab.freedesktop.org/mesa/mesa/-/issues>`__
+
+Please follow these bug reporting guidelines:
+
+- Check if a new version of Mesa is available which might have fixed
+ the problem.
+- Check if your bug is already reported in the database.
+- Monitor your bug report for requests for additional information, etc.
+- Attach the output of running glxinfo or wglinfo. This will tell us
+ the Mesa version, which device driver you're using, etc.
+- If you're reporting a crash, try to use your debugger (gdb) to get a
+ stack trace. Also, recompile Mesa in debug mode to get more detailed
+ information.
+- Describe in detail how to reproduce the bug, especially with games
+ and applications that the Mesa developers might not be familiar with.
+- Provide an `apitrace <https://github.com/apitrace/apitrace>`__ or
+ simple GLUT-based test program if possible.
+
+The easier a bug is to reproduce, the sooner it will be fixed. Please do
+everything you can to facilitate quickly fixing bugs. If your bug report
+is vague or your test program doesn't compile easily, the problem may
+not be fixed very quickly.
diff --git a/docs/codingstyle.html b/docs/codingstyle.html
deleted file mode 100644
index 4e47769cbf3..00000000000
--- a/docs/codingstyle.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Coding Style</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Coding Style</h1>
-
-<p>
-Mesa is over 20 years old and the coding style has evolved over time.
-Some old parts use a style that's a bit out of date.
-
-Different sections of mesa can use different coding style as set in the local
-EditorConfig (.editorconfig) and/or Emacs (.dir-locals.el) file.
-
-Alternatively the following is applicable.
-
-If the guidelines below don't cover something, try following the format of
-existing, neighboring code.
-</p>
-
-<p>
-Basic formatting guidelines
-</p>
-
-<ul>
-<li>3-space indentation, no tabs.
-<li>Limit lines to 78 or fewer characters. The idea is to prevent line
-wrapping in 80-column editors and terminals. There are exceptions, such
-as if you're defining a large, static table of information.
-<li>Opening braces go on the same line as the if/for/while statement.
-For example:
-<pre>
-if (condition) {
- foo;
-} else {
- bar;
-}
-</pre>
-
-<li>Put a space before/after operators. For example, <code>a = b + c;</code>
-and not <code>a=b+c;</code>
-
-<li>This GNU indent command generally does the right thing for formatting:
-<pre>
-indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
-</pre>
-
-<li>
-<p>Use comments wherever you think it would be helpful for other developers.
-Several specific cases and style examples follow. Note that we roughly
-follow <a href="http://www.doxygen.nl">Doxygen</a> conventions.
-</p>
-Single-line comments:
-<pre>
-/* null-out pointer to prevent dangling reference below */
-bufferObj = NULL;
-</pre>
-Or,
-<pre>
-bufferObj = NULL; /* prevent dangling reference below */
-</pre>
-Multi-line comment:
-<pre>
-/* If this is a new buffer object id, or one which was generated but
- * never used before, allocate a buffer object now.
- */
-</pre>
-We try to quote the OpenGL specification where prudent:
-<pre>
-/* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
- *
- * "An INVALID_OPERATION error is generated for any of the following
- * conditions:
- *
- * * &lt;length&gt; is zero."
- *
- * Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
- * (30.10.2014) also says this, so it's no longer allowed for desktop GL,
- * either.
- */
-</pre>
-Function comment example:
-<pre>
-/**
- * Create and initialize a new buffer object. Called via the
- * ctx-&gt;Driver.CreateObject() driver callback function.
- * \param name integer name of the object
- * \param type one of GL_FOO, GL_BAR, etc.
- * \return pointer to new object or NULL if error
- */
-struct gl_object *
-_mesa_create_object(GLuint name, GLenum type)
-{
- /* function body */
-}
-</pre>
-
-<li>Put the function return type and qualifiers on one line and the function
-name and parameters on the next, as seen above. This makes it easy to use
-<code>grep ^function_name dir/*</code> to find function definitions. Also,
-the opening brace goes on the next line by itself (see above.)
-
-<li>Function names follow various conventions depending on the type of function:
-<pre>
-glFooBar() - a public GL entry point (in glapi_dispatch.c)
-_mesa_FooBar() - the internal immediate mode function
-save_FooBar() - retained mode (display list) function in dlist.c
-foo_bar() - a static (private) function
-_mesa_foo_bar() - an internal non-static Mesa function
-</pre>
-
-<li>Constants, macros and enum names are <code>ALL_UPPERCASE</code>, with _
-between words.
-<li>Mesa usually uses camel case for local variables (Ex:
-<code>localVarname</code>) while gallium typically uses underscores (Ex:
-<code>local_var_name</code>).
-<li>Global variables are almost never used because Mesa should be thread-safe.
-
-<li>Booleans. Places that are not directly visible to the GL API
-should prefer the use of <code>bool</code>, <code>true</code>, and
-<code>false</code> over <code>GLboolean</code>, <code>GL_TRUE</code>, and
-<code>GL_FALSE</code>. In C code, this may mean that
-<code>#include &lt;stdbool.h&gt;</code> needs to be added. The
-<code>try_emit_*</code> methods in <code>src/mesa/program/ir_to_mesa.cpp</code>
-and <code>src/mesa/state_tracker/st_glsl_to_tgsi.cpp</code> can serve as
-examples.
-
-</ul>
-
-</div>
-</body>
-</html>
diff --git a/docs/codingstyle.rst b/docs/codingstyle.rst
new file mode 100644
index 00000000000..eda7f9d51ba
--- /dev/null
+++ b/docs/codingstyle.rst
@@ -0,0 +1,124 @@
+Coding Style
+============
+
+Mesa is over 20 years old and the coding style has evolved over time.
+Some old parts use a style that's a bit out of date. Different sections
+of mesa can use different coding style as set in the local EditorConfig
+(.editorconfig) and/or Emacs (.dir-locals.el) file. Alternatively the
+following is applicable. If the guidelines below don't cover something,
+try following the format of existing, neighboring code.
+
+Basic formatting guidelines
+
+- 3-space indentation, no tabs.
+- Limit lines to 78 or fewer characters. The idea is to prevent line
+ wrapping in 80-column editors and terminals. There are exceptions,
+ such as if you're defining a large, static table of information.
+- Opening braces go on the same line as the if/for/while statement. For
+ example:
+
+ ::
+
+ if (condition) {
+ foo;
+ } else {
+ bar;
+ }
+
+- Put a space before/after operators. For example, ``a = b + c;`` and
+ not ``a=b+c;``
+- This GNU indent command generally does the right thing for
+ formatting:
+
+ ::
+
+ indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
+
+- Use comments wherever you think it would be helpful for other
+ developers. Several specific cases and style examples follow. Note
+ that we roughly follow `Doxygen <http://www.doxygen.nl>`__
+ conventions.
+
+ Single-line comments:
+
+ ::
+
+ /* null-out pointer to prevent dangling reference below */
+ bufferObj = NULL;
+
+ Or,
+
+ ::
+
+ bufferObj = NULL; /* prevent dangling reference below */
+
+ Multi-line comment:
+
+ ::
+
+ /* If this is a new buffer object id, or one which was generated but
+ * never used before, allocate a buffer object now.
+ */
+
+ We try to quote the OpenGL specification where prudent:
+
+ ::
+
+ /* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
+ *
+ * "An INVALID_OPERATION error is generated for any of the following
+ * conditions:
+ *
+ * * <length> is zero."
+ *
+ * Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
+ * (30.10.2014) also says this, so it's no longer allowed for desktop GL,
+ * either.
+ */
+
+ Function comment example:
+
+ ::
+
+ /**
+ * Create and initialize a new buffer object. Called via the
+ * ctx->Driver.CreateObject() driver callback function.
+ * \param name integer name of the object
+ * \param type one of GL_FOO, GL_BAR, etc.
+ * \return pointer to new object or NULL if error
+ */
+ struct gl_object *
+ _mesa_create_object(GLuint name, GLenum type)
+ {
+ /* function body */
+ }
+
+- Put the function return type and qualifiers on one line and the
+ function name and parameters on the next, as seen above. This makes
+ it easy to use ``grep ^function_name dir/*`` to find function
+ definitions. Also, the opening brace goes on the next line by itself
+ (see above.)
+- Function names follow various conventions depending on the type of
+ function:
+
+ ::
+
+ glFooBar() - a public GL entry point (in glapi_dispatch.c)
+ _mesa_FooBar() - the internal immediate mode function
+ save_FooBar() - retained mode (display list) function in dlist.c
+ foo_bar() - a static (private) function
+ _mesa_foo_bar() - an internal non-static Mesa function
+
+- Constants, macros and enum names are ``ALL_UPPERCASE``, with \_
+ between words.
+- Mesa usually uses camel case for local variables (Ex:
+ ``localVarname``) while gallium typically uses underscores (Ex:
+ ``local_var_name``).
+- Global variables are almost never used because Mesa should be
+ thread-safe.
+- Booleans. Places that are not directly visible to the GL API should
+ prefer the use of ``bool``, ``true``, and ``false`` over
+ ``GLboolean``, ``GL_TRUE``, and ``GL_FALSE``. In C code, this may
+ mean that ``#include <stdbool.h>`` needs to be added. The
+ ``try_emit_*`` methods in ``src/mesa/program/ir_to_mesa.cpp`` and
+ ``src/mesa/state_tracker/st_glsl_to_tgsi.cpp`` can serve as examples.
diff --git a/docs/conform.html b/docs/conform.html
deleted file mode 100644
index 1c3a2a489dc..00000000000
--- a/docs/conform.html
+++ /dev/null
@@ -1,703 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Conformance Testing</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Conformance Testing</h1>
-
-<p>
-The SGI OpenGL conformance tests verify correct operation of OpenGL
-implementations. I, Brian Paul, have been given a copy of the tests
-for testing Mesa. The tests are not publicly available.
-</p>
-<p>
-This file has the latest results of testing Mesa with the OpenGL 1.2
-conformance tests. Testing with the preliminary OpenGL 1.3 tests has
-also been done. Mesa passes all the 1.3 tests.
-</p>
-<p>
-The tests were run using the software X11 device driver on 24-bpp
-and 16-bpp displays.
-</p>
-<p>
-Mesa 4.0 and later pass all conformance tests at all path levels.
-Note that this says nothing about the conformance of hardware drivers
-based upon Mesa.
-</p>
-
-
-<pre>
-
-COVERAGE TESTS
---------------
-
-Test that all API functions accept the legal parameters and reject
-illegal parameters. The result of each test is either pass or fail.
-
-% covgl
-OpenGL Coverage Test.
-Version 1.2
-
-covgl passed.
-
-covgl passed at 1.1 level.
-
-covgl passed at 1.2 level.
-
-covgl passed for ARB_multitexture.
-
-
-% covglu
-OpenGL GLU Coverage Test.
-Version 1.3
-
-covglu passed.
-
-covglu passed at 1.1 level.
-
-
-% covglx
-OpenGL X Coverage Test.
-Version 1.1.1
-
-covglx passed.
-
-
-% primtest -v
-Open GL Primitives Test.
-Version 1.2
-
-[lots of output deleted]
-
-292159 Combinations.
-primtest passed.
-
-
-
-
-GL CONFORMANCE TEST
-===================
-
-Render test images, read them back, then test for expected results.
-
-
-----------------------------------------------------------------------
-% conform -v 2
-
-OpenGL Conformance Test
-Version 1.2
-
-Setup Report.
- Verbose level = 2.
- Random number seed = 1.
- Path inactive.
-
-Visual Report.
- Display ID = 35. Indirect Rendering.
- Double Buffered.
- RGBA (5, 6, 5, 0).
- Stencil (8).
- Depth (16).
- Accumulation (16, 16, 16, 16).
-
-Epsilon Report.
- zero error epsilon = 0.000122.
- RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
- Depth buffer error epsilon = 0.000137.
- Stencil plane error epsilon = 0.00404.
- Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
-
-Default State test passed.
-Must Pass test passed.
-Divide By Zero test passed.
-Viewport Clamp test passed.
-Matrix Stack test passed.
-Matrix Stack Mixing test passed.
-Vertex Order test passed.
-Transformations test passed.
-Transformation Normal test passed.
-Viewport Transformation test passed.
-Buffer Clear test passed.
-Buffer Corners test passed.
-Buffer Color test passed.
-Color Ramp test passed.
-Mask test passed.
-Buffer Invariance test passed.
-Accumulation Buffer test passed.
-Select test passed.
-Feedback test passed.
-Scissor test passed.
-Alpha Plane Function test passed.
-Stencil Plane Clear test passed.
-Stencil Plane Corners test passed.
-Stencil Plane Operation test passed.
-Stencil Plane Function test passed.
-Depth Buffer Clear test passed.
-Depth Buffer Function test passed.
-Blend test passed.
-Dither test passed.
-LogicOp Function test does not exist for an RGB visual.
-DrawPixels test passed.
-CopyPixels test passed.
-Bitmap Rasterization test passed.
-Point Rasterization test passed.
-Anti-aliased Point test passed.
-Line Rasterization test passed.
-Line Stipple test passed.
-Anti-aliased Line test passed.
-Horizontal and Vertical Line test passed.
-Triangle Rasterization test passed.
-Triangle Tile test passed.
-Triangle Stipple test passed.
-Anti-aliased Triangles test passed.
-Quad Rasterization test passed.
-Polygon Face test passed.
-Polygon Cull test passed.
-Polygon Stipple test passed.
-Polygon Edge test passed.
-Ambient Material test passed.
-Ambient Scene test passed.
-Attenuation Position test passed.
-Diffuse Light test passed.
-Diffuse Material test passed.
-Diffuse Material Normal test passed.
-Diffuse Material Positioning test passed.
-Emissive Material test passed.
-Specular Exponent test passed.
-Specular Exponent Normal test passed.
-Specular Local Eye Half Angle test passed.
-Specular Light test passed.
-Specular Material test passed.
-Specular Normal test passed.
-Spot Positioning test passed.
-Spot Exponent and Positioning test passed.
-Spot Exponent and Direction test passed.
-Fog Exponential test passed.
-Fog Linear test passed.
-Texture Decal test passed.
-Texture Border test passed.
-Mipmaps Selection test passed.
-Mipmaps Interpolation test passed.
-Display Lists test passed.
-Evaluator test passed.
-Evaluator Color test passed.
-Texture Edge Clamp test passed.
-Packed Pixels test passed.
-Texture LOD test passed.
-Rescale Normal test passed.
-Color Table test passed.
-Convolution test passed.
-Convolution Border test passed.
-Histogram test passed.
-MinMax test passed.
-MultiTexture test passed.
-
-Conform passed.
-
-----------------------------------------------------------------------
-% conform -v 2 -p 1
-
-OpenGL Conformance Test
-Version 1.2
-
-Setup Report.
- Verbose level = 2.
- Random number seed = 1.
- Path level = 1.
-
-Visual Report.
- Display ID = 35. Indirect Rendering.
- Double Buffered.
- RGBA (5, 6, 5, 0).
- Stencil (8).
- Depth (16).
- Accumulation (16, 16, 16, 16).
-
-Epsilon Report.
- zero error epsilon = 0.000122.
- RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
- Depth buffer error epsilon = 0.000137.
- Stencil plane error epsilon = 0.00404.
- Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
-
-Default State test passed.
-Must Pass test passed.
-Divide By Zero test passed.
-Viewport Clamp test passed.
-Matrix Stack test passed.
-Matrix Stack Mixing test passed.
-Vertex Order test passed.
-Transformations test passed.
-Transformation Normal test passed.
-Viewport Transformation test passed.
-Buffer Clear test passed.
-Buffer Corners test passed.
-Buffer Color test passed.
-Color Ramp test passed.
-Mask test passed.
-Buffer Invariance test passed.
-Accumulation Buffer test passed.
-Select test passed.
-Feedback test passed.
-Scissor test passed.
-Alpha Plane Function test passed.
-Stencil Plane Clear test passed.
-Stencil Plane Corners test passed.
-Stencil Plane Operation test passed.
-Stencil Plane Function test passed.
-Depth Buffer Clear test passed.
-Depth Buffer Function test passed.
-Blend test passed.
-Dither test passed.
-LogicOp Function test does not exist for an RGB visual.
-DrawPixels test passed.
-CopyPixels test passed.
-Bitmap Rasterization test passed.
-Point Rasterization test passed.
-Anti-aliased Point test passed.
-Line Rasterization test passed.
-Line Stipple test passed.
-Anti-aliased Line test passed.
-Horizontal and Vertical Line test passed.
-Triangle Rasterization test passed.
-Triangle Tile test passed.
-Triangle Stipple test passed.
-Anti-aliased Triangles test passed.
-Quad Rasterization test passed.
-Polygon Face test passed.
-Polygon Cull test passed.
-Polygon Stipple test passed.
-Polygon Edge test passed.
-Ambient Material test passed.
-Ambient Scene test passed.
-Attenuation Position test passed.
-Diffuse Light test passed.
-Diffuse Material test passed.
-Diffuse Material Normal test passed.
-Diffuse Material Positioning test passed.
-Emissive Material test passed.
-Specular Exponent test passed.
-Specular Exponent Normal test passed.
-Specular Local Eye Half Angle test passed.
-Specular Light test passed.
-Specular Material test passed.
-Specular Normal test passed.
-Spot Positioning test passed.
-Spot Exponent and Positioning test passed.
-Spot Exponent and Direction test passed.
-Fog Exponential test passed.
-Fog Linear test passed.
-Texture Decal test passed.
-Texture Border test passed.
-Mipmaps Selection test passed.
-Mipmaps Interpolation test passed.
-Display Lists test passed.
-Evaluator test passed.
-Evaluator Color test passed.
-Texture Edge Clamp test passed.
-Packed Pixels test passed.
-Texture LOD test passed.
-Rescale Normal test passed.
-Color Table test passed.
-Convolution test passed.
-Convolution Border test passed.
-Histogram test passed.
-MinMax test passed.
-MultiTexture test passed.
-
-Conform passed.
-
-----------------------------------------------------------------------
-% conform -v 2 -p 2
-
-OpenGL Conformance Test
-Version 1.2
-
-Setup Report.
- Verbose level = 2.
- Random number seed = 1.
- Path level = 2.
-
-Visual Report.
- Display ID = 35. Indirect Rendering.
- Double Buffered.
- RGBA (5, 6, 5, 0).
- Stencil (8).
- Depth (16).
- Accumulation (16, 16, 16, 16).
-
-Epsilon Report.
- zero error epsilon = 0.000122.
- RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
- Depth buffer error epsilon = 0.000137.
- Stencil plane error epsilon = 0.00404.
- Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
-
-Default State test passed.
-Must Pass test passed.
-Divide By Zero test passed.
-Viewport Clamp test passed.
-Matrix Stack test passed.
-Matrix Stack Mixing test passed.
-Vertex Order test passed.
-Transformations test passed.
-Transformation Normal test passed.
-Viewport Transformation test passed.
-Buffer Clear test passed.
-Buffer Corners test passed.
-Buffer Color test passed.
-Color Ramp test passed.
-Mask test passed.
-Buffer Invariance test passed.
-Accumulation Buffer test passed.
-Select test passed.
-Feedback test passed.
-Scissor test passed.
-Alpha Plane Function test passed.
-Stencil Plane Clear test passed.
-Stencil Plane Corners test passed.
-Stencil Plane Operation test passed.
-Stencil Plane Function test passed.
-Depth Buffer Clear test passed.
-Depth Buffer Function test passed.
-Blend test passed.
-Dither test passed.
-LogicOp Function test does not exist for an RGB visual.
-DrawPixels test passed.
-CopyPixels test passed.
-Bitmap Rasterization test passed.
-Point Rasterization test passed.
-Anti-aliased Point test passed.
-Line Rasterization test passed.
-Line Stipple test passed.
-Anti-aliased Line test passed.
-Horizontal and Vertical Line test passed.
-Triangle Rasterization test passed.
-Triangle Tile test passed.
-Triangle Stipple test passed.
-Anti-aliased Triangles test passed.
-Quad Rasterization test passed.
-Polygon Face test passed.
-Polygon Cull test passed.
-Polygon Stipple test passed.
-Polygon Edge test passed.
-Ambient Material test passed.
-Ambient Scene test passed.
-Attenuation Position test passed.
-Diffuse Light test passed.
-Diffuse Material test passed.
-Diffuse Material Normal test passed.
-Diffuse Material Positioning test passed.
-Emissive Material test passed.
-Specular Exponent test passed.
-Specular Exponent Normal test passed.
-Specular Local Eye Half Angle test passed.
-Specular Light test passed.
-Specular Material test passed.
-Specular Normal test passed.
-Spot Positioning test passed.
-Spot Exponent and Positioning test passed.
-Spot Exponent and Direction test passed.
-Fog Exponential test passed.
-Fog Linear test passed.
-Texture Decal test passed.
-Texture Border test passed.
-Mipmaps Selection test passed.
-Mipmaps Interpolation test passed.
-Display Lists test passed.
-Evaluator test passed.
-Evaluator Color test passed.
-Texture Edge Clamp test passed.
-Packed Pixels test passed.
-Texture LOD test passed.
-Rescale Normal test passed.
-Color Table test passed.
-Convolution test passed.
-Convolution Border test passed.
-Histogram test passed.
-MinMax test passed.
-MultiTexture test passed.
-
-Conform passed.
-
-----------------------------------------------------------------------
-% conform -v 2 -p 3
-
-OpenGL Conformance Test
-Version 1.2
-
-Setup Report.
- Verbose level = 2.
- Random number seed = 1.
- Path level = 3.
-
-Visual Report.
- Display ID = 35. Indirect Rendering.
- Double Buffered.
- RGBA (5, 6, 5, 0).
- Stencil (8).
- Depth (16).
- Accumulation (16, 16, 16, 16).
-
-Epsilon Report.
- zero error epsilon = 0.000122.
- RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
- Depth buffer error epsilon = 0.000137.
- Stencil plane error epsilon = 0.00404.
- Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
-
-Default State test passed.
-Must Pass test passed.
-Divide By Zero test passed.
-Viewport Clamp test passed.
-Matrix Stack test passed.
-Matrix Stack Mixing test passed.
-Vertex Order test passed.
-Transformations test passed.
-Transformation Normal test passed.
-Viewport Transformation test passed.
-Buffer Clear test passed.
-Buffer Corners test passed.
-Buffer Color test passed.
-Color Ramp test passed.
-Mask test passed.
-Buffer Invariance test passed.
-Accumulation Buffer test passed.
-Select test passed.
-Feedback test passed.
-Scissor test passed.
-Alpha Plane Function test passed.
-Stencil Plane Clear test passed.
-Stencil Plane Corners test passed.
-Stencil Plane Operation test passed.
-Stencil Plane Function test passed.
-Depth Buffer Clear test passed.
-Depth Buffer Function test passed.
-Blend test passed.
-Dither test passed.
-LogicOp Function test does not exist for an RGB visual.
-DrawPixels test passed.
-CopyPixels test passed.
-Bitmap Rasterization test passed.
-Point Rasterization test passed.
-Anti-aliased Point test passed.
-Line Rasterization test passed.
-Line Stipple test passed.
-Anti-aliased Line test passed.
-Horizontal and Vertical Line test passed.
-Triangle Rasterization test passed.
-Triangle Tile test passed.
-Triangle Stipple test passed.
-Anti-aliased Triangles test passed.
-Quad Rasterization test passed.
-Polygon Face test passed.
-Polygon Cull test passed.
-Polygon Stipple test passed.
-Polygon Edge test passed.
-Ambient Material test passed.
-Ambient Scene test passed.
-Attenuation Position test passed.
-Diffuse Light test passed.
-Diffuse Material test passed.
-Diffuse Material Normal test passed.
-Diffuse Material Positioning test passed.
-Emissive Material test passed.
-Specular Exponent test passed.
-Specular Exponent Normal test passed.
-Specular Local Eye Half Angle test passed.
-Specular Light test passed.
-Specular Material test passed.
-Specular Normal test passed.
-Spot Positioning test passed.
-Spot Exponent and Positioning test passed.
-Spot Exponent and Direction test passed.
-Fog Exponential test passed.
-Fog Linear test passed.
-Texture Decal test passed.
-Texture Border test passed.
-Mipmaps Selection test passed.
-Mipmaps Interpolation test passed.
-Display Lists test passed.
-Evaluator test passed.
-Evaluator Color test passed.
-Texture Edge Clamp test passed.
-Packed Pixels test passed.
-Texture LOD test passed.
-Rescale Normal test passed.
-Color Table test passed.
-Convolution test passed.
-Convolution Border test passed.
-Histogram test passed.
-MinMax test passed.
-MultiTexture test passed.
-
-Conform passed.
-
-----------------------------------------------------------------------
-% conform -v 2 -p 4
-
-OpenGL Conformance Test
-Version 1.2
-
-Setup Report.
- Verbose level = 2.
- Random number seed = 1.
- Path level = 4.
-
-Visual Report.
- Display ID = 35. Indirect Rendering.
- Double Buffered.
- RGBA (5, 6, 5, 0).
- Stencil (8).
- Depth (16).
- Accumulation (16, 16, 16, 16).
-
-Epsilon Report.
- zero error epsilon = 0.000122.
- RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
- Depth buffer error epsilon = 0.000137.
- Stencil plane error epsilon = 0.00404.
- Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
-
-Default State test passed.
-Must Pass test passed.
-Divide By Zero test passed.
-Viewport Clamp test passed.
-Matrix Stack test passed.
-Matrix Stack Mixing test passed.
-Vertex Order test passed.
-Transformations test passed.
-Transformation Normal test passed.
-Viewport Transformation test passed.
-Buffer Clear test passed.
-Buffer Corners test passed.
-Buffer Color test passed.
-Color Ramp test passed.
-Mask test passed.
-Buffer Invariance test passed.
-Accumulation Buffer test passed.
-Select test passed.
-Feedback test passed.
-Scissor test passed.
-Alpha Plane Function test passed.
-Stencil Plane Clear test passed.
-Stencil Plane Corners test passed.
-Stencil Plane Operation test passed.
-Stencil Plane Function test passed.
-Depth Buffer Clear test passed.
-Depth Buffer Function test passed.
-Blend test passed.
-Dither test passed.
-LogicOp Function test does not exist for an RGB visual.
-DrawPixels test passed.
-CopyPixels test passed.
-Bitmap Rasterization test passed.
-Point Rasterization test passed.
-Anti-aliased Point test passed.
-Line Rasterization test passed.
-Line Stipple test passed.
-Anti-aliased Line test passed.
-Horizontal and Vertical Line test passed.
-Triangle Rasterization test passed.
-Triangle Tile test passed.
-Triangle Stipple test passed.
-Anti-aliased Triangles test passed.
-Quad Rasterization test passed.
-Polygon Face test passed.
-Polygon Cull test passed.
-Polygon Stipple test passed.
-Polygon Edge test passed.
-Ambient Material test passed.
-Ambient Scene test passed.
-Attenuation Position test passed.
-Diffuse Light test passed.
-Diffuse Material test passed.
-Diffuse Material Normal test passed.
-Diffuse Material Positioning test passed.
-Emissive Material test passed.
-Specular Exponent test passed.
-Specular Exponent Normal test passed.
-Specular Local Eye Half Angle test passed.
-Specular Light test passed.
-Specular Material test passed.
-Specular Normal test passed.
-Spot Positioning test passed.
-Spot Exponent and Positioning test passed.
-Spot Exponent and Direction test passed.
-Fog Exponential test passed.
-Fog Linear test passed.
-Texture Decal test passed.
-Texture Border test passed.
-Mipmaps Selection test passed.
-Mipmaps Interpolation test passed.
-Display Lists test passed.
-Evaluator test passed.
-Evaluator Color test passed.
-Texture Edge Clamp test passed.
-Packed Pixels test passed.
-Texture LOD test passed.
-Rescale Normal test passed.
-Color Table test passed.
-Convolution test passed.
-Convolution Border test passed.
-Histogram test passed.
-MinMax test passed.
-MultiTexture test passed.
-
-Conform passed.
-
-
-
-GLX CONFORMANCE TEST
-====================
-
-% conformx -v 2
-
-OpenGL X Conformance Test
-Version 1.1.1
-
-Setup Report.
- Verbose level = 2.
- Random number seed = 1.
- Path inactive.
-
-Visual Report.
- Display ID = 34. Direct Rendering.
- Double Buffered.
- RGBA (8, 8, 8, 0).
- Stencil (8).
- Depth (16).
- Accumulation (16, 16, 16, 16).
-
-Epsilon Report.
- zero error epsilon = 0.000122.
- RGBA error epsilon = 0.00404, 0.00404, 0.00404, 0.000122.
- Depth buffer error epsilon = 0.000137.
- Stencil plane error epsilon = 0.00404.
- Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
-
-Default State test passed.
-glReadPixels() test passed.
-Font test passed.
-
-Conformx passed.
-
-
-</pre>
-
-NOTE: conformx passes for all machine path levels (-p option).
-
-</div>
-</body>
-</html>
diff --git a/docs/conform.rst b/docs/conform.rst
new file mode 100644
index 00000000000..219d0a496b8
--- /dev/null
+++ b/docs/conform.rst
@@ -0,0 +1,675 @@
+Conformance Testing
+===================
+
+The SGI OpenGL conformance tests verify correct operation of OpenGL
+implementations. I, Brian Paul, have been given a copy of the tests for
+testing Mesa. The tests are not publicly available.
+
+This file has the latest results of testing Mesa with the OpenGL 1.2
+conformance tests. Testing with the preliminary OpenGL 1.3 tests has
+also been done. Mesa passes all the 1.3 tests.
+
+The tests were run using the software X11 device driver on 24-bpp and
+16-bpp displays.
+
+Mesa 4.0 and later pass all conformance tests at all path levels. Note
+that this says nothing about the conformance of hardware drivers based
+upon Mesa.
+
+::
+
+ COVERAGE TESTS
+ --------------
+
+ Test that all API functions accept the legal parameters and reject
+ illegal parameters. The result of each test is either pass or fail.
+
+ % covgl
+ OpenGL Coverage Test.
+ Version 1.2
+
+ covgl passed.
+
+ covgl passed at 1.1 level.
+
+ covgl passed at 1.2 level.
+
+ covgl passed for ARB_multitexture.
+
+
+ % covglu
+ OpenGL GLU Coverage Test.
+ Version 1.3
+
+ covglu passed.
+
+ covglu passed at 1.1 level.
+
+
+ % covglx
+ OpenGL X Coverage Test.
+ Version 1.1.1
+
+ covglx passed.
+
+
+ % primtest -v
+ Open GL Primitives Test.
+ Version 1.2
+
+ [lots of output deleted]
+
+ 292159 Combinations.
+ primtest passed.
+
+
+
+
+ GL CONFORMANCE TEST
+ ===================
+
+ Render test images, read them back, then test for expected results.
+
+
+ ----------------------------------------------------------------------
+ % conform -v 2
+
+ OpenGL Conformance Test
+ Version 1.2
+
+ Setup Report.
+ Verbose level = 2.
+ Random number seed = 1.
+ Path inactive.
+
+ Visual Report.
+ Display ID = 35. Indirect Rendering.
+ Double Buffered.
+ RGBA (5, 6, 5, 0).
+ Stencil (8).
+ Depth (16).
+ Accumulation (16, 16, 16, 16).
+
+ Epsilon Report.
+ zero error epsilon = 0.000122.
+ RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
+ Depth buffer error epsilon = 0.000137.
+ Stencil plane error epsilon = 0.00404.
+ Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
+
+ Default State test passed.
+ Must Pass test passed.
+ Divide By Zero test passed.
+ Viewport Clamp test passed.
+ Matrix Stack test passed.
+ Matrix Stack Mixing test passed.
+ Vertex Order test passed.
+ Transformations test passed.
+ Transformation Normal test passed.
+ Viewport Transformation test passed.
+ Buffer Clear test passed.
+ Buffer Corners test passed.
+ Buffer Color test passed.
+ Color Ramp test passed.
+ Mask test passed.
+ Buffer Invariance test passed.
+ Accumulation Buffer test passed.
+ Select test passed.
+ Feedback test passed.
+ Scissor test passed.
+ Alpha Plane Function test passed.
+ Stencil Plane Clear test passed.
+ Stencil Plane Corners test passed.
+ Stencil Plane Operation test passed.
+ Stencil Plane Function test passed.
+ Depth Buffer Clear test passed.
+ Depth Buffer Function test passed.
+ Blend test passed.
+ Dither test passed.
+ LogicOp Function test does not exist for an RGB visual.
+ DrawPixels test passed.
+ CopyPixels test passed.
+ Bitmap Rasterization test passed.
+ Point Rasterization test passed.
+ Anti-aliased Point test passed.
+ Line Rasterization test passed.
+ Line Stipple test passed.
+ Anti-aliased Line test passed.
+ Horizontal and Vertical Line test passed.
+ Triangle Rasterization test passed.
+ Triangle Tile test passed.
+ Triangle Stipple test passed.
+ Anti-aliased Triangles test passed.
+ Quad Rasterization test passed.
+ Polygon Face test passed.
+ Polygon Cull test passed.
+ Polygon Stipple test passed.
+ Polygon Edge test passed.
+ Ambient Material test passed.
+ Ambient Scene test passed.
+ Attenuation Position test passed.
+ Diffuse Light test passed.
+ Diffuse Material test passed.
+ Diffuse Material Normal test passed.
+ Diffuse Material Positioning test passed.
+ Emissive Material test passed.
+ Specular Exponent test passed.
+ Specular Exponent Normal test passed.
+ Specular Local Eye Half Angle test passed.
+ Specular Light test passed.
+ Specular Material test passed.
+ Specular Normal test passed.
+ Spot Positioning test passed.
+ Spot Exponent and Positioning test passed.
+ Spot Exponent and Direction test passed.
+ Fog Exponential test passed.
+ Fog Linear test passed.
+ Texture Decal test passed.
+ Texture Border test passed.
+ Mipmaps Selection test passed.
+ Mipmaps Interpolation test passed.
+ Display Lists test passed.
+ Evaluator test passed.
+ Evaluator Color test passed.
+ Texture Edge Clamp test passed.
+ Packed Pixels test passed.
+ Texture LOD test passed.
+ Rescale Normal test passed.
+ Color Table test passed.
+ Convolution test passed.
+ Convolution Border test passed.
+ Histogram test passed.
+ MinMax test passed.
+ MultiTexture test passed.
+
+ Conform passed.
+
+ ----------------------------------------------------------------------
+ % conform -v 2 -p 1
+
+ OpenGL Conformance Test
+ Version 1.2
+
+ Setup Report.
+ Verbose level = 2.
+ Random number seed = 1.
+ Path level = 1.
+
+ Visual Report.
+ Display ID = 35. Indirect Rendering.
+ Double Buffered.
+ RGBA (5, 6, 5, 0).
+ Stencil (8).
+ Depth (16).
+ Accumulation (16, 16, 16, 16).
+
+ Epsilon Report.
+ zero error epsilon = 0.000122.
+ RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
+ Depth buffer error epsilon = 0.000137.
+ Stencil plane error epsilon = 0.00404.
+ Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
+
+ Default State test passed.
+ Must Pass test passed.
+ Divide By Zero test passed.
+ Viewport Clamp test passed.
+ Matrix Stack test passed.
+ Matrix Stack Mixing test passed.
+ Vertex Order test passed.
+ Transformations test passed.
+ Transformation Normal test passed.
+ Viewport Transformation test passed.
+ Buffer Clear test passed.
+ Buffer Corners test passed.
+ Buffer Color test passed.
+ Color Ramp test passed.
+ Mask test passed.
+ Buffer Invariance test passed.
+ Accumulation Buffer test passed.
+ Select test passed.
+ Feedback test passed.
+ Scissor test passed.
+ Alpha Plane Function test passed.
+ Stencil Plane Clear test passed.
+ Stencil Plane Corners test passed.
+ Stencil Plane Operation test passed.
+ Stencil Plane Function test passed.
+ Depth Buffer Clear test passed.
+ Depth Buffer Function test passed.
+ Blend test passed.
+ Dither test passed.
+ LogicOp Function test does not exist for an RGB visual.
+ DrawPixels test passed.
+ CopyPixels test passed.
+ Bitmap Rasterization test passed.
+ Point Rasterization test passed.
+ Anti-aliased Point test passed.
+ Line Rasterization test passed.
+ Line Stipple test passed.
+ Anti-aliased Line test passed.
+ Horizontal and Vertical Line test passed.
+ Triangle Rasterization test passed.
+ Triangle Tile test passed.
+ Triangle Stipple test passed.
+ Anti-aliased Triangles test passed.
+ Quad Rasterization test passed.
+ Polygon Face test passed.
+ Polygon Cull test passed.
+ Polygon Stipple test passed.
+ Polygon Edge test passed.
+ Ambient Material test passed.
+ Ambient Scene test passed.
+ Attenuation Position test passed.
+ Diffuse Light test passed.
+ Diffuse Material test passed.
+ Diffuse Material Normal test passed.
+ Diffuse Material Positioning test passed.
+ Emissive Material test passed.
+ Specular Exponent test passed.
+ Specular Exponent Normal test passed.
+ Specular Local Eye Half Angle test passed.
+ Specular Light test passed.
+ Specular Material test passed.
+ Specular Normal test passed.
+ Spot Positioning test passed.
+ Spot Exponent and Positioning test passed.
+ Spot Exponent and Direction test passed.
+ Fog Exponential test passed.
+ Fog Linear test passed.
+ Texture Decal test passed.
+ Texture Border test passed.
+ Mipmaps Selection test passed.
+ Mipmaps Interpolation test passed.
+ Display Lists test passed.
+ Evaluator test passed.
+ Evaluator Color test passed.
+ Texture Edge Clamp test passed.
+ Packed Pixels test passed.
+ Texture LOD test passed.
+ Rescale Normal test passed.
+ Color Table test passed.
+ Convolution test passed.
+ Convolution Border test passed.
+ Histogram test passed.
+ MinMax test passed.
+ MultiTexture test passed.
+
+ Conform passed.
+
+ ----------------------------------------------------------------------
+ % conform -v 2 -p 2
+
+ OpenGL Conformance Test
+ Version 1.2
+
+ Setup Report.
+ Verbose level = 2.
+ Random number seed = 1.
+ Path level = 2.
+
+ Visual Report.
+ Display ID = 35. Indirect Rendering.
+ Double Buffered.
+ RGBA (5, 6, 5, 0).
+ Stencil (8).
+ Depth (16).
+ Accumulation (16, 16, 16, 16).
+
+ Epsilon Report.
+ zero error epsilon = 0.000122.
+ RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
+ Depth buffer error epsilon = 0.000137.
+ Stencil plane error epsilon = 0.00404.
+ Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
+
+ Default State test passed.
+ Must Pass test passed.
+ Divide By Zero test passed.
+ Viewport Clamp test passed.
+ Matrix Stack test passed.
+ Matrix Stack Mixing test passed.
+ Vertex Order test passed.
+ Transformations test passed.
+ Transformation Normal test passed.
+ Viewport Transformation test passed.
+ Buffer Clear test passed.
+ Buffer Corners test passed.
+ Buffer Color test passed.
+ Color Ramp test passed.
+ Mask test passed.
+ Buffer Invariance test passed.
+ Accumulation Buffer test passed.
+ Select test passed.
+ Feedback test passed.
+ Scissor test passed.
+ Alpha Plane Function test passed.
+ Stencil Plane Clear test passed.
+ Stencil Plane Corners test passed.
+ Stencil Plane Operation test passed.
+ Stencil Plane Function test passed.
+ Depth Buffer Clear test passed.
+ Depth Buffer Function test passed.
+ Blend test passed.
+ Dither test passed.
+ LogicOp Function test does not exist for an RGB visual.
+ DrawPixels test passed.
+ CopyPixels test passed.
+ Bitmap Rasterization test passed.
+ Point Rasterization test passed.
+ Anti-aliased Point test passed.
+ Line Rasterization test passed.
+ Line Stipple test passed.
+ Anti-aliased Line test passed.
+ Horizontal and Vertical Line test passed.
+ Triangle Rasterization test passed.
+ Triangle Tile test passed.
+ Triangle Stipple test passed.
+ Anti-aliased Triangles test passed.
+ Quad Rasterization test passed.
+ Polygon Face test passed.
+ Polygon Cull test passed.
+ Polygon Stipple test passed.
+ Polygon Edge test passed.
+ Ambient Material test passed.
+ Ambient Scene test passed.
+ Attenuation Position test passed.
+ Diffuse Light test passed.
+ Diffuse Material test passed.
+ Diffuse Material Normal test passed.
+ Diffuse Material Positioning test passed.
+ Emissive Material test passed.
+ Specular Exponent test passed.
+ Specular Exponent Normal test passed.
+ Specular Local Eye Half Angle test passed.
+ Specular Light test passed.
+ Specular Material test passed.
+ Specular Normal test passed.
+ Spot Positioning test passed.
+ Spot Exponent and Positioning test passed.
+ Spot Exponent and Direction test passed.
+ Fog Exponential test passed.
+ Fog Linear test passed.
+ Texture Decal test passed.
+ Texture Border test passed.
+ Mipmaps Selection test passed.
+ Mipmaps Interpolation test passed.
+ Display Lists test passed.
+ Evaluator test passed.
+ Evaluator Color test passed.
+ Texture Edge Clamp test passed.
+ Packed Pixels test passed.
+ Texture LOD test passed.
+ Rescale Normal test passed.
+ Color Table test passed.
+ Convolution test passed.
+ Convolution Border test passed.
+ Histogram test passed.
+ MinMax test passed.
+ MultiTexture test passed.
+
+ Conform passed.
+
+ ----------------------------------------------------------------------
+ % conform -v 2 -p 3
+
+ OpenGL Conformance Test
+ Version 1.2
+
+ Setup Report.
+ Verbose level = 2.
+ Random number seed = 1.
+ Path level = 3.
+
+ Visual Report.
+ Display ID = 35. Indirect Rendering.
+ Double Buffered.
+ RGBA (5, 6, 5, 0).
+ Stencil (8).
+ Depth (16).
+ Accumulation (16, 16, 16, 16).
+
+ Epsilon Report.
+ zero error epsilon = 0.000122.
+ RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
+ Depth buffer error epsilon = 0.000137.
+ Stencil plane error epsilon = 0.00404.
+ Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
+
+ Default State test passed.
+ Must Pass test passed.
+ Divide By Zero test passed.
+ Viewport Clamp test passed.
+ Matrix Stack test passed.
+ Matrix Stack Mixing test passed.
+ Vertex Order test passed.
+ Transformations test passed.
+ Transformation Normal test passed.
+ Viewport Transformation test passed.
+ Buffer Clear test passed.
+ Buffer Corners test passed.
+ Buffer Color test passed.
+ Color Ramp test passed.
+ Mask test passed.
+ Buffer Invariance test passed.
+ Accumulation Buffer test passed.
+ Select test passed.
+ Feedback test passed.
+ Scissor test passed.
+ Alpha Plane Function test passed.
+ Stencil Plane Clear test passed.
+ Stencil Plane Corners test passed.
+ Stencil Plane Operation test passed.
+ Stencil Plane Function test passed.
+ Depth Buffer Clear test passed.
+ Depth Buffer Function test passed.
+ Blend test passed.
+ Dither test passed.
+ LogicOp Function test does not exist for an RGB visual.
+ DrawPixels test passed.
+ CopyPixels test passed.
+ Bitmap Rasterization test passed.
+ Point Rasterization test passed.
+ Anti-aliased Point test passed.
+ Line Rasterization test passed.
+ Line Stipple test passed.
+ Anti-aliased Line test passed.
+ Horizontal and Vertical Line test passed.
+ Triangle Rasterization test passed.
+ Triangle Tile test passed.
+ Triangle Stipple test passed.
+ Anti-aliased Triangles test passed.
+ Quad Rasterization test passed.
+ Polygon Face test passed.
+ Polygon Cull test passed.
+ Polygon Stipple test passed.
+ Polygon Edge test passed.
+ Ambient Material test passed.
+ Ambient Scene test passed.
+ Attenuation Position test passed.
+ Diffuse Light test passed.
+ Diffuse Material test passed.
+ Diffuse Material Normal test passed.
+ Diffuse Material Positioning test passed.
+ Emissive Material test passed.
+ Specular Exponent test passed.
+ Specular Exponent Normal test passed.
+ Specular Local Eye Half Angle test passed.
+ Specular Light test passed.
+ Specular Material test passed.
+ Specular Normal test passed.
+ Spot Positioning test passed.
+ Spot Exponent and Positioning test passed.
+ Spot Exponent and Direction test passed.
+ Fog Exponential test passed.
+ Fog Linear test passed.
+ Texture Decal test passed.
+ Texture Border test passed.
+ Mipmaps Selection test passed.
+ Mipmaps Interpolation test passed.
+ Display Lists test passed.
+ Evaluator test passed.
+ Evaluator Color test passed.
+ Texture Edge Clamp test passed.
+ Packed Pixels test passed.
+ Texture LOD test passed.
+ Rescale Normal test passed.
+ Color Table test passed.
+ Convolution test passed.
+ Convolution Border test passed.
+ Histogram test passed.
+ MinMax test passed.
+ MultiTexture test passed.
+
+ Conform passed.
+
+ ----------------------------------------------------------------------
+ % conform -v 2 -p 4
+
+ OpenGL Conformance Test
+ Version 1.2
+
+ Setup Report.
+ Verbose level = 2.
+ Random number seed = 1.
+ Path level = 4.
+
+ Visual Report.
+ Display ID = 35. Indirect Rendering.
+ Double Buffered.
+ RGBA (5, 6, 5, 0).
+ Stencil (8).
+ Depth (16).
+ Accumulation (16, 16, 16, 16).
+
+ Epsilon Report.
+ zero error epsilon = 0.000122.
+ RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
+ Depth buffer error epsilon = 0.000137.
+ Stencil plane error epsilon = 0.00404.
+ Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
+
+ Default State test passed.
+ Must Pass test passed.
+ Divide By Zero test passed.
+ Viewport Clamp test passed.
+ Matrix Stack test passed.
+ Matrix Stack Mixing test passed.
+ Vertex Order test passed.
+ Transformations test passed.
+ Transformation Normal test passed.
+ Viewport Transformation test passed.
+ Buffer Clear test passed.
+ Buffer Corners test passed.
+ Buffer Color test passed.
+ Color Ramp test passed.
+ Mask test passed.
+ Buffer Invariance test passed.
+ Accumulation Buffer test passed.
+ Select test passed.
+ Feedback test passed.
+ Scissor test passed.
+ Alpha Plane Function test passed.
+ Stencil Plane Clear test passed.
+ Stencil Plane Corners test passed.
+ Stencil Plane Operation test passed.
+ Stencil Plane Function test passed.
+ Depth Buffer Clear test passed.
+ Depth Buffer Function test passed.
+ Blend test passed.
+ Dither test passed.
+ LogicOp Function test does not exist for an RGB visual.
+ DrawPixels test passed.
+ CopyPixels test passed.
+ Bitmap Rasterization test passed.
+ Point Rasterization test passed.
+ Anti-aliased Point test passed.
+ Line Rasterization test passed.
+ Line Stipple test passed.
+ Anti-aliased Line test passed.
+ Horizontal and Vertical Line test passed.
+ Triangle Rasterization test passed.
+ Triangle Tile test passed.
+ Triangle Stipple test passed.
+ Anti-aliased Triangles test passed.
+ Quad Rasterization test passed.
+ Polygon Face test passed.
+ Polygon Cull test passed.
+ Polygon Stipple test passed.
+ Polygon Edge test passed.
+ Ambient Material test passed.
+ Ambient Scene test passed.
+ Attenuation Position test passed.
+ Diffuse Light test passed.
+ Diffuse Material test passed.
+ Diffuse Material Normal test passed.
+ Diffuse Material Positioning test passed.
+ Emissive Material test passed.
+ Specular Exponent test passed.
+ Specular Exponent Normal test passed.
+ Specular Local Eye Half Angle test passed.
+ Specular Light test passed.
+ Specular Material test passed.
+ Specular Normal test passed.
+ Spot Positioning test passed.
+ Spot Exponent and Positioning test passed.
+ Spot Exponent and Direction test passed.
+ Fog Exponential test passed.
+ Fog Linear test passed.
+ Texture Decal test passed.
+ Texture Border test passed.
+ Mipmaps Selection test passed.
+ Mipmaps Interpolation test passed.
+ Display Lists test passed.
+ Evaluator test passed.
+ Evaluator Color test passed.
+ Texture Edge Clamp test passed.
+ Packed Pixels test passed.
+ Texture LOD test passed.
+ Rescale Normal test passed.
+ Color Table test passed.
+ Convolution test passed.
+ Convolution Border test passed.
+ Histogram test passed.
+ MinMax test passed.
+ MultiTexture test passed.
+
+ Conform passed.
+
+
+
+ GLX CONFORMANCE TEST
+ ====================
+
+ % conformx -v 2
+
+ OpenGL X Conformance Test
+ Version 1.1.1
+
+ Setup Report.
+ Verbose level = 2.
+ Random number seed = 1.
+ Path inactive.
+
+ Visual Report.
+ Display ID = 34. Direct Rendering.
+ Double Buffered.
+ RGBA (8, 8, 8, 0).
+ Stencil (8).
+ Depth (16).
+ Accumulation (16, 16, 16, 16).
+
+ Epsilon Report.
+ zero error epsilon = 0.000122.
+ RGBA error epsilon = 0.00404, 0.00404, 0.00404, 0.000122.
+ Depth buffer error epsilon = 0.000137.
+ Stencil plane error epsilon = 0.00404.
+ Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
+
+ Default State test passed.
+ glReadPixels() test passed.
+ Font test passed.
+
+ Conformx passed.
+
+NOTE: conformx passes for all machine path levels (-p option).
diff --git a/docs/contents.html b/docs/contents.html
deleted file mode 100644
index 10499931928..00000000000
--- a/docs/contents.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Contents</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-
- <!--Override a few values from the style sheet: -->
- <style type="text/css">
- <!--
- body {
- background-color: #cccccc;
- color: black;
- }
- h2 {
- font-size: inherit;
- font-weight: bold;
- }
- a:link {
- color: #000;
- }
- a:visited {
- color: #000;
- }
- -->
- </style>
-</head>
-<body>
-
-<h2>Documentation</h2>
-<ul>
-<li><a href="intro.html" target="_parent">Introduction</a>
-<li><a href="index.html" target="_parent">News</a>
-<li><a href="developers.html" target="_parent">Developers</a>
-<li><a href="systems.html" target="_parent">Platforms and Drivers</a>
-<li><a href="license.html" target="_parent">License and Copyright</a>
-<li><a href="faq.html" target="_parent">Frequently Asked Questions</a>
-<li><a href="relnotes.html" target="_parent">Release Notes</a>
-<li><a href="thanks.html" target="_parent">Acknowledgements</a>
-<li><a href="conform.html" target="_parent">Conformance Testing</a>
-</ul>
-
-<h2>Download and Install</h2>
-<ul>
-<li><a href="download.html" target="_parent">Downloading and Unpacking</a>
-<li><a href="install.html" target="_parent">Compiling and Installing</a>
- <ul>
- <li><a href="meson.html" target="_parent">Meson</a></li>
- </ul>
-</li>
-<li><a href="precompiled.html" target="_parent">Precompiled Libraries</a>
-</ul>
-
-<h2>Need help?</h2>
-<ul>
-<li><a href="lists.html" target="_parent">Mailing Lists</a>
-<li><a href="bugs.html" target="_parent">Report a bug</a>
-<li><a href="webmaster.html" target="_parent">Webmaster</a>
-<li><a href="https://dri.freedesktop.org/" target="_parent">Mesa/DRI Wiki</a>
-</ul>
-
-<h2>User Topics</h2>
-<ul>
-<li><a href="shading.html" target="_parent">Shading Language</a>
-<li><a href="egl.html" target="_parent">EGL</a>
-<li><a href="opengles.html" target="_parent">OpenGL ES</a>
-<li><a href="envvars.html" target="_parent">Environment Variables</a>
-<li><a href="osmesa.html" target="_parent">Off-screen Rendering</a>
-<li><a href="debugging.html" target="_parent">Debugging Tips</a>
-<li><a href="perf.html" target="_parent">Performance Tips</a>
-<li><a href="extensions.html" target="_parent">Mesa Extensions</a>
-<li><a href="llvmpipe.html" target="_parent">Gallium LLVMpipe Driver</a>
-<li><a href="vmware-guest.html" target="_parent">VMware SVGA3D Guest Driver</a>
-<li><a href="postprocess.html" target="_parent">Gallium Post-processing</a>
-<li><a href="application-issues.html" target="_parent">Application Issues</a>
-<li><a href="viewperf.html" target="_parent">Viewperf Issues</a>
-</ul>
-
-<h2>Developer Topics</h2>
-<ul>
-<li><a href="repository.html" target="_parent">Source Code Repository</a>
-<li><a href="sourcetree.html" target="_parent">Source Code Tree</a>
-<li><a href="utilities.html" target="_parent">Utilities</a>
-<li><a href="helpwanted.html" target="_parent">Help Wanted</a>
-<li><a href="devinfo.html" target="_parent">Development Notes</a>
-<li><a href="codingstyle.html" target="_parent">Coding Style</a>
-<li><a href="submittingpatches.html" target="_parent">Submitting Patches</a>
-<li><a href="releasing.html" target="_parent">Releasing Process</a>
-<li><a href="release-calendar.html" target="_parent">Release Calendar</a>
-<li><a href="sourcedocs.html" target="_parent">Source Documentation</a>
-<li><a href="dispatch.html" target="_parent">GL Dispatch</a>
-</ul>
-
-<h2>Links</h2>
-<ul>
-<li><a href="https://www.opengl.org" target="_parent">OpenGL Website</a>
-<li><a href="https://dri.freedesktop.org" target="_parent">DRI Website</a>
-<li><a href="https://www.freedesktop.org" target="_parent">freedesktop.org</a>
-<li><a href="https://planet.freedesktop.org" target="_parent">Developer Blogs</a>
-</ul>
-
-<h2>Hosted by:</h2>
-<dl>
-<dd><a href="https://www.freedesktop.org" target="_parent">freedesktop.org</a>
-</dl>
-
-</body>
-</html>
diff --git a/docs/contents.rst b/docs/contents.rst
new file mode 100644
index 00000000000..6db72c43a72
--- /dev/null
+++ b/docs/contents.rst
@@ -0,0 +1,86 @@
+.. toctree::
+ :maxdepth: 1
+ :caption: Documentation
+ :hidden:
+
+ intro
+ self
+ developers
+ systems
+ license
+ faq
+ relnotes
+ thanks
+ conform
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Download and Install
+ :hidden:
+
+ download
+ install
+ precompiled
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Need help?
+ :hidden:
+
+ lists
+ bugs
+ webmaster
+ Mesa/DRI Wiki <https://dri.freedesktop.org/>
+
+.. toctree::
+ :maxdepth: 1
+ :caption: User Topics
+ :hidden:
+
+ shading
+ egl
+ opengles
+ envvars
+ osmesa
+ debugging
+ perf
+ extensions
+ llvmpipe
+ vmware-guest
+ postprocess
+ application-issues
+ viewperf
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Developer Topics
+ :hidden:
+
+ repository
+ sourcetree
+ utilities
+ helpwanted
+ devinfo
+ codingstyle
+ submittingpatches
+ releasing
+ release-calendar
+ sourcedocs
+ dispatch
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Links
+ :hidden:
+
+ OpenGL Website <https://www.opengl.org>
+ DRI Website <https://dri.freedesktop.org>
+ freedesktop.org <https://www.freedesktop.org>
+ Developer Blogs <https://planet.freedesktop.org>
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Hosted by:
+ :hidden:
+
+ freedesktop.org <https://planet.freedesktop.org>
diff --git a/docs/debugging.html b/docs/debugging.html
deleted file mode 100644
index c6f69fe162d..00000000000
--- a/docs/debugging.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Debugging Tips</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Debugging Tips</h1>
-
-<p>
- Normally Mesa (and OpenGL) records but does not notify the user of
- errors. It is up to the application to call
- <code>glGetError</code> to check for errors. Mesa supports an
- environment variable, <code>MESA_DEBUG</code>, to help with debugging. If
- <code>MESA_DEBUG</code> is defined, a message will be printed to stdout
- whenever an error occurs.
-</p>
-
-<p>
- More extensive error checking is done in DEBUG builds
- (<code>--buildtype debug</code> for meson, <code>build=debug</code> for scons).
-</p>
-<p>
- In your debugger you can set a breakpoint in <code>_mesa_error()</code> to trap
- Mesa errors.
-</p>
-<p>
- There is a display list printing/debugging facility. See the end of
- <code>src/dlist.c</code> for details.
-</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/debugging.rst b/docs/debugging.rst
new file mode 100644
index 00000000000..1e90c52a9cf
--- /dev/null
+++ b/docs/debugging.rst
@@ -0,0 +1,17 @@
+Debugging Tips
+==============
+
+Normally Mesa (and OpenGL) records but does not notify the user of
+errors. It is up to the application to call ``glGetError`` to check for
+errors. Mesa supports an environment variable, ``MESA_DEBUG``, to help
+with debugging. If ``MESA_DEBUG`` is defined, a message will be printed
+to stdout whenever an error occurs.
+
+More extensive error checking is done in DEBUG builds
+(``--buildtype debug`` for meson, ``build=debug`` for scons).
+
+In your debugger you can set a breakpoint in ``_mesa_error()`` to trap
+Mesa errors.
+
+There is a display list printing/debugging facility. See the end of
+``src/dlist.c`` for details.
diff --git a/docs/developers.html b/docs/developers.html
deleted file mode 100644
index 52cec2e3ba2..00000000000
--- a/docs/developers.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Developers</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Developers</h1>
-
-<p>
-Both professional and volunteer developers contribute to Mesa.
-</p>
-<p>
-<a href="https://www.vmware.com/">VMware</a>
-employs several of the main Mesa developers including Brian Paul
-and Keith Whitwell.
-</p>
-
-<p>
-In the past, Tungsten Graphics contracts implemented many Mesa features
-including:
-</p>
-<ul>
-<li>DRI drivers for Intel i965, i945, i915 and other chips
-<li>Advanced memory manager and framebuffer object support
-<li>Shading language compiler and OpenGL 2.0 support
-<li>MiniGLX environment
-</ul>
-
-<p>
-Other companies including
-<a href="https://01.org/linuxgraphics">Intel</a>
-and RedHat also actively contribute to the project.
-Intel has recently contributed the new GLSL compiler in Mesa 7.9.
-</p>
-
-<p>
-<a href="https://www.lunarg.com/">LunarG</a> can be contacted
-for custom Mesa / 3D graphics development.
-</p>
-
-<p>
-Volunteers have made significant contributions to all parts of Mesa, including
-complete device drivers.
-</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/developers.rst b/docs/developers.rst
new file mode 100644
index 00000000000..2cf68dfa21d
--- /dev/null
+++ b/docs/developers.rst
@@ -0,0 +1,25 @@
+Developers
+==========
+
+Both professional and volunteer developers contribute to Mesa.
+
+`VMware <https://www.vmware.com/>`__ employs several of the main Mesa
+developers including Brian Paul and Keith Whitwell.
+
+In the past, Tungsten Graphics contracts implemented many Mesa features
+including:
+
+- DRI drivers for Intel i965, i945, i915 and other chips
+- Advanced memory manager and framebuffer object support
+- Shading language compiler and OpenGL 2.0 support
+- MiniGLX environment
+
+Other companies including `Intel <https://01.org/linuxgraphics>`__ and
+RedHat also actively contribute to the project. Intel has recently
+contributed the new GLSL compiler in Mesa 7.9.
+
+`LunarG <https://www.lunarg.com/>`__ can be contacted for custom Mesa /
+3D graphics development.
+
+Volunteers have made significant contributions to all parts of Mesa,
+including complete device drivers.
diff --git a/docs/devinfo.html b/docs/devinfo.html
deleted file mode 100644
index e1f290a6fa1..00000000000
--- a/docs/devinfo.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Development Notes</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Development Notes</h1>
-
-
-<ul>
-<li><a href="#extensions">Adding Extensions</a>
-</ul>
-
-<h2 id="extensions">Adding Extensions</h2>
-
-<p>
-To add a new GL extension to Mesa you have to do at least the following.
-</p>
-
-<ul>
-<li>
- If <code>glext.h</code> doesn't define the extension, edit
- <code>include/GL/gl.h</code> and add code like this:
- <pre>
- #ifndef GL_EXT_the_extension_name
- #define GL_EXT_the_extension_name 1
- /* declare the new enum tokens */
- /* prototype the new functions */
- /* TYPEDEFS for the new functions */
- #endif
- </pre>
-</li>
-<li>
- In the <code>src/mapi/glapi/gen/</code> directory, add the new extension
- functions and enums to the <code>gl_API.xml</code> file.
- Then, a bunch of source files must be regenerated by executing the
- corresponding Python scripts.
-</li>
-<li>
- Add a new entry to the <code>gl_extensions</code> struct in
- <code>mtypes.h</code> if the extension requires driver capabilities not
- already exposed by another extension.
-</li>
-<li>
- Add a new entry to the <code>src/mesa/main/extensions_table.h</code> file.
-</li>
-<li>
- From this point, the best way to proceed is to find another extension,
- similar to the new one, that's already implemented in Mesa and use it
- as an example.
-</li>
-<li>
- If the new extension adds new GL state, the functions in
- <code>get.c</code>, <code>enable.c</code> and <code>attrib.c</code>
- will most likely require new code.
-</li>
-<li>
- To determine if the new extension is active in the current context,
- use the auto-generated <code>_mesa_has_##name_str()</code> function
- defined in <code>src/mesa/main/extensions.h</code>.
-</li>
-<li>
- The dispatch tests <code>check_table.cpp</code> and
- <code>dispatch_sanity.cpp</code> should be updated with details about
- the new extensions functions. These tests are run using
- <code>meson test</code>.
-</li>
-</ul>
-
-</div>
-</body>
-</html>
diff --git a/docs/devinfo.rst b/docs/devinfo.rst
new file mode 100644
index 00000000000..4e06bbf7e79
--- /dev/null
+++ b/docs/devinfo.rst
@@ -0,0 +1,44 @@
+Development Notes
+=================
+
+- `Adding Extensions <#extensions>`__
+
+.. _extensions:
+
+Adding Extensions
+-----------------
+
+To add a new GL extension to Mesa you have to do at least the following.
+
+- If ``glext.h`` doesn't define the extension, edit ``include/GL/gl.h``
+ and add code like this:
+
+ ::
+
+ #ifndef GL_EXT_the_extension_name
+ #define GL_EXT_the_extension_name 1
+ /* declare the new enum tokens */
+ /* prototype the new functions */
+ /* TYPEDEFS for the new functions */
+ #endif
+
+
+- In the ``src/mapi/glapi/gen/`` directory, add the new extension
+ functions and enums to the ``gl_API.xml`` file. Then, a bunch of
+ source files must be regenerated by executing the corresponding
+ Python scripts.
+- Add a new entry to the ``gl_extensions`` struct in ``mtypes.h`` if
+ the extension requires driver capabilities not already exposed by
+ another extension.
+- Add a new entry to the ``src/mesa/main/extensions_table.h`` file.
+- From this point, the best way to proceed is to find another
+ extension, similar to the new one, that's already implemented in Mesa
+ and use it as an example.
+- If the new extension adds new GL state, the functions in ``get.c``,
+ ``enable.c`` and ``attrib.c`` will most likely require new code.
+- To determine if the new extension is active in the current context,
+ use the auto-generated ``_mesa_has_##name_str()`` function defined in
+ ``src/mesa/main/extensions.h``.
+- The dispatch tests ``check_table.cpp`` and ``dispatch_sanity.cpp``
+ should be updated with details about the new extensions functions.
+ These tests are run using ``meson test``.
diff --git a/docs/dispatch.html b/docs/dispatch.html
deleted file mode 100644
index 34ab44dd915..00000000000
--- a/docs/dispatch.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>GL Dispatch</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>GL Dispatch</h1>
-
-<p>Several factors combine to make efficient dispatch of OpenGL functions
-fairly complicated. This document attempts to explain some of the issues
-and introduce the reader to Mesa's implementation. Readers already familiar
-with the issues around GL dispatch can safely skip ahead to the <a
-href="#overview">overview of Mesa's implementation</a>.</p>
-
-<h2>1. Complexity of GL Dispatch</h2>
-
-<p>Every GL application has at least one object called a GL <em>context</em>.
-This object, which is an implicit parameter to every GL function, stores all
-of the GL related state for the application. Every texture, every buffer
-object, every enable, and much, much more is stored in the context. Since
-an application can have more than one context, the context to be used is
-selected by a window-system dependent function such as
-<code>glXMakeContextCurrent</code>.</p>
-
-<p>In environments that implement OpenGL with X-Windows using GLX, every GL
-function, including the pointers returned by <code>glXGetProcAddress</code>, are
-<em>context independent</em>. This means that no matter what context is
-currently active, the same <code>glVertex3fv</code> function is used.</p>
-
-<p>This creates the first bit of dispatch complexity. An application can
-have two GL contexts. One context is a direct rendering context where
-function calls are routed directly to a driver loaded within the
-application's address space. The other context is an indirect rendering
-context where function calls are converted to GLX protocol and sent to a
-server. The same <code>glVertex3fv</code> has to do the right thing depending
-on which context is current.</p>
-
-<p>Highly optimized drivers or GLX protocol implementations may want to
-change the behavior of GL functions depending on current state. For
-example, <code>glFogCoordf</code> may operate differently depending on whether
-or not fog is enabled.</p>
-
-<p>In multi-threaded environments, it is possible for each thread to have a
-different GL context current. This means that poor old <code>glVertex3fv</code>
-has to know which GL context is current in the thread where it is being
-called.</p>
-
-<h2 id="overview">2. Overview of Mesa's Implementation</h2>
-
-<p>Mesa uses two per-thread pointers. The first pointer stores the address
-of the context current in the thread, and the second pointer stores the
-address of the <em>dispatch table</em> associated with that context. The
-dispatch table stores pointers to functions that actually implement
-specific GL functions. Each time a new context is made current in a thread,
-these pointers a updated.</p>
-
-<p>The implementation of functions such as <code>glVertex3fv</code> becomes
-conceptually simple:</p>
-
-<ul>
-<li>Fetch the current dispatch table pointer.</li>
-<li>Fetch the pointer to the real <code>glVertex3fv</code> function from the
-table.</li>
-<li>Call the real function.</li>
-</ul>
-
-<p>This can be implemented in just a few lines of C code. The file
-<code>src/mesa/glapi/glapitemp.h</code> contains code very similar to this.</p>
-
-<figure>
-<pre>
-void glVertex3f(GLfloat x, GLfloat y, GLfloat z)
-{
- const struct _glapi_table * const dispatch = GET_DISPATCH();
-
- (*dispatch-&gt;Vertex3f)(x, y, z);
-}
-</pre>
-<figcaption>Sample dispatch function</figcaption>
-</figure>
-
-<p>The problem with this simple implementation is the large amount of
-overhead that it adds to every GL function call.</p>
-
-<p>In a multithreaded environment, a naive implementation of
-<code>GET_DISPATCH</code> involves a call to <code>pthread_getspecific</code> or a
-similar function. Mesa provides a wrapper function called
-<code>_glapi_get_dispatch</code> that is used by default.</p>
-
-<h2>3. Optimizations</h2>
-
-<p>A number of optimizations have been made over the years to diminish the
-performance hit imposed by GL dispatch. This section describes these
-optimizations. The benefits of each optimization and the situations where
-each can or cannot be used are listed.</p>
-
-<h3>3.1. Dual dispatch table pointers</h3>
-
-<p>The vast majority of OpenGL applications use the API in a single threaded
-manner. That is, the application has only one thread that makes calls into
-the GL. In these cases, not only do the calls to
-<code>pthread_getspecific</code> hurt performance, but they are completely
-unnecessary! It is possible to detect this common case and avoid these
-calls.</p>
-
-<p>Each time a new dispatch table is set, Mesa examines and records the ID
-of the executing thread. If the same thread ID is always seen, Mesa knows
-that the application is, from OpenGL's point of view, single threaded.</p>
-
-<p>As long as an application is single threaded, Mesa stores a pointer to
-the dispatch table in a global variable called <code>_glapi_Dispatch</code>.
-The pointer is also stored in a per-thread location via
-<code>pthread_setspecific</code>. When Mesa detects that an application has
-become multithreaded, <code>NULL</code> is stored in <code>_glapi_Dispatch</code>.</p>
-
-<p>Using this simple mechanism the dispatch functions can detect the
-multithreaded case by comparing <code>_glapi_Dispatch</code> to <code>NULL</code>.
-The resulting implementation of <code>GET_DISPATCH</code> is slightly more
-complex, but it avoids the expensive <code>pthread_getspecific</code> call in
-the common case.</p>
-
-<figure>
-<pre>
-#define GET_DISPATCH() \
- (_glapi_Dispatch != NULL) \
- ? _glapi_Dispatch : pthread_getspecific(&amp;_glapi_Dispatch_key)
-</pre>
-<figcaption>Improved <code>GET_DISPATCH</code> Implementation</figcaption>
-</figure>
-
-<h3>3.2. ELF TLS</h3>
-
-<p>Starting with the 2.4.20 Linux kernel, each thread is allocated an area
-of per-thread, global storage. Variables can be put in this area using some
-extensions to GCC. By storing the dispatch table pointer in this area, the
-expensive call to <code>pthread_getspecific</code> and the test of
-<code>_glapi_Dispatch</code> can be avoided.</p>
-
-<p>The dispatch table pointer is stored in a new variable called
-<code>_glapi_tls_Dispatch</code>. A new variable name is used so that a single
-libGL can implement both interfaces. This allows the libGL to operate with
-direct rendering drivers that use either interface. Once the pointer is
-properly declared, <code>GET_DISPACH</code> becomes a simple variable
-reference.</p>
-
-<figure>
-<pre>
-extern __thread struct _glapi_table *_glapi_tls_Dispatch
- __attribute__((tls_model("initial-exec")));
-
-#define GET_DISPATCH() _glapi_tls_Dispatch
-</pre>
-<figcaption>TLS <code>GET_DISPATCH</code> Implementation</figcaption>
-</figure>
-
-<p>Use of this path is controlled by the preprocessor define
-<code>USE_ELF_TLS</code>. Any platform capable of using ELF TLS should use this
-as the default dispatch method.</p>
-
-<h3>3.3. Assembly Language Dispatch Stubs</h3>
-
-<p>Many platforms has difficulty properly optimizing the tail-call in the
-dispatch stubs. Platforms like x86 that pass parameters on the stack seem
-to have even more difficulty optimizing these routines. All of the dispatch
-routines are very short, and it is trivial to create optimal assembly
-language versions. The amount of optimization provided by using assembly
-stubs varies from platform to platform and application to application.
-However, by using the assembly stubs, many platforms can use an additional
-space optimization (see <a href="#fixedsize">below</a>).</p>
-
-<p>The biggest hurdle to creating assembly stubs is handling the various
-ways that the dispatch table pointer can be accessed. There are four
-different methods that can be used:</p>
-
-<ol>
-<li>Using <code>_glapi_Dispatch</code> directly in builds for non-multithreaded
-environments.</li>
-<li>Using <code>_glapi_Dispatch</code> and <code>_glapi_get_dispatch</code> in
-multithreaded environments.</li>
-<li>Using <code>_glapi_Dispatch</code> and <code>pthread_getspecific</code> in
-multithreaded environments.</li>
-<li>Using <code>_glapi_tls_Dispatch</code> directly in TLS enabled
-multithreaded environments.</li>
-</ol>
-
-<p>People wishing to implement assembly stubs for new platforms should focus
-on #4 if the new platform supports TLS. Otherwise, implement #2 followed by
-#3. Environments that do not support multithreading are uncommon and not
-terribly relevant.</p>
-
-<p>Selection of the dispatch table pointer access method is controlled by a
-few preprocessor defines.</p>
-
-<ul>
-<li>If <code>USE_ELF_TLS</code> is defined, method #3 is used.</li>
-<li>If <code>HAVE_PTHREAD</code> is defined, method #2 is used.</li>
-<li>If none of the preceding are defined, method #1 is used.</li>
-</ul>
-
-<p>Two different techniques are used to handle the various different cases.
-On x86 and SPARC, a macro called <code>GL_STUB</code> is used. In the preamble
-of the assembly source file different implementations of the macro are
-selected based on the defined preprocessor variables. The assembly code
-then consists of a series of invocations of the macros such as:
-
-<figure>
-<pre>
-GL_STUB(Color3fv, _gloffset_Color3fv)
-</pre>
-<figcaption>SPARC Assembly Implementation of <code>glColor3fv</code></figcaption>
-</figure>
-
-<p>The benefit of this technique is that changes to the calling pattern
-(i.e., addition of a new dispatch table pointer access method) require fewer
-changed lines in the assembly code.</p>
-
-<p>However, this technique can only be used on platforms where the function
-implementation does not change based on the parameters passed to the
-function. For example, since x86 passes all parameters on the stack, no
-additional code is needed to save and restore function parameters around a
-call to <code>pthread_getspecific</code>. Since x86-64 passes parameters in
-registers, varying amounts of code needs to be inserted around the call to
-<code>pthread_getspecific</code> to save and restore the GL function's
-parameters.</p>
-
-<p>The other technique, used by platforms like x86-64 that cannot use the
-first technique, is to insert <code>#ifdef</code> within the assembly
-implementation of each function. This makes the assembly file considerably
-larger (e.g., 29,332 lines for <code>glapi_x86-64.S</code> versus 1,155 lines for
-<code>glapi_x86.S</code>) and causes simple changes to the function
-implementation to generate many lines of diffs. Since the assembly files
-are typically generated by scripts (see <a href="#autogen">below</a>), this
-isn't a significant problem.</p>
-
-<p>Once a new assembly file is created, it must be inserted in the build
-system. There are two steps to this. The file must first be added to
-<code>src/mesa/sources</code>. That gets the file built and linked. The second
-step is to add the correct <code>#ifdef</code> magic to
-<code>src/mesa/glapi/glapi_dispatch.c</code> to prevent the C version of the
-dispatch functions from being built.</p>
-
-<h3 id="fixedsize">3.4. Fixed-Length Dispatch Stubs</h3>
-
-<p>To implement <code>glXGetProcAddress</code>, Mesa stores a table that
-associates function names with pointers to those functions. This table is
-stored in <code>src/mesa/glapi/glprocs.h</code>. For different reasons on
-different platforms, storing all of those pointers is inefficient. On most
-platforms, including all known platforms that support TLS, we can avoid this
-added overhead.</p>
-
-<p>If the assembly stubs are all the same size, the pointer need not be
-stored for every function. The location of the function can instead be
-calculated by multiplying the size of the dispatch stub by the offset of the
-function in the table. This value is then added to the address of the first
-dispatch stub.</p>
-
-<p>This path is activated by adding the correct <code>#ifdef</code> magic to
-<code>src/mesa/glapi/glapi.c</code> just before <code>glprocs.h</code> is
-included.</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/dispatch.rst b/docs/dispatch.rst
new file mode 100644
index 00000000000..c7b0af37636
--- /dev/null
+++ b/docs/dispatch.rst
@@ -0,0 +1,255 @@
+GL Dispatch
+===========
+
+Several factors combine to make efficient dispatch of OpenGL functions
+fairly complicated. This document attempts to explain some of the issues
+and introduce the reader to Mesa's implementation. Readers already
+familiar with the issues around GL dispatch can safely skip ahead to the
+`overview of Mesa's implementation <#overview>`__.
+
+1. Complexity of GL Dispatch
+----------------------------
+
+Every GL application has at least one object called a GL *context*. This
+object, which is an implicit parameter to every GL function, stores all
+of the GL related state for the application. Every texture, every buffer
+object, every enable, and much, much more is stored in the context.
+Since an application can have more than one context, the context to be
+used is selected by a window-system dependent function such as
+``glXMakeContextCurrent``.
+
+In environments that implement OpenGL with X-Windows using GLX, every GL
+function, including the pointers returned by ``glXGetProcAddress``, are
+*context independent*. This means that no matter what context is
+currently active, the same ``glVertex3fv`` function is used.
+
+This creates the first bit of dispatch complexity. An application can
+have two GL contexts. One context is a direct rendering context where
+function calls are routed directly to a driver loaded within the
+application's address space. The other context is an indirect rendering
+context where function calls are converted to GLX protocol and sent to a
+server. The same ``glVertex3fv`` has to do the right thing depending on
+which context is current.
+
+Highly optimized drivers or GLX protocol implementations may want to
+change the behavior of GL functions depending on current state. For
+example, ``glFogCoordf`` may operate differently depending on whether or
+not fog is enabled.
+
+In multi-threaded environments, it is possible for each thread to have a
+different GL context current. This means that poor old ``glVertex3fv``
+has to know which GL context is current in the thread where it is being
+called.
+
+.. _overview:
+
+2. Overview of Mesa's Implementation
+------------------------------------
+
+Mesa uses two per-thread pointers. The first pointer stores the address
+of the context current in the thread, and the second pointer stores the
+address of the *dispatch table* associated with that context. The
+dispatch table stores pointers to functions that actually implement
+specific GL functions. Each time a new context is made current in a
+thread, these pointers a updated.
+
+The implementation of functions such as ``glVertex3fv`` becomes
+conceptually simple:
+
+- Fetch the current dispatch table pointer.
+- Fetch the pointer to the real ``glVertex3fv`` function from the
+ table.
+- Call the real function.
+
+This can be implemented in just a few lines of C code. The file
+``src/mesa/glapi/glapitemp.h`` contains code very similar to this.
+
+::
+
+ void glVertex3f(GLfloat x, GLfloat y, GLfloat z)
+ {
+ const struct _glapi_table * const dispatch = GET_DISPATCH();
+
+ (*dispatch->Vertex3f)(x, y, z);
+ }
+
+Sample dispatch function
+
+The problem with this simple implementation is the large amount of
+overhead that it adds to every GL function call.
+
+In a multithreaded environment, a naive implementation of
+``GET_DISPATCH`` involves a call to ``pthread_getspecific`` or a similar
+function. Mesa provides a wrapper function called
+``_glapi_get_dispatch`` that is used by default.
+
+3. Optimizations
+----------------
+
+A number of optimizations have been made over the years to diminish the
+performance hit imposed by GL dispatch. This section describes these
+optimizations. The benefits of each optimization and the situations
+where each can or cannot be used are listed.
+
+3.1. Dual dispatch table pointers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The vast majority of OpenGL applications use the API in a single
+threaded manner. That is, the application has only one thread that makes
+calls into the GL. In these cases, not only do the calls to
+``pthread_getspecific`` hurt performance, but they are completely
+unnecessary! It is possible to detect this common case and avoid these
+calls.
+
+Each time a new dispatch table is set, Mesa examines and records the ID
+of the executing thread. If the same thread ID is always seen, Mesa
+knows that the application is, from OpenGL's point of view, single
+threaded.
+
+As long as an application is single threaded, Mesa stores a pointer to
+the dispatch table in a global variable called ``_glapi_Dispatch``. The
+pointer is also stored in a per-thread location via
+``pthread_setspecific``. When Mesa detects that an application has
+become multithreaded, ``NULL`` is stored in ``_glapi_Dispatch``.
+
+Using this simple mechanism the dispatch functions can detect the
+multithreaded case by comparing ``_glapi_Dispatch`` to ``NULL``. The
+resulting implementation of ``GET_DISPATCH`` is slightly more complex,
+but it avoids the expensive ``pthread_getspecific`` call in the common
+case.
+
+::
+
+ #define GET_DISPATCH() \
+ (_glapi_Dispatch != NULL) \
+ ? _glapi_Dispatch : pthread_getspecific(&_glapi_Dispatch_key)
+
+Improved ``GET_DISPATCH`` Implementation
+
+3.2. ELF TLS
+~~~~~~~~~~~~
+
+Starting with the 2.4.20 Linux kernel, each thread is allocated an area
+of per-thread, global storage. Variables can be put in this area using
+some extensions to GCC. By storing the dispatch table pointer in this
+area, the expensive call to ``pthread_getspecific`` and the test of
+``_glapi_Dispatch`` can be avoided.
+
+The dispatch table pointer is stored in a new variable called
+``_glapi_tls_Dispatch``. A new variable name is used so that a single
+libGL can implement both interfaces. This allows the libGL to operate
+with direct rendering drivers that use either interface. Once the
+pointer is properly declared, ``GET_DISPACH`` becomes a simple variable
+reference.
+
+::
+
+ extern __thread struct _glapi_table *_glapi_tls_Dispatch
+ __attribute__((tls_model("initial-exec")));
+
+ #define GET_DISPATCH() _glapi_tls_Dispatch
+
+TLS ``GET_DISPATCH`` Implementation
+
+Use of this path is controlled by the preprocessor define
+``USE_ELF_TLS``. Any platform capable of using ELF TLS should use this
+as the default dispatch method.
+
+3.3. Assembly Language Dispatch Stubs
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Many platforms has difficulty properly optimizing the tail-call in the
+dispatch stubs. Platforms like x86 that pass parameters on the stack
+seem to have even more difficulty optimizing these routines. All of the
+dispatch routines are very short, and it is trivial to create optimal
+assembly language versions. The amount of optimization provided by using
+assembly stubs varies from platform to platform and application to
+application. However, by using the assembly stubs, many platforms can
+use an additional space optimization (see `below <#fixedsize>`__).
+
+The biggest hurdle to creating assembly stubs is handling the various
+ways that the dispatch table pointer can be accessed. There are four
+different methods that can be used:
+
+#. Using ``_glapi_Dispatch`` directly in builds for non-multithreaded
+ environments.
+#. Using ``_glapi_Dispatch`` and ``_glapi_get_dispatch`` in
+ multithreaded environments.
+#. Using ``_glapi_Dispatch`` and ``pthread_getspecific`` in
+ multithreaded environments.
+#. Using ``_glapi_tls_Dispatch`` directly in TLS enabled multithreaded
+ environments.
+
+People wishing to implement assembly stubs for new platforms should
+focus on #4 if the new platform supports TLS. Otherwise, implement #2
+followed by #3. Environments that do not support multithreading are
+uncommon and not terribly relevant.
+
+Selection of the dispatch table pointer access method is controlled by a
+few preprocessor defines.
+
+- If ``USE_ELF_TLS`` is defined, method #3 is used.
+- If ``HAVE_PTHREAD`` is defined, method #2 is used.
+- If none of the preceding are defined, method #1 is used.
+
+Two different techniques are used to handle the various different cases.
+On x86 and SPARC, a macro called ``GL_STUB`` is used. In the preamble of
+the assembly source file different implementations of the macro are
+selected based on the defined preprocessor variables. The assembly code
+then consists of a series of invocations of the macros such as:
+
+::
+
+ GL_STUB(Color3fv, _gloffset_Color3fv)
+
+SPARC Assembly Implementation of ``glColor3fv``
+
+The benefit of this technique is that changes to the calling pattern
+(i.e., addition of a new dispatch table pointer access method) require
+fewer changed lines in the assembly code.
+
+However, this technique can only be used on platforms where the function
+implementation does not change based on the parameters passed to the
+function. For example, since x86 passes all parameters on the stack, no
+additional code is needed to save and restore function parameters around
+a call to ``pthread_getspecific``. Since x86-64 passes parameters in
+registers, varying amounts of code needs to be inserted around the call
+to ``pthread_getspecific`` to save and restore the GL function's
+parameters.
+
+The other technique, used by platforms like x86-64 that cannot use the
+first technique, is to insert ``#ifdef`` within the assembly
+implementation of each function. This makes the assembly file
+considerably larger (e.g., 29,332 lines for ``glapi_x86-64.S`` versus
+1,155 lines for ``glapi_x86.S``) and causes simple changes to the
+function implementation to generate many lines of diffs. Since the
+assembly files are typically generated by scripts (see
+`below <#autogen>`__), this isn't a significant problem.
+
+Once a new assembly file is created, it must be inserted in the build
+system. There are two steps to this. The file must first be added to
+``src/mesa/sources``. That gets the file built and linked. The second
+step is to add the correct ``#ifdef`` magic to
+``src/mesa/glapi/glapi_dispatch.c`` to prevent the C version of the
+dispatch functions from being built.
+
+.. _fixedsize:
+
+3.4. Fixed-Length Dispatch Stubs
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To implement ``glXGetProcAddress``, Mesa stores a table that associates
+function names with pointers to those functions. This table is stored in
+``src/mesa/glapi/glprocs.h``. For different reasons on different
+platforms, storing all of those pointers is inefficient. On most
+platforms, including all known platforms that support TLS, we can avoid
+this added overhead.
+
+If the assembly stubs are all the same size, the pointer need not be
+stored for every function. The location of the function can instead be
+calculated by multiplying the size of the dispatch stub by the offset of
+the function in the table. This value is then added to the address of
+the first dispatch stub.
+
+This path is activated by adding the correct ``#ifdef`` magic to
+``src/mesa/glapi/glapi.c`` just before ``glprocs.h`` is included.
diff --git a/docs/download.html b/docs/download.html
deleted file mode 100644
index 52ad51d414b..00000000000
--- a/docs/download.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Downloading and Unpacking</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Downloading and Unpacking</h1>
-
-<h2>Downloading</h2>
-
-<p>
-You can download the released versions of Mesa via
-<a href="https://mesa.freedesktop.org/archive/">HTTPS</a>
-or
-<a href="ftp://ftp.freedesktop.org/pub/mesa/">FTP</a>.
-</p>
-
-<p>
-Starting with the first release of 2017, Mesa's version scheme is
-year-based. Filenames are in the form <code>mesa-Y.N.P.tar.gz</code>, where
-<code>Y</code> is the year (two digits), <code>N</code> is an incremental number
-(starting at 0) and <code>P</code> is the patch number (0 for the first
-release, 1 for the first patch after that).
-</p>
-
-<p>
-When a new release is coming, release candidates (betas) may be found
-in the same directory, and are recognisable by the
-<code>mesa-Y.N.P-<b>rc</b>X.tar.gz</code> filename.
-</p>
-
-
-<h2>Unpacking</h2>
-
-<p>
-Mesa releases are available in two formats: <code>.tar.xz</code> and <code>.tar.gz</code>.
-</p>
-
-<p>
-To unpack the tarball:
-</p>
-<pre>
- tar xf mesa-Y.N.P.tar.xz
-</pre>
-<p>or</p>
-<pre>
- tar xf mesa-Y.N.P.tar.gz
-</pre>
-
-
-<h2>Contents</h2>
-
-<p>
-Proceed to the <a href="install.html">compilation and installation
-instructions</a>.
-</p>
-
-
-<h2>Demos, GLUT, and GLU</h2>
-
-<p>
-A package of SGI's GLU library is available
-<a href="ftp://ftp.freedesktop.org/pub/mesa/glu/">here</a>
-</p>
-
-<p>
-A package of Mark Kilgard's GLUT library is available
-<a href="ftp://ftp.freedesktop.org/pub/mesa/glut/">here</a>
-</p>
-
-<p>
-The Mesa demos collection is available
-<a href="ftp://ftp.freedesktop.org/pub/mesa/demos/">here</a>
-</p>
-
-<p>
-In the past, GLUT, GLU and the Mesa demos were released in conjunction with
-Mesa releases. But since GLUT, GLU and the demos change infrequently, they
-were split off into their own git repositories:
-
-<a href="https://gitlab.freedesktop.org/mesa/glut">GLUT</a>,
-<a href="https://gitlab.freedesktop.org/mesa/glu">GLU</a> and
-<a href="https://gitlab.freedesktop.org/mesa/demos">Demos</a>,
-</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/download.rst b/docs/download.rst
new file mode 100644
index 00000000000..eb4058ce089
--- /dev/null
+++ b/docs/download.rst
@@ -0,0 +1,61 @@
+Downloading and Unpacking
+=========================
+
+Downloading
+-----------
+
+You can download the released versions of Mesa via
+`HTTPS <https://mesa.freedesktop.org/archive/>`__ or
+`FTP <ftp://ftp.freedesktop.org/pub/mesa/>`__.
+
+Starting with the first release of 2017, Mesa's version scheme is
+year-based. Filenames are in the form ``mesa-Y.N.P.tar.gz``, where ``Y``
+is the year (two digits), ``N`` is an incremental number (starting at 0)
+and ``P`` is the patch number (0 for the first release, 1 for the first
+patch after that).
+
+When a new release is coming, release candidates (betas) may be found in
+the same directory, and are recognisable by the
+``mesa-Y.N.P-rcX.tar.gz`` filename.
+
+Unpacking
+---------
+
+Mesa releases are available in two formats: ``.tar.xz`` and ``.tar.gz``.
+
+To unpack the tarball:
+
+::
+
+ tar xf mesa-Y.N.P.tar.xz
+
+or
+
+::
+
+ tar xf mesa-Y.N.P.tar.gz
+
+Contents
+--------
+
+Proceed to the `compilation and installation
+instructions <install.html>`__.
+
+Demos, GLUT, and GLU
+--------------------
+
+A package of SGI's GLU library is available
+`here <ftp://ftp.freedesktop.org/pub/mesa/glu/>`__
+
+A package of Mark Kilgard's GLUT library is available
+`here <ftp://ftp.freedesktop.org/pub/mesa/glut/>`__
+
+The Mesa demos collection is available
+`here <ftp://ftp.freedesktop.org/pub/mesa/demos/>`__
+
+In the past, GLUT, GLU and the Mesa demos were released in conjunction
+with Mesa releases. But since GLUT, GLU and the demos change
+infrequently, they were split off into their own git repositories:
+`GLUT <https://gitlab.freedesktop.org/mesa/glut>`__,
+`GLU <https://gitlab.freedesktop.org/mesa/glu>`__ and
+`Demos <https://gitlab.freedesktop.org/mesa/demos>`__,
diff --git a/docs/egl.html b/docs/egl.html
deleted file mode 100644
index 6f4028f756a..00000000000
--- a/docs/egl.html
+++ /dev/null
@@ -1,252 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>EGL</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>EGL</h1>
-
-<p>The current version of EGL in Mesa implements EGL 1.4. More information
-about EGL can be found at
-<a href="https://www.khronos.org/egl/">
-https://www.khronos.org/egl/</a>.</p>
-
-<p>The Mesa's implementation of EGL uses a driver architecture. The main
-library (<code>libEGL</code>) is window system neutral. It provides the EGL
-API entry points and helper functions for use by the drivers. Drivers are
-dynamically loaded by the main library and most of the EGL API calls are
-directly dispatched to the drivers.</p>
-
-<p>The driver in use decides the window system to support.</p>
-
-<h2>Build EGL</h2>
-
-<ol>
-<li>
-<p>Configure your build with the desired client APIs and enable
-the driver for your hardware. For example:</p>
-
-<pre>
-$ meson configure \
- -D egl=true \
- -D gles1=true \
- -D gles2=true \
- -D dri-drivers=... \
- -D gallium-drivers=...
-</pre>
-
-<p>The main library and OpenGL is enabled by default. The first two options
-above enables <a href="opengles.html">OpenGL ES 1.x and 2.x</a>. The last two
-options enables the listed classic and Gallium drivers respectively.</p>
-
-</li>
-
-<li>Build and install Mesa as usual.</li>
-</ol>
-
-<p>In the given example, it will build and install <code>libEGL</code>,
-<code>libGL</code>, <code>libGLESv1_CM</code>, <code>libGLESv2</code>, and one
-or more EGL drivers.</p>
-
-<h3>Configure Options</h3>
-
-<p>There are several options that control the build of EGL at configuration
-time</p>
-
-<dl>
-<dt><code>-D egl=true</code></dt>
-<dd>
-
-<p>By default, EGL is enabled. When disabled, the main library and the drivers
-will not be built.</p>
-
-</dd>
-
-<dt><code>-D platforms=...</code></dt>
-<dd>
-
-<p>List the platforms (window systems) to support. Its argument is a comma
-separated string such as <code>-D platforms=x11,drm</code>. It decides
-the platforms a driver may support. The first listed platform is also used by
-the main library to decide the native platform.</p>
-
-<p>The available platforms are <code>x11</code>, <code>drm</code>,
-<code>wayland</code>, <code>surfaceless</code>, <code>android</code>,
-and <code>haiku</code>.
-The <code>android</code> platform can either be built as a system
-component, part of AOSP, using <code>Android.mk</code> files, or
-cross-compiled using appropriate options.
-Unless for special needs, the build system should
-select the right platforms automatically.</p>
-
-</dd>
-
-<dt><code>-D gles1=true</code> and <code>-D gles2=true</code></dt>
-<dd>
-
-<p>These options enable OpenGL ES support in OpenGL. The result is one big
-internal library that supports multiple APIs.</p>
-
-</dd>
-
-<dt><code>-D shared-glapi=true</code></dt>
-<dd>
-
-<p>By default, <code>libGL</code> has its own copy of <code>libglapi</code>.
-This options makes <code>libGL</code> use the shared <code>libglapi</code>. This
-is required if applications mix OpenGL and OpenGL ES.</p>
-
-</dd>
-
-</dl>
-
-<h2>Use EGL</h2>
-
-<h3>Demos</h3>
-
-<p>There are demos for the client APIs supported by EGL. They can be found in
-mesa/demos repository.</p>
-
-<h3>Environment Variables</h3>
-
-<p>There are several environment variables that control the behavior of EGL at
-runtime</p>
-
-<dl>
-<dt><code>EGL_PLATFORM</code></dt>
-<dd>
-
-<p>This variable specifies the native platform. The valid values are the same
-as those for <code>-D platforms=...</code>. When the variable is not set,
-the main library uses the first platform listed in
-<code>-D platforms=...</code> as the native platform.</p>
-
-<p>Extensions like <code>EGL_MESA_drm_display</code> define new functions to
-create displays for non-native platforms. These extensions are usually used by
-applications that support non-native platforms. Setting this variable is
-probably required only for some of the demos found in mesa/demo repository.</p>
-
-</dd>
-
-<dt><code>EGL_LOG_LEVEL</code></dt>
-<dd>
-
-<p>This changes the log level of the main library and the drivers. The valid
-values are: <code>debug</code>, <code>info</code>, <code>warning</code>, and
-<code>fatal</code>.</p>
-
-</dd>
-</dl>
-
-<h2>EGL Drivers</h2>
-
-<dl>
-<dt><code>egl_dri2</code></dt>
-<dd>
-
-<p>This driver supports both <code>x11</code> and <code>drm</code> platforms.
-It functions as a DRI driver loader. For <code>x11</code> support, it talks to
-the X server directly using (XCB-)DRI2 protocol.</p>
-
-<p>This driver can share DRI drivers with <code>libGL</code>.</p>
-
-</dd>
-</dl>
-
-<h2>Packaging</h2>
-
-<p>The ABI between the main library and its drivers are not stable. Nor is
-there a plan to stabilize it at the moment.</p>
-
-<h2>Developers</h2>
-
-<p>The sources of the main library and drivers can be found at
-<code>src/egl/</code>.</p>
-
-<h3>Lifetime of Display Resources</h3>
-
-<p>Contexts and surfaces are examples of display resources. They might live
-longer than the display that creates them.</p>
-
-<p>In EGL, when a display is terminated through <code>eglTerminate</code>, all
-display resources should be destroyed. Similarly, when a thread is released
-through <code>eglReleaseThread</code>, all current display resources should be
-released. Another way to destroy or release resources is through functions
-such as <code>eglDestroySurface</code> or <code>eglMakeCurrent</code>.</p>
-
-<p>When a resource that is current to some thread is destroyed, the resource
-should not be destroyed immediately. EGL requires the resource to live until
-it is no longer current. A driver usually calls
-<code>eglIs&lt;Resource&gt;Bound</code> to check if a resource is bound
-(current) to any thread in the destroy callbacks. If it is still bound, the
-resource is not destroyed.</p>
-
-<p>The main library will mark destroyed current resources as unlinked. In a
-driver's <code>MakeCurrent</code> callback,
-<code>eglIs&lt;Resource&gt;Linked</code> can then be called to check if a newly
-released resource is linked to a display. If it is not, the last reference to
-the resource is removed and the driver should destroy the resource. But it
-should be careful here because <code>MakeCurrent</code> might be called with an
-uninitialized display.</p>
-
-<p>This is the only mechanism provided by the main library to help manage the
-resources. The drivers are responsible to the correct behavior as defined by
-EGL.</p>
-
-<h3><code>EGL_RENDER_BUFFER</code></h3>
-
-<p>In EGL, the color buffer a context should try to render to is decided by the
-binding surface. It should try to render to the front buffer if the binding
-surface has <code>EGL_RENDER_BUFFER</code> set to
-<code>EGL_SINGLE_BUFFER</code>; If the same context is later bound to a
-surface with <code>EGL_RENDER_BUFFER</code> set to
-<code>EGL_BACK_BUFFER</code>, the context should try to render to the back
-buffer. However, the context is allowed to make the final decision as to which
-color buffer it wants to or is able to render to.</p>
-
-<p>For pbuffer surfaces, the render buffer is always
-<code>EGL_BACK_BUFFER</code>. And for pixmap surfaces, the render buffer is
-always <code>EGL_SINGLE_BUFFER</code>. Unlike window surfaces, EGL spec
-requires their <code>EGL_RENDER_BUFFER</code> values to be honored. As a
-result, a driver should never set <code>EGL_PIXMAP_BIT</code> or
-<code>EGL_PBUFFER_BIT</code> bits of a config if the contexts created with the
-config won't be able to honor the <code>EGL_RENDER_BUFFER</code> of pixmap or
-pbuffer surfaces.</p>
-
-<p>It should also be noted that pixmap and pbuffer surfaces are assumed to be
-single-buffered, in that <code>eglSwapBuffers</code> has no effect on them. It
-is desirable that a driver allocates a private color buffer for each pbuffer
-surface created. If the window system the driver supports has native pbuffers,
-or if the native pixmaps have more than one color buffers, the driver should
-carefully attach the native color buffers to the EGL surfaces, re-route them if
-required.</p>
-
-<p>There is no defined behavior as to, for example, how
-<code>glDrawBuffer</code> interacts with <code>EGL_RENDER_BUFFER</code>. Right
-now, it is desired that the draw buffer in a client API be fixed for pixmap and
-pbuffer surfaces. Therefore, the driver is responsible to guarantee that the
-client API renders to the specified render buffer for pixmap and pbuffer
-surfaces.</p>
-
-<h3><code>EGLDisplay</code> Mutex</h3>
-
-The <code>EGLDisplay</code> will be locked before calling any of the dispatch
-functions (well, except for GetProcAddress which does not take an
-<code>EGLDisplay</code>). This guarantees that the same dispatch function will
-not be called with the sample display at the same time. If a driver has access
-to an <code>EGLDisplay</code> without going through the EGL APIs, the driver
-should as well lock the display before using it.
-
-</div>
-</body>
-</html>
diff --git a/docs/egl.rst b/docs/egl.rst
new file mode 100644
index 00000000000..9b7f2c035a2
--- /dev/null
+++ b/docs/egl.rst
@@ -0,0 +1,197 @@
+EGL
+===
+
+The current version of EGL in Mesa implements EGL 1.4. More information
+about EGL can be found at https://www.khronos.org/egl/.
+
+The Mesa's implementation of EGL uses a driver architecture. The main
+library (``libEGL``) is window system neutral. It provides the EGL API
+entry points and helper functions for use by the drivers. Drivers are
+dynamically loaded by the main library and most of the EGL API calls are
+directly dispatched to the drivers.
+
+The driver in use decides the window system to support.
+
+Build EGL
+---------
+
+#. Configure your build with the desired client APIs and enable the
+ driver for your hardware. For example:
+
+ ::
+
+ $ meson configure \
+ -D egl=true \
+ -D gles1=true \
+ -D gles2=true \
+ -D dri-drivers=... \
+ -D gallium-drivers=...
+
+ The main library and OpenGL is enabled by default. The first two
+ options above enables `OpenGL ES 1.x and 2.x <opengles.html>`__. The
+ last two options enables the listed classic and Gallium drivers
+ respectively.
+
+#. Build and install Mesa as usual.
+
+In the given example, it will build and install ``libEGL``, ``libGL``,
+``libGLESv1_CM``, ``libGLESv2``, and one or more EGL drivers.
+
+Configure Options
+~~~~~~~~~~~~~~~~~
+
+There are several options that control the build of EGL at configuration
+time
+
+``-D egl=true``
+ By default, EGL is enabled. When disabled, the main library and the
+ drivers will not be built.
+
+``-D platforms=...``
+ List the platforms (window systems) to support. Its argument is a
+ comma separated string such as ``-D platforms=x11,drm``. It decides
+ the platforms a driver may support. The first listed platform is also
+ used by the main library to decide the native platform.
+
+ The available platforms are ``x11``, ``drm``, ``wayland``,
+ ``surfaceless``, ``android``, and ``haiku``. The ``android`` platform
+ can either be built as a system component, part of AOSP, using
+ ``Android.mk`` files, or cross-compiled using appropriate options.
+ Unless for special needs, the build system should select the right
+ platforms automatically.
+
+``-D gles1=true`` and ``-D gles2=true``
+ These options enable OpenGL ES support in OpenGL. The result is one
+ big internal library that supports multiple APIs.
+
+``-D shared-glapi=true``
+ By default, ``libGL`` has its own copy of ``libglapi``. This options
+ makes ``libGL`` use the shared ``libglapi``. This is required if
+ applications mix OpenGL and OpenGL ES.
+
+Use EGL
+-------
+
+Demos
+~~~~~
+
+There are demos for the client APIs supported by EGL. They can be found
+in mesa/demos repository.
+
+Environment Variables
+~~~~~~~~~~~~~~~~~~~~~
+
+There are several environment variables that control the behavior of EGL
+at runtime
+
+``EGL_PLATFORM``
+ This variable specifies the native platform. The valid values are the
+ same as those for ``-D platforms=...``. When the variable is not set,
+ the main library uses the first platform listed in
+ ``-D platforms=...`` as the native platform.
+
+ Extensions like ``EGL_MESA_drm_display`` define new functions to
+ create displays for non-native platforms. These extensions are
+ usually used by applications that support non-native platforms.
+ Setting this variable is probably required only for some of the demos
+ found in mesa/demo repository.
+
+``EGL_LOG_LEVEL``
+ This changes the log level of the main library and the drivers. The
+ valid values are: ``debug``, ``info``, ``warning``, and ``fatal``.
+
+EGL Drivers
+-----------
+
+``egl_dri2``
+ This driver supports both ``x11`` and ``drm`` platforms. It functions
+ as a DRI driver loader. For ``x11`` support, it talks to the X server
+ directly using (XCB-)DRI2 protocol.
+
+ This driver can share DRI drivers with ``libGL``.
+
+Packaging
+---------
+
+The ABI between the main library and its drivers are not stable. Nor is
+there a plan to stabilize it at the moment.
+
+Developers
+----------
+
+The sources of the main library and drivers can be found at
+``src/egl/``.
+
+Lifetime of Display Resources
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Contexts and surfaces are examples of display resources. They might live
+longer than the display that creates them.
+
+In EGL, when a display is terminated through ``eglTerminate``, all
+display resources should be destroyed. Similarly, when a thread is
+released through ``eglReleaseThread``, all current display resources
+should be released. Another way to destroy or release resources is
+through functions such as ``eglDestroySurface`` or ``eglMakeCurrent``.
+
+When a resource that is current to some thread is destroyed, the
+resource should not be destroyed immediately. EGL requires the resource
+to live until it is no longer current. A driver usually calls
+``eglIs<Resource>Bound`` to check if a resource is bound (current) to
+any thread in the destroy callbacks. If it is still bound, the resource
+is not destroyed.
+
+The main library will mark destroyed current resources as unlinked. In a
+driver's ``MakeCurrent`` callback, ``eglIs<Resource>Linked`` can then be
+called to check if a newly released resource is linked to a display. If
+it is not, the last reference to the resource is removed and the driver
+should destroy the resource. But it should be careful here because
+``MakeCurrent`` might be called with an uninitialized display.
+
+This is the only mechanism provided by the main library to help manage
+the resources. The drivers are responsible to the correct behavior as
+defined by EGL.
+
+``EGL_RENDER_BUFFER``
+~~~~~~~~~~~~~~~~~~~~~
+
+In EGL, the color buffer a context should try to render to is decided by
+the binding surface. It should try to render to the front buffer if the
+binding surface has ``EGL_RENDER_BUFFER`` set to ``EGL_SINGLE_BUFFER``;
+If the same context is later bound to a surface with
+``EGL_RENDER_BUFFER`` set to ``EGL_BACK_BUFFER``, the context should try
+to render to the back buffer. However, the context is allowed to make
+the final decision as to which color buffer it wants to or is able to
+render to.
+
+For pbuffer surfaces, the render buffer is always ``EGL_BACK_BUFFER``.
+And for pixmap surfaces, the render buffer is always
+``EGL_SINGLE_BUFFER``. Unlike window surfaces, EGL spec requires their
+``EGL_RENDER_BUFFER`` values to be honored. As a result, a driver should
+never set ``EGL_PIXMAP_BIT`` or ``EGL_PBUFFER_BIT`` bits of a config if
+the contexts created with the config won't be able to honor the
+``EGL_RENDER_BUFFER`` of pixmap or pbuffer surfaces.
+
+It should also be noted that pixmap and pbuffer surfaces are assumed to
+be single-buffered, in that ``eglSwapBuffers`` has no effect on them. It
+is desirable that a driver allocates a private color buffer for each
+pbuffer surface created. If the window system the driver supports has
+native pbuffers, or if the native pixmaps have more than one color
+buffers, the driver should carefully attach the native color buffers to
+the EGL surfaces, re-route them if required.
+
+There is no defined behavior as to, for example, how ``glDrawBuffer``
+interacts with ``EGL_RENDER_BUFFER``. Right now, it is desired that the
+draw buffer in a client API be fixed for pixmap and pbuffer surfaces.
+Therefore, the driver is responsible to guarantee that the client API
+renders to the specified render buffer for pixmap and pbuffer surfaces.
+
+``EGLDisplay`` Mutex
+~~~~~~~~~~~~~~~~~~~~
+
+The ``EGLDisplay`` will be locked before calling any of the dispatch
+functions (well, except for GetProcAddress which does not take an
+``EGLDisplay``). This guarantees that the same dispatch function will
+not be called with the sample display at the same time. If a driver has
+access to an ``EGLDisplay`` without going through the EGL APIs, the
+driver should as well lock the display before using it.
diff --git a/docs/envvars.html b/docs/envvars.html
deleted file mode 100644
index a642daf59c2..00000000000
--- a/docs/envvars.html
+++ /dev/null
@@ -1,786 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Environment Variables</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Environment Variables</h1>
-
-<p>
-Normally, no environment variables need to be set. Most of the environment
-variables used by Mesa/Gallium are for debugging purposes, but they can
-sometimes be useful for debugging end-user issues.
-</p>
-
-
-<h2>LibGL environment variables</h2>
-
-<dl>
-<dt><code>LIBGL_DEBUG</code></dt>
-<dd>If defined debug information will be printed to stderr.
- If set to <code>verbose</code> additional information will be
- printed.</dd>
-<dt><code>LIBGL_DRIVERS_PATH</code></dt>
-<dd>colon-separated list of paths to search for DRI drivers</dd>
-<dt><code>LIBGL_ALWAYS_INDIRECT</code></dt>
-<dd>if set to <code>true</code>, forces an indirect rendering
- context/connection.</dd>
-<dt><code>LIBGL_ALWAYS_SOFTWARE</code></dt>
-<dd>if set to <code>true</code>, always use software rendering</dd>
-<dt><code>LIBGL_NO_DRAWARRAYS</code></dt>
-<dd>if set to <code>true</code>, do not use DrawArrays GLX protocol
- (for debugging)</dd>
-<dt><code>LIBGL_SHOW_FPS</code></dt>
-<dd>print framerate to stdout based on the number of
- <code>glXSwapBuffers</code> calls per second.</dd>
-<dt><code>LIBGL_DRI3_DISABLE</code></dt>
-<dd>disable DRI3 if set to <code>true</code>.</dd>
-</dl>
-
-<h2>Core Mesa environment variables</h2>
-
-<dl>
-<dt><code>MESA_NO_ASM</code></dt>
-<dd>if set, disables all assembly language optimizations</dd>
-<dt><code>MESA_NO_MMX</code></dt>
-<dd>if set, disables Intel MMX optimizations</dd>
-<dt><code>MESA_NO_3DNOW</code></dt>
-<dd>if set, disables AMD 3DNow! optimizations</dd>
-<dt><code>MESA_NO_SSE</code></dt>
-<dd>if set, disables Intel SSE optimizations</dd>
-<dt><code>MESA_NO_ERROR</code></dt>
-<dd>if set to 1, error checking is disabled as per <code>KHR_no_error</code>.
- This will result in undefined behaviour for invalid use of the api, but
- can reduce CPU use for apps that are known to be error free.</dd>
-<dt><code>MESA_DEBUG</code></dt>
-<dd>if set, error messages are printed to stderr. For example,
- if the application generates a <code>GL_INVALID_ENUM</code> error, a
- corresponding error message indicating where the error occurred, and
- possibly why, will be printed to stderr. For release builds,
- <code>MESA_DEBUG</code> defaults to off (no debug output).
- <code>MESA_DEBUG</code> accepts the following comma-separated list of
- named flags, which adds extra behaviour to just set
- <code>MESA_DEBUG=1</code>:
- <dl>
- <dt><code>silent</code></dt>
- <dd>turn off debug messages. Only useful for debug builds.</dd>
- <dt><code>flush</code></dt>
- <dd>flush after each drawing command</dd>
- <dt><code>incomplete_tex</code></dt>
- <dd>extra debug messages when a texture is incomplete</dd>
- <dt><code>incomplete_fbo</code></dt>
- <dd>extra debug messages when a fbo is incomplete</dd>
- <dt><code>context</code></dt>
- <dd>create a debug context (see <code>GLX_CONTEXT_DEBUG_BIT_ARB</code>)
- and print error and performance messages to stderr (or
- <code>MESA_LOG_FILE</code>).</dd>
- </dl>
-</dd>
-<dt><code>MESA_LOG_FILE</code></dt>
-<dd>specifies a file name for logging all errors, warnings,
- etc., rather than stderr</dd>
-<dt><code>MESA_TEX_PROG</code></dt>
-<dd>if set, implement conventional texture env modes with
- fragment programs (intended for developers only)</dd>
-<dt><code>MESA_TNL_PROG</code></dt>
-<dd>if set, implement conventional vertex transformation operations with
- vertex programs (intended for developers only). Setting this variable
- automatically sets the <code>MESA_TEX_PROG</code> variable as well.</dd>
-<dt><code>MESA_EXTENSION_OVERRIDE</code></dt>
-<dd>can be used to enable/disable extensions. A value such as
- <code>GL_EXT_foo -GL_EXT_bar</code> will enable the
- <code>GL_EXT_foo</code> extension and disable the
- <code>GL_EXT_bar</code> extension.</dd>
-<dt><code>MESA_EXTENSION_MAX_YEAR</code></dt>
-<dd>The <code>GL_EXTENSIONS</code> string returned by Mesa is sorted by
- extension year. If this variable is set to year X, only extensions
- defined on or before year X will be reported. This is to work-around a
- bug in some games where the extension string is copied into a fixed-size
- buffer without truncating. If the extension string is too long, the
- buffer overrun can cause the game to crash. This is a work-around for
- that.</dd>
-<dt><code>MESA_GL_VERSION_OVERRIDE</code></dt>
-<dd>changes the value returned by
-<code>glGetString(GL_VERSION)</code> and possibly the GL API type.
-<ul>
- <li>The format should be <code>MAJOR.MINOR[FC|COMPAT]</code>
- <li><code>FC</code> is an optional suffix that indicates a forward
- compatible context. This is only valid for versions &gt;= 3.0.
- <li><code>COMPAT</code> is an optional suffix that indicates a
- compatibility context or <code>GL_ARB_compatibility</code> support.
- This is only valid for versions &gt;= 3.1.
- <li>GL versions &lt;= 3.0 are set to a compatibility (non-Core)
- profile
- <li>GL versions = 3.1, depending on the driver, it may or may not
- have the <code>ARB_compatibility</code> extension enabled.
- <li>GL versions &gt;= 3.2 are set to a Core profile
- <li>Examples:
- <dl>
- <dt><code>2.1</code></dt>
- <dd>select a compatibility (non-Core) profile with GL version 2.1.</dd>
- <dt><code>3.0</code></dt>
- <dd>select a compatibility (non-Core) profile with GL version 3.0.</dd>
- <dt><code>3.0FC</code></dt>
- <dd>select a Core+Forward Compatible profile with GL version 3.0.</dd>
- <dt><code>3.1</code></dt>
- <dd>select GL version 3.1 with <code>GL_ARB_compatibility</code>
- enabled per the driver default.</dd>
- <dt><code>3.1FC</code></dt>
- <dd>select GL version 3.1 with forward compatibility and
- <code>GL_ARB_compatibility</code> disabled.</dd>
- <dt><code>3.1COMPAT</code></dt>
- <dd>select GL version 3.1 with <code>GL_ARB_compatibility</code>
- enabled.</dd>
- <dt><code>X.Y</code></dt>
- <dd>override GL version to X.Y without changing the profile.</dd>
- <dt><code>X.YFC</code></dt>
- <dd>select a Core+Forward Compatible profile with GL version X.Y.</dd>
- <dt><code>X.YCOMPAT</code></dt>
- <dd>select a Compatibility profile with GL version X.Y.</dd>
- </dl>
- <li>Mesa may not really implement all the features of the given
- version. (for developers only)
-</ul>
-</dd>
-<dt><code>MESA_GLES_VERSION_OVERRIDE</code></dt>
-<dd>changes the value returned by <code>glGetString(GL_VERSION)</code>
- for OpenGL ES.
-<ul>
-<li> The format should be <code>MAJOR.MINOR</code>
-<li> Examples: <code>2.0</code>, <code>3.0</code>, <code>3.1</code>
-<li> Mesa may not really implement all the features of the given version.
-(for developers only)
-</ul>
-</dd>
-<dt><code>MESA_GLSL_VERSION_OVERRIDE</code></dt>
-<dd>changes the value returned by
- <code>glGetString(GL_SHADING_LANGUAGE_VERSION)</code>.
- Valid values are integers, such as <code>130</code>. Mesa will not
- really implement all the features of the given language version if
- it's higher than what's normally reported. (for developers only)
-</dd>
-<dt><code>MESA_GLSL_CACHE_DISABLE</code></dt>
-<dd>if set to <code>true</code>, disables the GLSL shader cache</dd>
-<dt><code>MESA_GLSL_CACHE_MAX_SIZE</code></dt>
-<dd>if set, determines the maximum size of the on-disk cache of compiled GLSL
- programs. Should be set to a number optionally followed by <code>K</code>,
- <code>M</code>, or <code>G</code> to specify a size in kilobytes,
- megabytes, or gigabytes. By default, gigabytes will be assumed. And if
- unset, a maximum size of 1GB will be used. Note: A separate cache might
- be created for each architecture that Mesa is installed for on your
- system. For example under the default settings you may end up with a 1GB
- cache for x86_64 and another 1GB cache for i386.</dd>
-<dt><code>MESA_GLSL_CACHE_DIR</code></dt>
-<dd>if set, determines the directory to be used for the on-disk cache of
- compiled GLSL programs. If this variable is not set, then the cache will
- be stored in <code>$XDG_CACHE_HOME/mesa_shader_cache</code> (if that
- variable is set), or else within <code>.cache/mesa_shader_cache</code>
- within the user's home directory.
-</dd>
-<dt><code>MESA_GLSL</code></dt>
-<dd><a href="shading.html#envvars">shading language compiler options</a></dd>
-<dt><code>MESA_NO_MINMAX_CACHE</code></dt>
-<dd>when set, the minmax index cache is globally disabled.</dd>
-<dt><code>MESA_SHADER_CAPTURE_PATH</code></dt>
-<dd>see <a href="shading.html#capture">Capturing Shaders</a></dd>
-<dt><code>MESA_SHADER_DUMP_PATH</code> and <code>MESA_SHADER_READ_PATH</code></dt>
-<dd>see <a href="shading.html#replacement">Experimenting with Shader Replacements</a></dd>
-<dt><code>MESA_VK_VERSION_OVERRIDE</code></dt>
-<dd>changes the Vulkan physical device version
- as returned in <code>VkPhysicalDeviceProperties::apiVersion</code>.
- <ul>
- <li>The format should be <code>MAJOR.MINOR[.PATCH]</code></li>
- <li>This will not let you force a version higher than the driver's
- instance version as advertised by
- <code>vkEnumerateInstanceVersion</code></li>
- <li>This can be very useful for debugging but some features may not be
- implemented correctly. (For developers only)</li>
- </ul>
-</dd>
-</dl>
-
-
-<h2>NIR passes enviroment variables</h2>
-<p>
-The following are only applicable for drivers that uses NIR, as they
-modify the behaviour for the common NIR_PASS and NIR_PASS_V macros,
-that wrap calls to NIR lowering/optimizations.
-</p>
-
-<dl>
- <dt><code>NIR_PRINT</code></dt>
- <dd>If defined, the resulting NIR shader will be printed out at each succesful NIR lowering/optimization call.</dd>
- <dt><code>NIR_TEST_CLONE</code></dt>
- <dd>If defined, cloning a NIR shader would be tested at each succesful NIR lowering/optimization call.</dd>
- <dt><code>NIR_TEST_SERIALIZE</code></dt>
- <dd>If defined, serialize and deserialize a NIR shader would be tested at each succesful NIR lowering/optimization call.</dd>
-</dl>
-
-
-<h2>Mesa Xlib driver environment variables</h2>
-
-<p>
-The following are only applicable to the Mesa Xlib software driver.
-See the <a href="xlibdriver.html">Xlib software driver page</a> for details.
-</p>
-<dl>
-<dt><code>MESA_RGB_VISUAL</code></dt>
-<dd>specifies the X visual and depth for RGB mode</dd>
-<dt><code>MESA_CI_VISUAL</code></dt>
-<dd>specifies the X visual and depth for CI mode</dd>
-<dt><code>MESA_BACK_BUFFER</code></dt>
-<dd>specifies how to implement the back color buffer, either
- <code>pixmap</code> or <code>ximage</code></dd>
-<dt><code>MESA_GAMMA</code></dt>
-<dd>gamma correction coefficients for red, green, blue channels</dd>
-<dt><code>MESA_XSYNC</code></dt>
-<dd>enable synchronous X behavior (for debugging only)</dd>
-<dt><code>MESA_GLX_FORCE_CI</code></dt>
-<dd>if set, force GLX to treat 8bpp visuals as CI visuals</dd>
-<dt><code>MESA_GLX_FORCE_ALPHA</code></dt>
-<dd>if set, forces RGB windows to have an alpha channel.</dd>
-<dt><code>MESA_GLX_DEPTH_BITS</code></dt>
-<dd>specifies default number of bits for depth buffer.</dd>
-<dt><code>MESA_GLX_ALPHA_BITS</code></dt>
-<dd>specifies default number of bits for alpha channel.</dd>
-</dl>
-
-
-<h2>i945/i965 driver environment variables (non-Gallium)</h2>
-
-<dl>
-<dt><code>INTEL_NO_HW</code></dt>
-<dd>if set to 1, prevents batches from being submitted to the hardware.
- This is useful for debugging hangs, etc.</dd>
-<dt><code>INTEL_DEBUG</code></dt>
-<dd>a comma-separated list of named flags, which do various things:
-<dl>
- <dt><code>ann</code></dt>
- <dd>annotate IR in assembly dumps</dd>
- <dt><code>aub</code></dt>
- <dd>dump batches into an AUB trace for use with simulation tools</dd>
- <dt><code>bat</code></dt>
- <dd>emit batch information</dd>
- <dt><code>blit</code></dt>
- <dd>emit messages about blit operations</dd>
- <dt><code>blorp</code></dt>
- <dd>emit messages about the blorp operations (blits &amp; clears)</dd>
- <dt><code>buf</code></dt>
- <dd>emit messages about buffer objects</dd>
- <dt><code>clip</code></dt>
- <dd>emit messages about the clip unit (for old gens, includes the CLIP program)</dd>
- <dt><code>color</code></dt>
- <dd>use color in output</dd>
- <dt><code>cs</code></dt>
- <dd>dump shader assembly for compute shaders</dd>
- <dt><code>do32</code></dt>
- <dd>generate compute shader SIMD32 programs even if workgroup size doesn't exceed the SIMD16 limit</dd>
- <dt><code>dri</code></dt>
- <dd>emit messages about the DRI interface</dd>
- <dt><code>fbo</code></dt>
- <dd>emit messages about framebuffers</dd>
- <dt><code>fs</code></dt>
- <dd>dump shader assembly for fragment shaders</dd>
- <dt><code>gs</code></dt>
- <dd>dump shader assembly for geometry shaders</dd>
- <dt><code>hex</code></dt>
- <dd>print instruction hex dump with the disassembly</dd>
- <dt><code>l3</code></dt>
- <dd>emit messages about the new L3 state during transitions</dd>
- <dt><code>miptree</code></dt>
- <dd>emit messages about miptrees</dd>
- <dt><code>no8</code></dt>
- <dd>don't generate SIMD8 fragment shader</dd>
- <dt><code>no16</code></dt>
- <dd>suppress generation of 16-wide fragment shaders. useful for debugging broken shaders</dd>
- <dt><code>nocompact</code></dt>
- <dd>disable instruction compaction</dd>
- <dt><code>nodualobj</code></dt>
- <dd>suppress generation of dual-object geometry shader code</dd>
- <dt><code>nofc</code></dt>
- <dd>disable fast clears</dd>
- <dt><code>norbc</code></dt>
- <dd>disable single sampled render buffer compression</dd>
- <dt><code>optimizer</code></dt>
- <dd>dump shader assembly to files at each optimization pass and iteration that make progress</dd>
- <dt><code>perf</code></dt>
- <dd>emit messages about performance issues</dd>
- <dt><code>perfmon</code></dt>
- <dd>emit messages about <code>AMD_performance_monitor</code></dd>
- <dt><code>pix</code></dt>
- <dd>emit messages about pixel operations</dd>
- <dt><code>prim</code></dt>
- <dd>emit messages about drawing primitives</dd>
- <dt><code>reemit</code></dt>
- <dd>mark all state dirty on each draw call</dd>
- <dt><code>sf</code></dt>
- <dd>emit messages about the strips &amp; fans unit (for old gens, includes the SF program)</dd>
- <dt><code>shader_time</code></dt>
- <dd>record how much GPU time is spent in each shader</dd>
- <dt><code>spill_fs</code></dt>
- <dd>force spilling of all registers in the scalar backend (useful to debug spilling code)</dd>
- <dt><code>spill_vec4</code></dt>
- <dd>force spilling of all registers in the vec4 backend (useful to debug spilling code)</dd>
- <dt><code>state</code></dt>
- <dd>emit messages about state flag tracking</dd>
- <dt><code>submit</code></dt>
- <dd>emit batchbuffer usage statistics</dd>
- <dt><code>sync</code></dt>
- <dd>after sending each batch, emit a message and wait for that batch to finish rendering</dd>
- <dt><code>tcs</code></dt>
- <dd>dump shader assembly for tessellation control shaders</dd>
- <dt><code>tes</code></dt>
- <dd>dump shader assembly for tessellation evaluation shaders</dd>
- <dt><code>tex</code></dt>
- <dd>emit messages about textures.</dd>
- <dt><code>urb</code></dt>
- <dd>emit messages about URB setup</dd>
- <dt><code>vert</code></dt>
- <dd>emit messages about vertex assembly</dd>
- <dt><code>vs</code></dt>
- <dd>dump shader assembly for vertex shaders</dd>
-</dl>
-</dd>
-<dt><code>INTEL_SCALAR_VS</code> (or <code>TCS</code>, <code>TES</code>,
- <code>GS</code>)</dt>
-<dd>force scalar/vec4 mode for a shader stage (Gen8-9 only)</dd>
-<dt><code>INTEL_PRECISE_TRIG</code></dt>
-<dd>if set to 1, true or yes, then the driver prefers accuracy over
- performance in trig functions.</dd>
-</dl>
-
-
-<h2>Radeon driver environment variables (radeon, r200, and r300g)</h2>
-
-<dl>
-<dt><code>RADEON_NO_TCL</code></dt>
-<dd>if set, disable hardware-accelerated Transform/Clip/Lighting.</dd>
-</dl>
-
-
-<h2>EGL environment variables</h2>
-
-<p>
-Mesa EGL supports different sets of environment variables. See the
-<a href="egl.html">Mesa EGL</a> page for the details.
-</p>
-
-
-<h2>Gallium environment variables</h2>
-
-<dl>
-<dt><code>GALLIUM_HUD</code></dt>
-<dd>draws various information on the screen, like framerate,
- cpu load, driver statistics, performance counters, etc.
- Set <code>GALLIUM_HUD=help</code> and run e.g.
- <code>glxgears</code> for more info.</dd>
-<dt><code>GALLIUM_HUD_PERIOD</code></dt>
-<dd>sets the hud update rate in seconds (float). Use zero
- to update every frame. The default period is 1/2 second.</dd>
-<dt><code>GALLIUM_HUD_VISIBLE</code></dt>
-<dd>control default visibility, defaults to true.</dd>
-<dt><code>GALLIUM_HUD_TOGGLE_SIGNAL</code></dt>
-<dd>toggle visibility via user specified signal.
- Especially useful to toggle hud at specific points of application and
- disable for unencumbered viewing the rest of the time. For example, set
- <code>GALLIUM_HUD_VISIBLE</code> to <code>false</code> and
- <code>GALLIUM_HUD_TOGGLE_SIGNAL</code> to <code>10</code>
- (<code>SIGUSR1</code>).
- Use <code>kill -10 &lt;pid&gt;</code> to toggle the hud as desired.</dd>
-<dt><code>GALLIUM_HUD_SCALE</code></dt>
-<dd>Scale hud by an integer factor, for high DPI displays. Default is 1.</dd>
-<dt><code>GALLIUM_HUD_DUMP_DIR</code></dt>
-<dd>specifies a directory for writing the displayed hud values into files.</dd>
-<dt><code>GALLIUM_DRIVER</code></dt>
-<dd>useful in combination with <code>LIBGL_ALWAYS_SOFTWARE=true</code> for
- choosing one of the software renderers <code>softpipe</code>,
- <code>llvmpipe</code> or <code>swr</code>.</dd>
-<dt><code>GALLIUM_LOG_FILE</code></dt>
-<dd>specifies a file for logging all errors, warnings, etc.
- rather than stderr.</dd>
-<dt><code>GALLIUM_PRINT_OPTIONS</code></dt>
-<dd>if non-zero, print all the Gallium environment variables which are
- used, and their current values.</dd>
-<dt><code>GALLIUM_DUMP_CPU</code></dt>
-<dd>if non-zero, print information about the CPU on start-up</dd>
-<dt><code>TGSI_PRINT_SANITY</code></dt>
-<dd>if set, do extra sanity checking on TGSI shaders and
- print any errors to stderr.</dd>
-<dt><code>DRAW_FSE</code></dt>
-<dd>???</dd>
-<dt><code>DRAW_NO_FSE</code></dt>
-<dd>???</dd>
-<dt><code>DRAW_USE_LLVM</code></dt>
-<dd>if set to zero, the draw module will not use LLVM to execute
- shaders, vertex fetch, etc.</dd>
-<dt><code>ST_DEBUG</code></dt>
-<dd>controls debug output from the Mesa/Gallium state tracker.
- Setting to <code>tgsi</code>, for example, will print all the TGSI
- shaders. See <code>src/mesa/state_tracker/st_debug.c</code> for other
- options.</dd>
-</dl>
-
-<h3>Clover environment variables</h3>
-
-<dl>
-<dt><code>CLOVER_EXTRA_BUILD_OPTIONS</code></dt>
-<dd>allows specifying additional compiler and linker
- options. Specified options are appended after the options set by the OpenCL
- program in <code>clBuildProgram</code>.</dd>
-<dt><code>CLOVER_EXTRA_COMPILE_OPTIONS</code></dt>
-<dd>allows specifying additional compiler
- options. Specified options are appended after the options set by the OpenCL
- program in <code>clCompileProgram</code>.</dd>
-<dt><code>CLOVER_EXTRA_LINK_OPTIONS</code></dt>
-<dd>allows specifying additional linker
- options. Specified options are appended after the options set by the OpenCL
- program in <code>clLinkProgram</code>.</dd>
-</dl>
-
-
-<h3>Softpipe driver environment variables</h3>
-<dl>
-<dt><code>SOFTPIPE_DUMP_FS</code></dt>
-<dd>if set, the softpipe driver will print fragment shaders to stderr</dd>
-<dt><code>SOFTPIPE_DUMP_GS</code></dt>
-<dd>if set, the softpipe driver will print geometry shaders to stderr</dd>
-<dt><code>SOFTPIPE_NO_RAST</code></dt>
-<dd>if set, rasterization is no-op'd. For profiling purposes.</dd>
-<dt><code>SOFTPIPE_USE_LLVM</code></dt>
-<dd>if set, the softpipe driver will try to use LLVM JIT for
- vertex shading processing.</dd>
-</dl>
-
-
-<h3>LLVMpipe driver environment variables</h3>
-<dl>
-<dt><code>LP_NO_RAST</code></dt>
-<dd>if set LLVMpipe will no-op rasterization</dd>
-<dt><code>LP_DEBUG</code></dt>
-<dd>a comma-separated list of debug options is accepted. See the
- source code for details.</dd>
-<dt><code>LP_PERF</code></dt>
-<dd>a comma-separated list of options to selectively no-op various
- parts of the driver. See the source code for details.</dd>
-<dt><code>LP_NUM_THREADS</code></dt>
-<dd>an integer indicating how many threads to use for rendering.
- Zero turns off threading completely. The default value is the number of CPU
- cores present.</dd>
-</dl>
-
-<h3>VMware SVGA driver environment variables</h3>
-<dl>
-<dt><code>SVGA_FORCE_SWTNL</code></dt>
-<dd>force use of software vertex transformation</dd>
-<dt><code>SVGA_NO_SWTNL</code></dt>
-<dd>don't allow software vertex transformation fallbacks (will often result
- in incorrect rendering).</dd>
-<dt><code>SVGA_DEBUG</code></dt>
-<dd>for dumping shaders, constant buffers, etc. See the code for
- details.</dd>
-<dt><code>SVGA_EXTRA_LOGGING</code></dt>
-<dd>if set, enables extra logging to the <code>vmware.log</code> file,
- such as the OpenGL program's name and command line arguments.</dd>
-<dt><code>SVGA_NO_LOGGING</code></dt>
-<dd>if set, disables logging to the <code>vmware.log</code> file. This is
- useful when using Valgrind because it otherwise crashes when
- initializing the host log feature.</dd>
-</dl>
-<p>See the driver code for other, lesser-used variables.</p>
-
-<h3>WGL environment variables</h3>
-<dl>
-<dt><code>WGL_SWAP_INTERVAL</code></dt>
-<dd>to set a swap interval, equivalent to calling
- <code>wglSwapIntervalEXT()</code> in an application. If this
- environment variable is set, application calls to
- <code>wglSwapIntervalEXT()</code> will have no effect.</dd>
-</dl>
-
-<h3>VA-API environment variables</h3>
-<dl>
-<dt><code>VAAPI_MPEG4_ENABLED</code></dt>
-<dd>enable MPEG4 for VA-API, disabled by default.</dd>
-</dl>
-
-
-<h3>VC4 driver environment variables</h3>
-<dl>
-<dt><code>VC4_DEBUG</code></dt>
-<dd>a comma-separated list of named flags, which do various things:
-<dl>
- <dt><code>cl</code></dt>
- <dd>dump command list during creation</dd>
- <dt><code>qpu</code></dt>
- <dd>dump generated QPU instructions</dd>
- <dt><code>qir</code></dt>
- <dd>dump QPU IR during program compile</dd>
- <dt><code>nir</code></dt>
- <dd>dump NIR during program compile</dd>
- <dt><code>tgsi</code></dt>
- <dd>dump TGSI during program compile</dd>
- <dt><code>shaderdb</code></dt>
- <dd>dump program compile information for shader-db analysis</dd>
- <dt><code>perf</code></dt>
- <dd>print during performance-related events</dd>
- <dt><code>norast</code></dt>
- <dd>skip actual hardware execution of commands</dd>
- <dt><code>always_flush</code></dt>
- <dd>flush after each draw call</dd>
- <dt><code>always_sync</code></dt>
- <dd>wait for finish after each flush</dd>
- <dt><code>dump</code></dt>
- <dd>write a GPU command stream trace file (VC4 simulator only)</dd>
-</dl>
-</dd>
-</dl>
-
-
-<h3>RADV driver environment variables</h3>
-<dl>
-<dt><code>RADV_DEBUG</code></dt>
-<dd>a comma-separated list of named flags, which do various things:
-<dl>
- <dt><code>allbos</code></dt>
- <dd>force all allocated buffers to be referenced in submissions</dd>
- <dt><code>allentrypoints</code></dt>
- <dd>enable all device/instance entrypoints</dd>
- <dt><code>checkir</code></dt>
- <dd>validate the LLVM IR before LLVM compiles the shader</dd>
- <dt><code>errors</code></dt>
- <dd>display more info about errors</dd>
- <dt><code>info</code></dt>
- <dd>show GPU-related information</dd>
- <dt><code>metashaders</code></dt>
- <dd>dump internal meta shaders</dd>
- <dt><code>nobinning</code></dt>
- <dd>disable primitive binning</dd>
- <dt><code>nocache</code></dt>
- <dd>disable shaders cache</dd>
- <dt><code>nocompute</code></dt>
- <dd>disable compute queue</dd>
- <dt><code>nodcc</code></dt>
- <dd>disable Delta Color Compression (DCC) on images</dd>
- <dt><code>nodynamicbounds</code></dt>
- <dd>do not check OOB access for dynamic descriptors</dd>
- <dt><code>nofastclears</code></dt>
- <dd>disable fast color/depthstencil clears</dd>
- <dt><code>nohiz</code></dt>
- <dd>disable HIZ for depthstencil images</dd>
- <dt><code>noibs</code></dt>
- <dd>disable directly recording command buffers in GPU-visible memory</dd>
- <dt><code>noloadstoreopt</code></dt>
- <dd>disable LLVM SILoadStoreOptimizer pass</dd>
- <dt><code>nomemorycache</code></dt>
- <dd>disable memory shaders cache</dd>
- <dt><code>nongg</code></dt>
- <dd>disable NGG for GFX10+</dd>
- <dt><code>nooutoforder</code></dt>
- <dd>disable out-of-order rasterization</dd>
- <dt><code>noshaderballot</code></dt>
- <dd>disable shader ballot</dd>
- <dt><code>nothreadllvm</code></dt>
- <dd>disable LLVM threaded compilation</dd>
- <dt><code>preoptir</code></dt>
- <dd>dump LLVM IR before any optimizations</dd>
- <dt><code>shaders</code></dt>
- <dd>dump shaders</dd>
- <dt><code>shaderstats</code></dt>
- <dd>dump shader statistics</dd>
- <dt><code>spirv</code></dt>
- <dd>dump SPIR-V</dd>
- <dt><code>startup</code></dt>
- <dd>display info at startup</dd>
- <dt><code>syncshaders</code></dt>
- <dd>synchronize shaders after all draws/dispatches</dd>
- <dt><code>vmfaults</code></dt>
- <dd>check for VM memory faults via dmesg</dd>
- <dt><code>zerovram</code></dt>
- <dd>initialize all memory allocated in VRAM as zero</dd>
-</dl>
-</dd>
-<dt><code>RADV_FORCE_FAMILY</code></dt>
-<dd>create a null device to compile shaders without a AMD GPU (eg. gfx900)</dd>
-<dt><code>RADV_PERFTEST</code></dt>
-<dd>a comma-separated list of named flags, which do various things:
-<dl>
- <dt><code>aco</code></dt>
- <dd>enable ACO experimental compiler</dd>
- <dt><code>bolist</code></dt>
- <dd>enable the global BO list</dd>
- <dt><code>cswave32</code></dt>
- <dd>enable wave32 for compute shaders (GFX10+)</dd>
- <dt><code>dccmsaa</code></dt>
- <dd>enable DCC for MSAA images</dd>
- <dt><code>dfsm</code></dt>
- <dd>enable dfsm</dd>
- <dt><code>gewave32</code></dt>
- <dd>enable wave32 for vertex/tess/geometry shaders (GFX10+)</dd>
- <dt><code>localbos</code></dt>
- <dd>enable local BOs</dd>
- <dt><code>pswave32</code></dt>
- <dd>enable wave32 for pixel shaders (GFX10+)</dd>
- <dt><code>shader_ballot</code></dt>
- <dd>enable shader ballot</dd>
- <dt><code>tccompatcmask</code></dt>
- <dd>enable TC-compat cmask for MSAA images</dd>
-</dl>
-</dd>
-<dt><code>RADV_SECURE_COMPILE_THREADS</code></dt>
-<dd>maximum number of secure compile threads (up to 32)</dd>
-<dt><code>RADV_TEX_ANISO</code></dt>
-<dd>force anisotropy filter (up to 16)</dd>
-<dt><code>RADV_TRACE_FILE</code></dt>
-<dd>generate cmdbuffer tracefiles when a GPU hang is detected</dd>
-<dt><code>ACO_DEBUG</code></dt>
-<dd>a comma-separated list of named flags, which do various things:
-<dl>
- <dt><code>validateir</code></dt>
- <dd>validate the ACO IR at various points of compilation (enabled by default for debug/debugoptimized builds)</dd>
- <dt><code>validatera</code></dt>
- <dd>validate register assignment of ACO IR and catches many RA bugs</dd>
- <dt><code>perfwarn</code></dt>
- <dd>abort on some suboptimal code generation</dd>
-</dl>
-</dd>
-</dl>
-
-<h3>radeonsi driver environment variables</h3>
-<dl>
-<dt><code>AMD_DEBUG</code></dt>
-<dd>a comma-separated list of named flags, which do various things:</dd>
-<dl>
-<dd></dd>
- <h4>Disable features / workaround flags (useful to diagnose an issue):</h4>
- <dt><code>nodma</code></dt>
- <dd>Disable SDMA</dd>
- <dt><code>nodmaclear</code></dt>
- <dd>Disable SDMA clears</dd>
- <dt><code>nodmacopyimage</code></dt>
- <dd>Disable SDMA image copies</dd>
- <dt><code>zerovram</code></dt>
- <dd>Clear VRAM allocations.</dd>
- <dt><code>nodcc</code></dt>
- <dd>Disable DCC.</dd>
- <dt><code>nodccclear</code></dt>
- <dd>Disable DCC fast clear.</dd>
- <dt><code>nodccfb</code></dt>
- <dd>Disable separate DCC on the main framebuffer</dd>
- <dt><code>nodccmsaa</code></dt>
- <dd>Disable DCC for MSAA</dd>
- <dt><code>nodpbb</code></dt>
- <dd>Disable DPBB.</dd>
- <dt><code>nodfsm</code></dt>
- <dd>Disable DFSM.</dd>
- <dt><code>notiling</code></dt>
- <dd>Disable tiling</dd>
- <dt><code>nofmask</code></dt>
- <dd>Disable MSAA compression</dd>
- <dt><code>nohyperz</code></dt>
- <dd>Disable Hyper-Z</dd>
- <dt><code>norbplus</code></dt>
- <dd>Disable RB+.</dd>
- <dt><code>no2d</code></dt>
- <dd>Disable 2D tiling</dd>
- <h4>Info flags:</h4>
- <dt><code>info</code></dt>
- <dd>Print driver information</dd>
- <dt><code>tex</code></dt>
- <dd>Print texture info</dd>
- <dt><code>compute</code></dt>
- <dd>Print compute info</dd>
- <dt><code>vm</code></dt>
- <dd>Print virtual addresses when creating resources</dd>
- <h4>Print shaders flags:</h4>
- <dt><code>vs</code></dt>
- <dd>Print vertex shaders</dd>
- <dt><code>ps</code></dt>
- <dd>Print pixel shaders</dd>
- <dt><code>gs</code></dt>
- <dd>Print geometry shaders</dd>
- <dt><code>tcs</code></dt>
- <dd>Print tessellation control shaders</dd>
- <dt><code>tes</code></dt>
- <dd>Print tessellation evaluation shaders</dd>
- <dt><code>cs</code></dt>
- <dd>Print compute shaders</dd>
- <dt><code>noir</code></dt>
- <dd>Don't print the LLVM IR</dd>
- <dt><code>nonir</code></dt>
- <dd>Don't print NIR when printing shaders</dd>
- <dt><code>noasm</code></dt>
- <dd>Don't print disassembled shaders</dd>
- <dt><code>preoptir</code></dt>
- <dd>Print the LLVM IR before initial optimizations</dd>
- <h4>Shader compilation tuning flags:</h4>
- <dt><code>gisel</code></dt>
- <dd>Enable LLVM global instruction selector.</dd>
- <dt><code>w32ge</code></dt>
- <dd>Use Wave32 for vertex, tessellation, and geometry shaders.</dd>
- <dt><code>w32ps</code></dt>
- <dd>Use Wave32 for pixel shaders.</dd>
- <dt><code>w32cs</code></dt>
- <dd>Use Wave32 for computes shaders.</dd>
- <dt><code>w64ge</code></dt>
- <dd>Use Wave64 for vertex, tessellation, and geometry shaders.</dd>
- <dt><code>w64ps</code></dt>
- <dd>Use Wave64 for pixel shaders.</dd>
- <dt><code>w64cs</code></dt>
- <dd>Use Wave64 for computes shaders.</dd>
- <dt><code>checkir</code></dt>
- <dd>Enable additional sanity checks on shader IR</dd>
- <dt><code>mono</code></dt>
- <dd>Use old-style monolithic shaders compiled on demand</dd>
- <dt><code>nooptvariant</code></dt>
- <dd>Disable compiling optimized shader variants.</dd>
- <h4>Advanced usage flags:</h4>
- <dt><code>forcedma</code></dt>
- <dd>Use SDMA for all operations when possible.</dd>
- <dt><code>nowc</code></dt>
- <dd>Disable GTT write combining</dd>
- <dt><code>check_vm</code></dt>
- <dd>Check VM faults and dump debug info.</dd>
- <dt><code>reserve_vmid</code></dt>
- <dd>Force VMID reservation per context.</dd>
- <dt><code>nogfx</code></dt>
- <dd>Disable graphics. Only multimedia compute paths can be used.</dd>
- <dt><code>nongg</code></dt>
- <dd>Disable NGG and use the legacy pipeline.</dd>
- <dt><code>nggc</code></dt>
- <dd>Always use NGG culling even when it can hurt.</dd>
- <dt><code>nonggc</code></dt>
- <dd>Disable NGG culling.</dd>
- <dt><code>alwayspd</code></dt>
- <dd>Always enable the primitive discard compute shader.</dd>
- <dt><code>pd</code></dt>
- <dd>Enable the primitive discard compute shader for large draw calls.</dd>
- <dt><code>nopd</code></dt>
- <dd>Disable the primitive discard compute shader.</dd>
- <dt><code>switch_on_eop</code></dt>
- <dd>Program WD/IA to switch on end-of-packet.</dd>
- <dt><code>nooutoforder</code></dt>
- <dd>Disable out-of-order rasterization</dd>
- <dt><code>dpbb</code></dt>
- <dd>Enable DPBB.</dd>
- <dt><code>dfsm</code></dt>
- <dd>Enable DFSM.</dd>
-</dl>
-
-<p>
-Other Gallium drivers have their own environment variables. These may change
-frequently so the source code should be consulted for details.
-</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/envvars.rst b/docs/envvars.rst
new file mode 100644
index 00000000000..59060cf400a
--- /dev/null
+++ b/docs/envvars.rst
@@ -0,0 +1,724 @@
+Environment Variables
+=====================
+
+Normally, no environment variables need to be set. Most of the
+environment variables used by Mesa/Gallium are for debugging purposes,
+but they can sometimes be useful for debugging end-user issues.
+
+LibGL environment variables
+---------------------------
+
+``LIBGL_DEBUG``
+ If defined debug information will be printed to stderr. If set to
+ ``verbose`` additional information will be printed.
+``LIBGL_DRIVERS_PATH``
+ colon-separated list of paths to search for DRI drivers
+``LIBGL_ALWAYS_INDIRECT``
+ if set to ``true``, forces an indirect rendering context/connection.
+``LIBGL_ALWAYS_SOFTWARE``
+ if set to ``true``, always use software rendering
+``LIBGL_NO_DRAWARRAYS``
+ if set to ``true``, do not use DrawArrays GLX protocol (for
+ debugging)
+``LIBGL_SHOW_FPS``
+ print framerate to stdout based on the number of ``glXSwapBuffers``
+ calls per second.
+``LIBGL_DRI3_DISABLE``
+ disable DRI3 if set to ``true``.
+
+Core Mesa environment variables
+-------------------------------
+
+``MESA_NO_ASM``
+ if set, disables all assembly language optimizations
+``MESA_NO_MMX``
+ if set, disables Intel MMX optimizations
+``MESA_NO_3DNOW``
+ if set, disables AMD 3DNow! optimizations
+``MESA_NO_SSE``
+ if set, disables Intel SSE optimizations
+``MESA_NO_ERROR``
+ if set to 1, error checking is disabled as per ``KHR_no_error``. This
+ will result in undefined behaviour for invalid use of the api, but
+ can reduce CPU use for apps that are known to be error free.
+``MESA_DEBUG``
+ if set, error messages are printed to stderr. For example, if the
+ application generates a ``GL_INVALID_ENUM`` error, a corresponding
+ error message indicating where the error occurred, and possibly why,
+ will be printed to stderr. For release builds, ``MESA_DEBUG``
+ defaults to off (no debug output). ``MESA_DEBUG`` accepts the
+ following comma-separated list of named flags, which adds extra
+ behaviour to just set ``MESA_DEBUG=1``:
+
+ ``silent``
+ turn off debug messages. Only useful for debug builds.
+ ``flush``
+ flush after each drawing command
+ ``incomplete_tex``
+ extra debug messages when a texture is incomplete
+ ``incomplete_fbo``
+ extra debug messages when a fbo is incomplete
+ ``context``
+ create a debug context (see ``GLX_CONTEXT_DEBUG_BIT_ARB``) and
+ print error and performance messages to stderr (or
+ ``MESA_LOG_FILE``).
+
+``MESA_LOG_FILE``
+ specifies a file name for logging all errors, warnings, etc., rather
+ than stderr
+``MESA_TEX_PROG``
+ if set, implement conventional texture env modes with fragment
+ programs (intended for developers only)
+``MESA_TNL_PROG``
+ if set, implement conventional vertex transformation operations with
+ vertex programs (intended for developers only). Setting this variable
+ automatically sets the ``MESA_TEX_PROG`` variable as well.
+``MESA_EXTENSION_OVERRIDE``
+ can be used to enable/disable extensions. A value such as
+ ``GL_EXT_foo -GL_EXT_bar`` will enable the ``GL_EXT_foo`` extension
+ and disable the ``GL_EXT_bar`` extension.
+``MESA_EXTENSION_MAX_YEAR``
+ The ``GL_EXTENSIONS`` string returned by Mesa is sorted by extension
+ year. If this variable is set to year X, only extensions defined on
+ or before year X will be reported. This is to work-around a bug in
+ some games where the extension string is copied into a fixed-size
+ buffer without truncating. If the extension string is too long, the
+ buffer overrun can cause the game to crash. This is a work-around for
+ that.
+``MESA_GL_VERSION_OVERRIDE``
+ changes the value returned by ``glGetString(GL_VERSION)`` and
+ possibly the GL API type.
+
+ - The format should be ``MAJOR.MINOR[FC|COMPAT]``
+ - ``FC`` is an optional suffix that indicates a forward compatible
+ context. This is only valid for versions >= 3.0.
+ - ``COMPAT`` is an optional suffix that indicates a compatibility
+ context or ``GL_ARB_compatibility`` support. This is only valid
+ for versions >= 3.1.
+ - GL versions <= 3.0 are set to a compatibility (non-Core) profile
+ - GL versions = 3.1, depending on the driver, it may or may not have
+ the ``ARB_compatibility`` extension enabled.
+ - GL versions >= 3.2 are set to a Core profile
+ - Examples:
+
+ ``2.1``
+ select a compatibility (non-Core) profile with GL version 2.1.
+ ``3.0``
+ select a compatibility (non-Core) profile with GL version 3.0.
+ ``3.0FC``
+ select a Core+Forward Compatible profile with GL version 3.0.
+ ``3.1``
+ select GL version 3.1 with ``GL_ARB_compatibility`` enabled per
+ the driver default.
+ ``3.1FC``
+ select GL version 3.1 with forward compatibility and
+ ``GL_ARB_compatibility`` disabled.
+ ``3.1COMPAT``
+ select GL version 3.1 with ``GL_ARB_compatibility`` enabled.
+ ``X.Y``
+ override GL version to X.Y without changing the profile.
+ ``X.YFC``
+ select a Core+Forward Compatible profile with GL version X.Y.
+ ``X.YCOMPAT``
+ select a Compatibility profile with GL version X.Y.
+
+ - Mesa may not really implement all the features of the given
+ version. (for developers only)
+
+``MESA_GLES_VERSION_OVERRIDE``
+ changes the value returned by ``glGetString(GL_VERSION)`` for OpenGL
+ ES.
+
+ - The format should be ``MAJOR.MINOR``
+ - Examples: ``2.0``, ``3.0``, ``3.1``
+ - Mesa may not really implement all the features of the given
+ version. (for developers only)
+
+``MESA_GLSL_VERSION_OVERRIDE``
+ changes the value returned by
+ ``glGetString(GL_SHADING_LANGUAGE_VERSION)``. Valid values are
+ integers, such as ``130``. Mesa will not really implement all the
+ features of the given language version if it's higher than what's
+ normally reported. (for developers only)
+``MESA_GLSL_CACHE_DISABLE``
+ if set to ``true``, disables the GLSL shader cache
+``MESA_GLSL_CACHE_MAX_SIZE``
+ if set, determines the maximum size of the on-disk cache of compiled
+ GLSL programs. Should be set to a number optionally followed by
+ ``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or
+ gigabytes. By default, gigabytes will be assumed. And if unset, a
+ maximum size of 1GB will be used. Note: A separate cache might be
+ created for each architecture that Mesa is installed for on your
+ system. For example under the default settings you may end up with a
+ 1GB cache for x86_64 and another 1GB cache for i386.
+``MESA_GLSL_CACHE_DIR``
+ if set, determines the directory to be used for the on-disk cache of
+ compiled GLSL programs. If this variable is not set, then the cache
+ will be stored in ``$XDG_CACHE_HOME/mesa_shader_cache`` (if that
+ variable is set), or else within ``.cache/mesa_shader_cache`` within
+ the user's home directory.
+``MESA_GLSL``
+ `shading language compiler options <shading.html#envvars>`__
+``MESA_NO_MINMAX_CACHE``
+ when set, the minmax index cache is globally disabled.
+``MESA_SHADER_CAPTURE_PATH``
+ see `Capturing Shaders <shading.html#capture>`__
+``MESA_SHADER_DUMP_PATH`` and ``MESA_SHADER_READ_PATH``
+ see `Experimenting with Shader
+ Replacements <shading.html#replacement>`__
+``MESA_VK_VERSION_OVERRIDE``
+ changes the Vulkan physical device version as returned in
+ ``VkPhysicalDeviceProperties::apiVersion``.
+
+ - The format should be ``MAJOR.MINOR[.PATCH]``
+ - This will not let you force a version higher than the driver's
+ instance version as advertised by ``vkEnumerateInstanceVersion``
+ - This can be very useful for debugging but some features may not be
+ implemented correctly. (For developers only)
+
+NIR passes enviroment variables
+-------------------------------
+
+The following are only applicable for drivers that uses NIR, as they
+modify the behaviour for the common NIR_PASS and NIR_PASS_V macros, that
+wrap calls to NIR lowering/optimizations.
+
+``NIR_PRINT``
+ If defined, the resulting NIR shader will be printed out at each
+ succesful NIR lowering/optimization call.
+``NIR_TEST_CLONE``
+ If defined, cloning a NIR shader would be tested at each succesful
+ NIR lowering/optimization call.
+``NIR_TEST_SERIALIZE``
+ If defined, serialize and deserialize a NIR shader would be tested at
+ each succesful NIR lowering/optimization call.
+
+Mesa Xlib driver environment variables
+--------------------------------------
+
+The following are only applicable to the Mesa Xlib software driver. See
+the `Xlib software driver page <xlibdriver.html>`__ for details.
+
+``MESA_RGB_VISUAL``
+ specifies the X visual and depth for RGB mode
+``MESA_CI_VISUAL``
+ specifies the X visual and depth for CI mode
+``MESA_BACK_BUFFER``
+ specifies how to implement the back color buffer, either ``pixmap``
+ or ``ximage``
+``MESA_GAMMA``
+ gamma correction coefficients for red, green, blue channels
+``MESA_XSYNC``
+ enable synchronous X behavior (for debugging only)
+``MESA_GLX_FORCE_CI``
+ if set, force GLX to treat 8bpp visuals as CI visuals
+``MESA_GLX_FORCE_ALPHA``
+ if set, forces RGB windows to have an alpha channel.
+``MESA_GLX_DEPTH_BITS``
+ specifies default number of bits for depth buffer.
+``MESA_GLX_ALPHA_BITS``
+ specifies default number of bits for alpha channel.
+
+i945/i965 driver environment variables (non-Gallium)
+----------------------------------------------------
+
+``INTEL_NO_HW``
+ if set to 1, prevents batches from being submitted to the hardware.
+ This is useful for debugging hangs, etc.
+``INTEL_DEBUG``
+ a comma-separated list of named flags, which do various things:
+
+ ``ann``
+ annotate IR in assembly dumps
+ ``aub``
+ dump batches into an AUB trace for use with simulation tools
+ ``bat``
+ emit batch information
+ ``blit``
+ emit messages about blit operations
+ ``blorp``
+ emit messages about the blorp operations (blits & clears)
+ ``buf``
+ emit messages about buffer objects
+ ``clip``
+ emit messages about the clip unit (for old gens, includes the CLIP
+ program)
+ ``color``
+ use color in output
+ ``cs``
+ dump shader assembly for compute shaders
+ ``do32``
+ generate compute shader SIMD32 programs even if workgroup size
+ doesn't exceed the SIMD16 limit
+ ``dri``
+ emit messages about the DRI interface
+ ``fbo``
+ emit messages about framebuffers
+ ``fs``
+ dump shader assembly for fragment shaders
+ ``gs``
+ dump shader assembly for geometry shaders
+ ``hex``
+ print instruction hex dump with the disassembly
+ ``l3``
+ emit messages about the new L3 state during transitions
+ ``miptree``
+ emit messages about miptrees
+ ``no8``
+ don't generate SIMD8 fragment shader
+ ``no16``
+ suppress generation of 16-wide fragment shaders. useful for
+ debugging broken shaders
+ ``nocompact``
+ disable instruction compaction
+ ``nodualobj``
+ suppress generation of dual-object geometry shader code
+ ``nofc``
+ disable fast clears
+ ``norbc``
+ disable single sampled render buffer compression
+ ``optimizer``
+ dump shader assembly to files at each optimization pass and
+ iteration that make progress
+ ``perf``
+ emit messages about performance issues
+ ``perfmon``
+ emit messages about ``AMD_performance_monitor``
+ ``pix``
+ emit messages about pixel operations
+ ``prim``
+ emit messages about drawing primitives
+ ``reemit``
+ mark all state dirty on each draw call
+ ``sf``
+ emit messages about the strips & fans unit (for old gens, includes
+ the SF program)
+ ``shader_time``
+ record how much GPU time is spent in each shader
+ ``spill_fs``
+ force spilling of all registers in the scalar backend (useful to
+ debug spilling code)
+ ``spill_vec4``
+ force spilling of all registers in the vec4 backend (useful to
+ debug spilling code)
+ ``state``
+ emit messages about state flag tracking
+ ``submit``
+ emit batchbuffer usage statistics
+ ``sync``
+ after sending each batch, emit a message and wait for that batch
+ to finish rendering
+ ``tcs``
+ dump shader assembly for tessellation control shaders
+ ``tes``
+ dump shader assembly for tessellation evaluation shaders
+ ``tex``
+ emit messages about textures.
+ ``urb``
+ emit messages about URB setup
+ ``vert``
+ emit messages about vertex assembly
+ ``vs``
+ dump shader assembly for vertex shaders
+
+``INTEL_SCALAR_VS`` (or ``TCS``, ``TES``, ``GS``)
+ force scalar/vec4 mode for a shader stage (Gen8-9 only)
+``INTEL_PRECISE_TRIG``
+ if set to 1, true or yes, then the driver prefers accuracy over
+ performance in trig functions.
+
+Radeon driver environment variables (radeon, r200, and r300g)
+-------------------------------------------------------------
+
+``RADEON_NO_TCL``
+ if set, disable hardware-accelerated Transform/Clip/Lighting.
+
+EGL environment variables
+-------------------------
+
+Mesa EGL supports different sets of environment variables. See the `Mesa
+EGL <egl.html>`__ page for the details.
+
+Gallium environment variables
+-----------------------------
+
+``GALLIUM_HUD``
+ draws various information on the screen, like framerate, cpu load,
+ driver statistics, performance counters, etc. Set
+ ``GALLIUM_HUD=help`` and run e.g. ``glxgears`` for more info.
+``GALLIUM_HUD_PERIOD``
+ sets the hud update rate in seconds (float). Use zero to update every
+ frame. The default period is 1/2 second.
+``GALLIUM_HUD_VISIBLE``
+ control default visibility, defaults to true.
+``GALLIUM_HUD_TOGGLE_SIGNAL``
+ toggle visibility via user specified signal. Especially useful to
+ toggle hud at specific points of application and disable for
+ unencumbered viewing the rest of the time. For example, set
+ ``GALLIUM_HUD_VISIBLE`` to ``false`` and
+ ``GALLIUM_HUD_TOGGLE_SIGNAL`` to ``10`` (``SIGUSR1``). Use
+ ``kill -10 <pid>`` to toggle the hud as desired.
+``GALLIUM_HUD_SCALE``
+ Scale hud by an integer factor, for high DPI displays. Default is 1.
+``GALLIUM_HUD_DUMP_DIR``
+ specifies a directory for writing the displayed hud values into
+ files.
+``GALLIUM_DRIVER``
+ useful in combination with ``LIBGL_ALWAYS_SOFTWARE=true`` for
+ choosing one of the software renderers ``softpipe``, ``llvmpipe`` or
+ ``swr``.
+``GALLIUM_LOG_FILE``
+ specifies a file for logging all errors, warnings, etc. rather than
+ stderr.
+``GALLIUM_PRINT_OPTIONS``
+ if non-zero, print all the Gallium environment variables which are
+ used, and their current values.
+``GALLIUM_DUMP_CPU``
+ if non-zero, print information about the CPU on start-up
+``TGSI_PRINT_SANITY``
+ if set, do extra sanity checking on TGSI shaders and print any errors
+ to stderr.
+``DRAW_FSE``
+ ???
+``DRAW_NO_FSE``
+ ???
+``DRAW_USE_LLVM``
+ if set to zero, the draw module will not use LLVM to execute shaders,
+ vertex fetch, etc.
+``ST_DEBUG``
+ controls debug output from the Mesa/Gallium state tracker. Setting to
+ ``tgsi``, for example, will print all the TGSI shaders. See
+ ``src/mesa/state_tracker/st_debug.c`` for other options.
+
+Clover environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``CLOVER_EXTRA_BUILD_OPTIONS``
+ allows specifying additional compiler and linker options. Specified
+ options are appended after the options set by the OpenCL program in
+ ``clBuildProgram``.
+``CLOVER_EXTRA_COMPILE_OPTIONS``
+ allows specifying additional compiler options. Specified options are
+ appended after the options set by the OpenCL program in
+ ``clCompileProgram``.
+``CLOVER_EXTRA_LINK_OPTIONS``
+ allows specifying additional linker options. Specified options are
+ appended after the options set by the OpenCL program in
+ ``clLinkProgram``.
+
+Softpipe driver environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``SOFTPIPE_DUMP_FS``
+ if set, the softpipe driver will print fragment shaders to stderr
+``SOFTPIPE_DUMP_GS``
+ if set, the softpipe driver will print geometry shaders to stderr
+``SOFTPIPE_NO_RAST``
+ if set, rasterization is no-op'd. For profiling purposes.
+``SOFTPIPE_USE_LLVM``
+ if set, the softpipe driver will try to use LLVM JIT for vertex
+ shading processing.
+
+LLVMpipe driver environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``LP_NO_RAST``
+ if set LLVMpipe will no-op rasterization
+``LP_DEBUG``
+ a comma-separated list of debug options is accepted. See the source
+ code for details.
+``LP_PERF``
+ a comma-separated list of options to selectively no-op various parts
+ of the driver. See the source code for details.
+``LP_NUM_THREADS``
+ an integer indicating how many threads to use for rendering. Zero
+ turns off threading completely. The default value is the number of
+ CPU cores present.
+
+VMware SVGA driver environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``SVGA_FORCE_SWTNL``
+ force use of software vertex transformation
+``SVGA_NO_SWTNL``
+ don't allow software vertex transformation fallbacks (will often
+ result in incorrect rendering).
+``SVGA_DEBUG``
+ for dumping shaders, constant buffers, etc. See the code for details.
+``SVGA_EXTRA_LOGGING``
+ if set, enables extra logging to the ``vmware.log`` file, such as the
+ OpenGL program's name and command line arguments.
+``SVGA_NO_LOGGING``
+ if set, disables logging to the ``vmware.log`` file. This is useful
+ when using Valgrind because it otherwise crashes when initializing
+ the host log feature.
+
+See the driver code for other, lesser-used variables.
+
+WGL environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``WGL_SWAP_INTERVAL``
+ to set a swap interval, equivalent to calling
+ ``wglSwapIntervalEXT()`` in an application. If this environment
+ variable is set, application calls to ``wglSwapIntervalEXT()`` will
+ have no effect.
+
+VA-API environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``VAAPI_MPEG4_ENABLED``
+ enable MPEG4 for VA-API, disabled by default.
+
+VC4 driver environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``VC4_DEBUG``
+ a comma-separated list of named flags, which do various things:
+
+ ``cl``
+ dump command list during creation
+ ``qpu``
+ dump generated QPU instructions
+ ``qir``
+ dump QPU IR during program compile
+ ``nir``
+ dump NIR during program compile
+ ``tgsi``
+ dump TGSI during program compile
+ ``shaderdb``
+ dump program compile information for shader-db analysis
+ ``perf``
+ print during performance-related events
+ ``norast``
+ skip actual hardware execution of commands
+ ``always_flush``
+ flush after each draw call
+ ``always_sync``
+ wait for finish after each flush
+ ``dump``
+ write a GPU command stream trace file (VC4 simulator only)
+
+RADV driver environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``RADV_DEBUG``
+ a comma-separated list of named flags, which do various things:
+
+ ``allbos``
+ force all allocated buffers to be referenced in submissions
+ ``allentrypoints``
+ enable all device/instance entrypoints
+ ``checkir``
+ validate the LLVM IR before LLVM compiles the shader
+ ``errors``
+ display more info about errors
+ ``info``
+ show GPU-related information
+ ``metashaders``
+ dump internal meta shaders
+ ``nobinning``
+ disable primitive binning
+ ``nocache``
+ disable shaders cache
+ ``nocompute``
+ disable compute queue
+ ``nodcc``
+ disable Delta Color Compression (DCC) on images
+ ``nodynamicbounds``
+ do not check OOB access for dynamic descriptors
+ ``nofastclears``
+ disable fast color/depthstencil clears
+ ``nohiz``
+ disable HIZ for depthstencil images
+ ``noibs``
+ disable directly recording command buffers in GPU-visible memory
+ ``noloadstoreopt``
+ disable LLVM SILoadStoreOptimizer pass
+ ``nomemorycache``
+ disable memory shaders cache
+ ``nongg``
+ disable NGG for GFX10+
+ ``nooutoforder``
+ disable out-of-order rasterization
+ ``noshaderballot``
+ disable shader ballot
+ ``nothreadllvm``
+ disable LLVM threaded compilation
+ ``preoptir``
+ dump LLVM IR before any optimizations
+ ``shaders``
+ dump shaders
+ ``shaderstats``
+ dump shader statistics
+ ``spirv``
+ dump SPIR-V
+ ``startup``
+ display info at startup
+ ``syncshaders``
+ synchronize shaders after all draws/dispatches
+ ``vmfaults``
+ check for VM memory faults via dmesg
+ ``zerovram``
+ initialize all memory allocated in VRAM as zero
+
+``RADV_FORCE_FAMILY``
+ create a null device to compile shaders without a AMD GPU (eg.
+ gfx900)
+``RADV_PERFTEST``
+ a comma-separated list of named flags, which do various things:
+
+ ``aco``
+ enable ACO experimental compiler
+ ``bolist``
+ enable the global BO list
+ ``cswave32``
+ enable wave32 for compute shaders (GFX10+)
+ ``dccmsaa``
+ enable DCC for MSAA images
+ ``dfsm``
+ enable dfsm
+ ``gewave32``
+ enable wave32 for vertex/tess/geometry shaders (GFX10+)
+ ``localbos``
+ enable local BOs
+ ``pswave32``
+ enable wave32 for pixel shaders (GFX10+)
+ ``shader_ballot``
+ enable shader ballot
+ ``tccompatcmask``
+ enable TC-compat cmask for MSAA images
+
+``RADV_SECURE_COMPILE_THREADS``
+ maximum number of secure compile threads (up to 32)
+``RADV_TEX_ANISO``
+ force anisotropy filter (up to 16)
+``RADV_TRACE_FILE``
+ generate cmdbuffer tracefiles when a GPU hang is detected
+``ACO_DEBUG``
+ a comma-separated list of named flags, which do various things:
+
+ ``validateir``
+ validate the ACO IR at various points of compilation (enabled by
+ default for debug/debugoptimized builds)
+ ``validatera``
+ validate register assignment of ACO IR and catches many RA bugs
+ ``perfwarn``
+ abort on some suboptimal code generation
+
+radeonsi driver environment variables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``AMD_DEBUG``
+ a comma-separated list of named flags, which do various things:
+``nodma``
+ Disable SDMA
+``nodmaclear``
+ Disable SDMA clears
+``nodmacopyimage``
+ Disable SDMA image copies
+``zerovram``
+ Clear VRAM allocations.
+``nodcc``
+ Disable DCC.
+``nodccclear``
+ Disable DCC fast clear.
+``nodccfb``
+ Disable separate DCC on the main framebuffer
+``nodccmsaa``
+ Disable DCC for MSAA
+``nodpbb``
+ Disable DPBB.
+``nodfsm``
+ Disable DFSM.
+``notiling``
+ Disable tiling
+``nofmask``
+ Disable MSAA compression
+``nohyperz``
+ Disable Hyper-Z
+``norbplus``
+ Disable RB+.
+``no2d``
+ Disable 2D tiling
+``info``
+ Print driver information
+``tex``
+ Print texture info
+``compute``
+ Print compute info
+``vm``
+ Print virtual addresses when creating resources
+``vs``
+ Print vertex shaders
+``ps``
+ Print pixel shaders
+``gs``
+ Print geometry shaders
+``tcs``
+ Print tessellation control shaders
+``tes``
+ Print tessellation evaluation shaders
+``cs``
+ Print compute shaders
+``noir``
+ Don't print the LLVM IR
+``nonir``
+ Don't print NIR when printing shaders
+``noasm``
+ Don't print disassembled shaders
+``preoptir``
+ Print the LLVM IR before initial optimizations
+``gisel``
+ Enable LLVM global instruction selector.
+``w32ge``
+ Use Wave32 for vertex, tessellation, and geometry shaders.
+``w32ps``
+ Use Wave32 for pixel shaders.
+``w32cs``
+ Use Wave32 for computes shaders.
+``w64ge``
+ Use Wave64 for vertex, tessellation, and geometry shaders.
+``w64ps``
+ Use Wave64 for pixel shaders.
+``w64cs``
+ Use Wave64 for computes shaders.
+``checkir``
+ Enable additional sanity checks on shader IR
+``mono``
+ Use old-style monolithic shaders compiled on demand
+``nooptvariant``
+ Disable compiling optimized shader variants.
+``forcedma``
+ Use SDMA for all operations when possible.
+``nowc``
+ Disable GTT write combining
+``check_vm``
+ Check VM faults and dump debug info.
+``reserve_vmid``
+ Force VMID reservation per context.
+``nogfx``
+ Disable graphics. Only multimedia compute paths can be used.
+``nongg``
+ Disable NGG and use the legacy pipeline.
+``nggc``
+ Always use NGG culling even when it can hurt.
+``nonggc``
+ Disable NGG culling.
+``alwayspd``
+ Always enable the primitive discard compute shader.
+``pd``
+ Enable the primitive discard compute shader for large draw calls.
+``nopd``
+ Disable the primitive discard compute shader.
+``switch_on_eop``
+ Program WD/IA to switch on end-of-packet.
+``nooutoforder``
+ Disable out-of-order rasterization
+``dpbb``
+ Enable DPBB.
+``dfsm``
+ Enable DFSM.
+
+Other Gallium drivers have their own environment variables. These may
+change frequently so the source code should be consulted for details.
diff --git a/docs/extensions.html b/docs/extensions.html
deleted file mode 100644
index ffdad88c621..00000000000
--- a/docs/extensions.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Mesa Extensions</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Mesa Extensions</h1>
-
-<p>
-A number of extensions have been developed especially for Mesa.
-The specifications follow.
-</p>
-
-
-<ul>
-<li><a href="specs/OLD/MESA_agp_offset.spec">MESA_agp_offset.spec</a>
-<li><a href="specs/MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</a>
-<li><a href="specs/MESA_drm_image.spec">MESA_drm_image.spec</a>
-<li><a href="specs/MESA_multithread_makecurrent.spec">MESA_multithread_makecurrent.spec</a>
-<li><a href="specs/OLD/MESA_packed_depth_stencil.spec">MESA_packed_depth_stencil.spec</a> (obsolete)
-<li><a href="specs/MESA_pack_invert.spec">MESA_pack_invert.spec</a>
-<li><a href="specs/MESA_pixmap_colormap.spec">MESA_pixmap_colormap.spec</a>
-<li><a href="specs/OLD/MESA_program_debug.spec">MESA_program_debug.spec</a> (obsolete)
-<li><a href="specs/MESA_release_buffers.spec">MESA_release_buffers.spec</a>
-<li><a href="specs/OLD/MESA_resize_buffers.spec">MESA_resize_buffers.spec</a> (obsolete)
-<li><a href="specs/OLD/MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</a>
-<li><a href="specs/MESA_shader_debug.spec">MESA_shader_debug.spec</a>
-<li><a href="specs/OLD/MESA_sprite_point.spec">MESA_sprite_point.spec</a> (obsolete)
-<li><a href="specs/MESA_swap_control.spec">MESA_swap_control.spec</a>
-<li><a href="specs/MESA_swap_frame_usage.spec">MESA_swap_frame_usage.spec</a>
-<li><a href="specs/MESA_texture_array.spec">MESA_texture_array.spec</a>
-<li><a href="specs/MESA_texture_signed_rgba.spec">MESA_texture_signed_rgba.spec</a>
-<li><a href="specs/OLD/MESA_trace.spec">MESA_trace.spec</a> (obsolete)
-<li><a href="specs/MESA_window_pos.spec">MESA_window_pos.spec</a>
-<li><a href="specs/MESA_ycbcr_texture.spec">MESA_ycbcr_texture.spec</a>
-<li><a href="specs/WL_bind_wayland_display.spec">WL_bind_wayland_display.spec</a>
-</ul>
-
-</div>
-</body>
-</html>
diff --git a/docs/extensions.rst b/docs/extensions.rst
new file mode 100644
index 00000000000..d4a3dba71ae
--- /dev/null
+++ b/docs/extensions.rst
@@ -0,0 +1,31 @@
+Mesa Extensions
+===============
+
+A number of extensions have been developed especially for Mesa. The
+specifications follow.
+
+- `MESA_agp_offset.spec <specs/OLD/MESA_agp_offset.spec>`__
+- `MESA_copy_sub_buffer.spec <specs/MESA_copy_sub_buffer.spec>`__
+- `MESA_drm_image.spec <specs/MESA_drm_image.spec>`__
+- `MESA_multithread_makecurrent.spec <specs/MESA_multithread_makecurrent.spec>`__
+- `MESA_packed_depth_stencil.spec <specs/OLD/MESA_packed_depth_stencil.spec>`__
+ (obsolete)
+- `MESA_pack_invert.spec <specs/MESA_pack_invert.spec>`__
+- `MESA_pixmap_colormap.spec <specs/MESA_pixmap_colormap.spec>`__
+- `MESA_program_debug.spec <specs/OLD/MESA_program_debug.spec>`__
+ (obsolete)
+- `MESA_release_buffers.spec <specs/MESA_release_buffers.spec>`__
+- `MESA_resize_buffers.spec <specs/OLD/MESA_resize_buffers.spec>`__
+ (obsolete)
+- `MESA_set_3dfx_mode.spec <specs/OLD/MESA_set_3dfx_mode.spec>`__
+- `MESA_shader_debug.spec <specs/MESA_shader_debug.spec>`__
+- `MESA_sprite_point.spec <specs/OLD/MESA_sprite_point.spec>`__
+ (obsolete)
+- `MESA_swap_control.spec <specs/MESA_swap_control.spec>`__
+- `MESA_swap_frame_usage.spec <specs/MESA_swap_frame_usage.spec>`__
+- `MESA_texture_array.spec <specs/MESA_texture_array.spec>`__
+- `MESA_texture_signed_rgba.spec <specs/MESA_texture_signed_rgba.spec>`__
+- `MESA_trace.spec <specs/OLD/MESA_trace.spec>`__ (obsolete)
+- `MESA_window_pos.spec <specs/MESA_window_pos.spec>`__
+- `MESA_ycbcr_texture.spec <specs/MESA_ycbcr_texture.spec>`__
+- `WL_bind_wayland_display.spec <specs/WL_bind_wayland_display.spec>`__
diff --git a/docs/faq.html b/docs/faq.html
deleted file mode 100644
index 2d0f22ffd89..00000000000
--- a/docs/faq.html
+++ /dev/null
@@ -1,382 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Frequently Asked Questions</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Frequently Asked Questions</h1>
-Last updated: 19 September 2018
-
-<h2>Index</h2>
-<ol>
- <li><a href="#part1">High-level Questions and Answers</a></li>
- <li><a href="#part2">Compilation and Installation Problems</a></li>
- <li><a href="#part3">Runtime / Rendering Problems</a></li>
- <li><a href="#part4">Developer Questions</a></li>
-</ol>
-
-<h2 id="part1">1. High-level Questions and Answers</h2>
-
-<h3>1.1 What is Mesa?</h3>
-<p>
-Mesa is an open-source implementation of the OpenGL specification.
-OpenGL is a programming library for writing interactive 3D applications.
-See the <a href="https://www.opengl.org/">OpenGL website</a> for more
-information.
-</p>
-<p>
-Mesa 9.x supports the OpenGL 3.1 specification.
-</p>
-
-
-<h2>1.2 Does Mesa support/use graphics hardware?</h2>
-<p>
-Yes. Specifically, Mesa serves as the OpenGL core for the open-source DRI
-drivers for X.org.
-</p>
-<ul>
- <li>See the <a href="https://dri.freedesktop.org/">DRI website</a>
- for more information.</li>
- <li>See <a href="https://01.org/linuxgraphics">01.org</a>
- for more information about Intel drivers.</li>
- <li>See <a href="https://nouveau.freedesktop.org">nouveau.freedesktop.org</a>
- for more information about Nouveau drivers.</li>
- <li>See <a href="https://www.x.org/wiki/RadeonFeature">www.x.org/wiki/RadeonFeature</a>
- for more information about Radeon drivers.</li>
-</ul>
-
-<h2>1.3 What purpose does Mesa serve today?</h2>
-<p>
-Hardware-accelerated OpenGL implementations are available for most popular
-operating systems today.
-Still, Mesa serves at least these purposes:
-</p>
-<ul>
-<li>Mesa is used as the core of the open-source X.org DRI
- hardware drivers.
-</li>
-<li>Mesa is quite portable and allows OpenGL to be used on systems
- that have no other OpenGL solution.
-</li>
-<li>Software rendering with Mesa serves as a reference for validating the
- hardware drivers.
-</li>
-<li>A software implementation of OpenGL is useful for experimentation,
- such as testing new rendering techniques.
-</li>
-<li>Mesa can render images with deep color channels: 16-bit integer
- and 32-bit floating point color channels are supported.
- This capability is only now appearing in hardware.
-</li>
-<li>Mesa's internal limits (max lights, clip planes, texture size, etc) can be
- changed for special needs (hardware limits are hard to overcome).
-</li>
-</ul>
-
-
-<h2>1.4 What's the difference between "Stand-Alone" Mesa and the DRI drivers?</h2>
-<p>
-<em>Stand-alone Mesa</em> is the original incarnation of Mesa.
-On systems running the X Window System it does all its rendering through
-the Xlib API:
-</p>
-<ul>
-<li>The GLX API is supported, but it's really just an emulation of the
- real thing.
-<li>The GLX wire protocol is not supported and there's no OpenGL extension
- loaded by the X server.
-<li>There is no hardware acceleration.
-<li>The OpenGL library, <code>libGL.so</code>, contains everything (the
- programming API, the GLX functions and all the rendering code).
-</ul>
-<p>
-Alternately, Mesa acts as the core for a number of OpenGL hardware drivers
-within the DRI (Direct Rendering Infrastructure):
-<ul>
-<li>The <code>libGL.so</code> library provides the GL and GLX API functions,
- a GLX protocol encoder, and a device driver loader.
-<li>The device driver modules (such as <code>r200_dri.so</code>) contain
- a built-in copy of the core Mesa code.
-<li>The X server loads the GLX module.
- The GLX module decodes incoming GLX protocol and dispatches the commands
- to a rendering module.
- For the DRI, this module is basically a software Mesa renderer.
-</ul>
-
-
-
-<h2>1.5 How do I upgrade my DRI installation to use a new Mesa release?</h2>
-<p>
-This wasn't easy in the past.
-Now, the DRI drivers are included in the Mesa tree and can be compiled
-separately from the X server.
-Just follow the Mesa <a href="install.html">compilation instructions</a>.
-</p>
-
-
-<h2>1.6 Are there other open-source implementations of OpenGL?</h2>
-<p>
-Yes, SGI's <a href="http://web.archive.org/web/20171010115110_/http://oss.sgi.com/projects/ogl-sample/index.html">
-OpenGL Sample Implementation (SI)</a> is available.
-The SI was written during the time that OpenGL was originally designed.
-Unfortunately, development of the SI has stagnated.
-Mesa is much more up to date with modern features and extensions.
-</p>
-
-<p>
-<a href="https://sourceforge.net/projects/ogl-es/">Vincent</a> is
-an open-source implementation of OpenGL ES for mobile devices.
-
-<p>
-<a href="http://web.archive.org/web/20130830162848/http://www.dsbox.com/minigl.html">miniGL</a>
-is a subset of OpenGL for PalmOS devices. The website is gone, but the source
-code can still be found on <a href="https://sourceforge.net/projects/minigl/">sourceforge.net</a>.
-
-<p>
-<a href="http://bellard.org/TinyGL/">TinyGL</a>
-is a subset of OpenGL.
-</p>
-
-<p>
-<a href="https://sourceforge.net/projects/softgl/">SoftGL</a>
-is an OpenGL subset for mobile devices.
-</p>
-
-<p>
-<a href="http://chromium.sourceforge.net/">Chromium</a>
-isn't a conventional OpenGL implementation (it's layered upon OpenGL),
-but it does export the OpenGL API. It allows tiled rendering, sort-last
-rendering, etc.
-</p>
-
-<p>
-<a href="http://www.ticalc.org/archives/files/fileinfo/361/36173.html">ClosedGL</a>
-is an OpenGL subset library for TI graphing calculators.
-</p>
-
-<p>
-There may be other open OpenGL implementations, but Mesa is the most
-popular and feature-complete.
-</p>
-
-
-<h2 id="part2">2. Compilation and Installation Problems</h2>
-
-<h3>2.1 What's the easiest way to install Mesa?</h3>
-<p>
-If you're using a Linux-based system, your distro CD most likely already
-has Mesa packages (like RPM or DEB) which you can easily install.
-</p>
-
-
-<h3>2.2 I get undefined symbols such as bgnpolygon, v3f, etc...</h3>
-<p>
-You're application is written in IRIS GL, not OpenGL.
-IRIS GL was the predecessor to OpenGL and is a different thing (almost)
-entirely.
-Mesa's not the solution.
-</p>
-
-
-<h3>2.3 Where is the GLUT library?</h3>
-<p>
-GLUT (OpenGL Utility Toolkit) is no longer in the separate
-<code>MesaGLUT-x.y.z.tar.gz</code> file.
-If you don't already have GLUT installed, you should grab
-<a href="http://freeglut.sourceforge.net/">freeglut</a>.
-</p>
-
-
-<h3>2.4 Where is the GLw library?</h3>
-<p>
-GLw (OpenGL widget library) is now available from a separate <a href="https://gitlab.freedesktop.org/mesa/glw">git repository</a>. Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it.
-</p>
-
-
-<h2>2.5 What's the proper place for the libraries and headers?</h2>
-<p>
-On Linux-based systems you'll want to follow the
-<a href="https://www.khronos.org/registry/OpenGL/ABI/">Linux ABI</a> standard.
-Basically you'll want the following:
-</p>
-<dl>
-<dt><code>/usr/include/GL/gl.h</code></dt>
-<dd>the main OpenGL header</dd>
-<dt><code>/usr/include/GL/glu.h</code></dt>
-<dd>the OpenGL GLU (utility) header</dd>
-<dt><code>/usr/include/GL/glx.h</code></dt>
-<dd>the OpenGL GLX header</dd>
-<dt><code>/usr/include/GL/glext.h</code></dt>
-<dd>the OpenGL extensions header</dd>
-<dt><code>/usr/include/GL/glxext.h</code></dt>
-<dd>the OpenGL GLX extensions header</dd>
-<dt><code>/usr/include/GL/osmesa.h</code></dt>
-<dd>the Mesa off-screen rendering header</dd>
-<dt><code>/usr/lib/libGL.so</code></dt>
-<dd>a symlink to <code>libGL.so.1</code></dd>
-<dt><code>/usr/lib/libGL.so.1</code></dt>
-<dd>a symlink to <code>libGL.so.1.xyz</code></dd>
-<dt><code>/usr/lib/libGL.so.xyz</code></dt>
-<dd>the actual OpenGL/Mesa library. xyz denotes the
-Mesa version number.
-</dd>
-</dl>
-<p>
-When configuring Mesa, there are three meson options that affect the install
-location that you should take care with: <code>--prefix</code>,
-<code>--libdir</code>, and <code>-D dri-drivers-path</code>. To install Mesa
-into the system location where it will be available for all programs to use, set
-<code>--prefix=/usr</code>. Set <code>--libdir</code> to where your Linux
-distribution installs system libraries, usually either <code>/usr/lib</code> or
-<code>/usr/lib64</code>. Set <code>-D dri-drivers-path</code> to the directory
-where your Linux distribution installs DRI drivers. To find your system's DRI
-driver directory, try executing <code>find /usr -type d -name dri</code>. For
-example, if the <code>find</code> command listed <code>/usr/lib64/dri</code>,
-then set <code>-D dri-drivers-path=/usr/lib64/dri</code>.
-</p>
-<p>
-After determining the correct values for the install location, configure Mesa
-with <code>meson configure --prefix=/usr --libdir=xxx -D dri-drivers-path=xxx</code>
-and then install with <code>sudo ninja install</code>.
-</p>
-
-
-<h2 id="part3">3. Runtime / Rendering Problems</h2>
-
-<h3>3.1 Rendering is slow / why isn't my graphics hardware being used?</h3>
-<p>
-If Mesa can't use its hardware accelerated drivers it falls back on one of its software renderers.
-(eg. classic swrast, softpipe or llvmpipe)
-</p>
-<p>
-You can run the <code>glxinfo</code> program to learn about your OpenGL
-library.
-Look for the <code>OpenGL vendor</code> and <code>OpenGL renderer</code> values.
-That will identify who's OpenGL library with which driver you're using and what sort of
-hardware it has detected.
-</p>
-<p>
-If you're using a hardware accelerated driver you want <code>direct rendering: Yes</code>.
-</p>
-<p>
-If your DRI-based driver isn't working, go to the
-<a href="https://dri.freedesktop.org/">DRI website</a> for trouble-shooting information.
-</p>
-
-
-<h3>3.2 I'm seeing errors in depth (Z) buffering. Why?</h3>
-<p>
-Make sure the ratio of the far to near clipping planes isn't too great.
-Look
-<a href="https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm#0040">here</a>
-for details.
-</p>
-<p>
-Mesa uses a 16-bit depth buffer by default which is smaller and faster
-to clear than a 32-bit buffer but not as accurate.
-If you need a deeper you can modify the parameters to
-<code>glXChooseVisual</code> in your code.
-</p>
-
-
-<h3>3.3 Why Isn't depth buffering working at all?</h3>
-<p>
-Be sure you're requesting a depth buffered-visual. If you set the
-<code>MESA_DEBUG</code> environment variable it will warn you about trying
-to enable depth testing when you don't have a depth buffer.
-</p>
-<p>Specifically, make sure <code>glutInitDisplayMode</code> is being called
-with <code>GLUT_DEPTH</code> or <code>glXChooseVisual</code> is being
-called with a non-zero value for <code>GLX_DEPTH_SIZE</code>.
-</p>
-<p>This discussion applies to stencil buffers, accumulation buffers and
-alpha channels too.
-</p>
-
-
-<h3>3.4 Why does <code>glGetString()</code> always return <code>NULL</code>?</h3>
-<p>
-Be sure you have an active/current OpenGL rendering context before
-calling <code>glGetString</code>.
-</p>
-
-
-<h3>3.5 <code>GL_POINTS</code> and <code>GL_LINES</code> don't touch the
-right pixels</h3>
-<p>
-If you're trying to draw a filled region by using <code>GL_POINTS</code> or
-<code>GL_LINES</code> and seeing holes or gaps it's because of a float-to-int
-rounding problem. But this is not a bug. See Appendix H of the OpenGL
-Programming Guide - "OpenGL Correctness Tips". Basically, applying a
-translation of (0.375, 0.375, 0.0) to your coordinates will fix the problem.
-</p>
-
-
-<h2 id="part4">4. Developer Questions</h2>
-
-<h3>4.1 How can I contribute?</h3>
-<p>
-First, join the <a href="lists.html">mesa-dev mailing list</a>.
-That's where Mesa development is discussed.
-</p>
-<p>
-The <a href="https://www.opengl.org/documentation">
-OpenGL Specification</a> is the bible for OpenGL implementation work.
-You should read it.
-</p>
-<p>Most of the Mesa development work involves implementing new OpenGL
-extensions, writing hardware drivers (for the DRI), and code optimization.
-</p>
-
-<h3>4.2 How do I write a new device driver?</h3>
-<p>
-Unfortunately, writing a device driver isn't easy.
-It requires detailed understanding of OpenGL, the Mesa code, and your
-target hardware/operating system.
-3D graphics are not simple.
-</p>
-<p>
-The best way to get started is to use an existing driver as your starting
-point.
-For a classic hardware driver, the i965 driver is a good example.
-For a Gallium3D hardware driver, the r300g, r600g and the i915g are good examples.
-</p>
-<p>The DRI website has more information about writing hardware drivers.
-The process isn't well document because the Mesa driver interface changes
-over time, and we seldom have spare time for writing documentation.
-That being said, many people have managed to figure out the process.
-</p>
-<p>
-Joining the appropriate mailing lists and asking questions (and searching
-the archives) is a good way to get information.
-</p>
-
-
-<h3>4.3 Why isn't <code>GL_EXT_texture_compression_s3tc</code> implemented in
-Mesa?</h3>
-<p>
-Oh but it is! Prior to 2nd October 2017, the Mesa project did not include s3tc
-support due to intellectual property (IP) and/or patent issues around the s3tc
-algorithm.
-</p>
-<p>
-As of Mesa 17.3.0, Mesa now officially supports s3tc, as the patent has expired.
-</p>
-<p>
-In versions prior to this, a 3rd party <a href="https://dri.freedesktop.org/wiki/S3TC">
-plug-in library</a> was required.
-</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/faq.rst b/docs/faq.rst
new file mode 100644
index 00000000000..8ce6fdf8f06
--- /dev/null
+++ b/docs/faq.rst
@@ -0,0 +1,322 @@
+Frequently Asked Questions
+==========================
+
+Last updated: 19 September 2018
+
+Index
+-----
+
+#. `High-level Questions and Answers <#part1>`__
+#. `Compilation and Installation Problems <#part2>`__
+#. `Runtime / Rendering Problems <#part3>`__
+#. `Developer Questions <#part4>`__
+
+.. _part1:
+
+1. High-level Questions and Answers
+-----------------------------------
+
+1.1 What is Mesa?
+~~~~~~~~~~~~~~~~~
+
+Mesa is an open-source implementation of the OpenGL specification.
+OpenGL is a programming library for writing interactive 3D applications.
+See the `OpenGL website <https://www.opengl.org/>`__ for more
+information.
+
+Mesa 9.x supports the OpenGL 3.1 specification.
+
+1.2 Does Mesa support/use graphics hardware?
+--------------------------------------------
+
+Yes. Specifically, Mesa serves as the OpenGL core for the open-source
+DRI drivers for X.org.
+
+- See the `DRI website <https://dri.freedesktop.org/>`__ for more
+ information.
+- See `01.org <https://01.org/linuxgraphics>`__ for more information
+ about Intel drivers.
+- See `nouveau.freedesktop.org <https://nouveau.freedesktop.org>`__ for
+ more information about Nouveau drivers.
+- See
+ `www.x.org/wiki/RadeonFeature <https://www.x.org/wiki/RadeonFeature>`__
+ for more information about Radeon drivers.
+
+1.3 What purpose does Mesa serve today?
+---------------------------------------
+
+Hardware-accelerated OpenGL implementations are available for most
+popular operating systems today. Still, Mesa serves at least these
+purposes:
+
+- Mesa is used as the core of the open-source X.org DRI hardware
+ drivers.
+- Mesa is quite portable and allows OpenGL to be used on systems that
+ have no other OpenGL solution.
+- Software rendering with Mesa serves as a reference for validating the
+ hardware drivers.
+- A software implementation of OpenGL is useful for experimentation,
+ such as testing new rendering techniques.
+- Mesa can render images with deep color channels: 16-bit integer and
+ 32-bit floating point color channels are supported. This capability
+ is only now appearing in hardware.
+- Mesa's internal limits (max lights, clip planes, texture size, etc)
+ can be changed for special needs (hardware limits are hard to
+ overcome).
+
+1.4 What's the difference between "Stand-Alone" Mesa and the DRI drivers?
+-------------------------------------------------------------------------
+
+*Stand-alone Mesa* is the original incarnation of Mesa. On systems
+running the X Window System it does all its rendering through the Xlib
+API:
+
+- The GLX API is supported, but it's really just an emulation of the
+ real thing.
+- The GLX wire protocol is not supported and there's no OpenGL
+ extension loaded by the X server.
+- There is no hardware acceleration.
+- The OpenGL library, ``libGL.so``, contains everything (the
+ programming API, the GLX functions and all the rendering code).
+
+Alternately, Mesa acts as the core for a number of OpenGL hardware
+drivers within the DRI (Direct Rendering Infrastructure):
+
+- The ``libGL.so`` library provides the GL and GLX API functions, a GLX
+ protocol encoder, and a device driver loader.
+- The device driver modules (such as ``r200_dri.so``) contain a
+ built-in copy of the core Mesa code.
+- The X server loads the GLX module. The GLX module decodes incoming
+ GLX protocol and dispatches the commands to a rendering module. For
+ the DRI, this module is basically a software Mesa renderer.
+
+1.5 How do I upgrade my DRI installation to use a new Mesa release?
+-------------------------------------------------------------------
+
+This wasn't easy in the past. Now, the DRI drivers are included in the
+Mesa tree and can be compiled separately from the X server. Just follow
+the Mesa `compilation instructions <install.html>`__.
+
+1.6 Are there other open-source implementations of OpenGL?
+----------------------------------------------------------
+
+Yes, SGI's `OpenGL Sample Implementation
+(SI) <http://web.archive.org/web/20171010115110_/http://oss.sgi.com/projects/ogl-sample/index.html>`__
+is available. The SI was written during the time that OpenGL was
+originally designed. Unfortunately, development of the SI has stagnated.
+Mesa is much more up to date with modern features and extensions.
+
+`Vincent <https://sourceforge.net/projects/ogl-es/>`__ is an open-source
+implementation of OpenGL ES for mobile devices.
+
+`miniGL <http://web.archive.org/web/20130830162848/http://www.dsbox.com/minigl.html>`__
+is a subset of OpenGL for PalmOS devices. The website is gone, but the
+source code can still be found on
+`sourceforge.net <https://sourceforge.net/projects/minigl/>`__.
+
+`TinyGL <http://bellard.org/TinyGL/>`__ is a subset of OpenGL.
+
+`SoftGL <https://sourceforge.net/projects/softgl/>`__ is an OpenGL
+subset for mobile devices.
+
+`Chromium <http://chromium.sourceforge.net/>`__ isn't a conventional
+OpenGL implementation (it's layered upon OpenGL), but it does export the
+OpenGL API. It allows tiled rendering, sort-last rendering, etc.
+
+`ClosedGL <http://www.ticalc.org/archives/files/fileinfo/361/36173.html>`__
+is an OpenGL subset library for TI graphing calculators.
+
+There may be other open OpenGL implementations, but Mesa is the most
+popular and feature-complete.
+
+.. _part2:
+
+2. Compilation and Installation Problems
+----------------------------------------
+
+2.1 What's the easiest way to install Mesa?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you're using a Linux-based system, your distro CD most likely already
+has Mesa packages (like RPM or DEB) which you can easily install.
+
+2.2 I get undefined symbols such as bgnpolygon, v3f, etc...
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You're application is written in IRIS GL, not OpenGL. IRIS GL was the
+predecessor to OpenGL and is a different thing (almost) entirely. Mesa's
+not the solution.
+
+2.3 Where is the GLUT library?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+GLUT (OpenGL Utility Toolkit) is no longer in the separate
+``MesaGLUT-x.y.z.tar.gz`` file. If you don't already have GLUT
+installed, you should grab
+`freeglut <http://freeglut.sourceforge.net/>`__.
+
+2.4 Where is the GLw library?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+GLw (OpenGL widget library) is now available from a separate `git
+repository <https://gitlab.freedesktop.org/mesa/glw>`__. Unless you're
+using very old Xt/Motif applications with OpenGL, you shouldn't need it.
+
+2.5 What's the proper place for the libraries and headers?
+----------------------------------------------------------
+
+On Linux-based systems you'll want to follow the `Linux
+ABI <https://www.khronos.org/registry/OpenGL/ABI/>`__ standard.
+Basically you'll want the following:
+
+``/usr/include/GL/gl.h``
+ the main OpenGL header
+``/usr/include/GL/glu.h``
+ the OpenGL GLU (utility) header
+``/usr/include/GL/glx.h``
+ the OpenGL GLX header
+``/usr/include/GL/glext.h``
+ the OpenGL extensions header
+``/usr/include/GL/glxext.h``
+ the OpenGL GLX extensions header
+``/usr/include/GL/osmesa.h``
+ the Mesa off-screen rendering header
+``/usr/lib/libGL.so``
+ a symlink to ``libGL.so.1``
+``/usr/lib/libGL.so.1``
+ a symlink to ``libGL.so.1.xyz``
+``/usr/lib/libGL.so.xyz``
+ the actual OpenGL/Mesa library. xyz denotes the Mesa version number.
+
+When configuring Mesa, there are three meson options that affect the
+install location that you should take care with: ``--prefix``,
+``--libdir``, and ``-D dri-drivers-path``. To install Mesa into the
+system location where it will be available for all programs to use, set
+``--prefix=/usr``. Set ``--libdir`` to where your Linux distribution
+installs system libraries, usually either ``/usr/lib`` or
+``/usr/lib64``. Set ``-D dri-drivers-path`` to the directory where your
+Linux distribution installs DRI drivers. To find your system's DRI
+driver directory, try executing ``find /usr -type d -name dri``. For
+example, if the ``find`` command listed ``/usr/lib64/dri``, then set
+``-D dri-drivers-path=/usr/lib64/dri``.
+
+After determining the correct values for the install location, configure
+Mesa with
+``meson configure --prefix=/usr --libdir=xxx -D dri-drivers-path=xxx``
+and then install with ``sudo ninja install``.
+
+.. _part3:
+
+3. Runtime / Rendering Problems
+-------------------------------
+
+3.1 Rendering is slow / why isn't my graphics hardware being used?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If Mesa can't use its hardware accelerated drivers it falls back on one
+of its software renderers. (eg. classic swrast, softpipe or llvmpipe)
+
+You can run the ``glxinfo`` program to learn about your OpenGL library.
+Look for the ``OpenGL vendor`` and ``OpenGL renderer`` values. That will
+identify who's OpenGL library with which driver you're using and what
+sort of hardware it has detected.
+
+If you're using a hardware accelerated driver you want
+``direct rendering: Yes``.
+
+If your DRI-based driver isn't working, go to the `DRI
+website <https://dri.freedesktop.org/>`__ for trouble-shooting
+information.
+
+3.2 I'm seeing errors in depth (Z) buffering. Why?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Make sure the ratio of the far to near clipping planes isn't too great.
+Look
+`here <https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm#0040>`__
+for details.
+
+Mesa uses a 16-bit depth buffer by default which is smaller and faster
+to clear than a 32-bit buffer but not as accurate. If you need a deeper
+you can modify the parameters to ``glXChooseVisual`` in your code.
+
+3.3 Why Isn't depth buffering working at all?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Be sure you're requesting a depth buffered-visual. If you set the
+``MESA_DEBUG`` environment variable it will warn you about trying to
+enable depth testing when you don't have a depth buffer.
+
+Specifically, make sure ``glutInitDisplayMode`` is being called with
+``GLUT_DEPTH`` or ``glXChooseVisual`` is being called with a non-zero
+value for ``GLX_DEPTH_SIZE``.
+
+This discussion applies to stencil buffers, accumulation buffers and
+alpha channels too.
+
+3.4 Why does ``glGetString()`` always return ``NULL``?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Be sure you have an active/current OpenGL rendering context before
+calling ``glGetString``.
+
+3.5 ``GL_POINTS`` and ``GL_LINES`` don't touch the right pixels
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you're trying to draw a filled region by using ``GL_POINTS`` or
+``GL_LINES`` and seeing holes or gaps it's because of a float-to-int
+rounding problem. But this is not a bug. See Appendix H of the OpenGL
+Programming Guide - "OpenGL Correctness Tips". Basically, applying a
+translation of (0.375, 0.375, 0.0) to your coordinates will fix the
+problem.
+
+.. _part4:
+
+4. Developer Questions
+----------------------
+
+4.1 How can I contribute?
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+First, join the `mesa-dev mailing list <lists.html>`__. That's where
+Mesa development is discussed.
+
+The `OpenGL Specification <https://www.opengl.org/documentation>`__ is
+the bible for OpenGL implementation work. You should read it.
+
+Most of the Mesa development work involves implementing new OpenGL
+extensions, writing hardware drivers (for the DRI), and code
+optimization.
+
+4.2 How do I write a new device driver?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Unfortunately, writing a device driver isn't easy. It requires detailed
+understanding of OpenGL, the Mesa code, and your target
+hardware/operating system. 3D graphics are not simple.
+
+The best way to get started is to use an existing driver as your
+starting point. For a classic hardware driver, the i965 driver is a good
+example. For a Gallium3D hardware driver, the r300g, r600g and the i915g
+are good examples.
+
+The DRI website has more information about writing hardware drivers. The
+process isn't well document because the Mesa driver interface changes
+over time, and we seldom have spare time for writing documentation. That
+being said, many people have managed to figure out the process.
+
+Joining the appropriate mailing lists and asking questions (and
+searching the archives) is a good way to get information.
+
+4.3 Why isn't ``GL_EXT_texture_compression_s3tc`` implemented in Mesa?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Oh but it is! Prior to 2nd October 2017, the Mesa project did not
+include s3tc support due to intellectual property (IP) and/or patent
+issues around the s3tc algorithm.
+
+As of Mesa 17.3.0, Mesa now officially supports s3tc, as the patent has
+expired.
+
+In versions prior to this, a 3rd party `plug-in
+library <https://dri.freedesktop.org/wiki/S3TC>`__ was required.
diff --git a/docs/helpwanted.html b/docs/helpwanted.html
deleted file mode 100644
index 2dbbc2b744b..00000000000
--- a/docs/helpwanted.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Help Wanted</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Help Wanted</h1>
-
-<p>
-We can always use more help with the Mesa project.
-Here are some specific ideas and areas where help would be appreciated:
-</p>
-
-<ol>
-<li>
-<b>Driver patching and testing.</b>
-Patches are often posted to the <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev mailing list</a>, but aren't
-immediately checked into git because not enough people are testing them.
-Just applying patches, testing and reporting back is helpful.
-<li>
-<b>Driver debugging.</b>
-There are plenty of open bugs in the <a href="https://gitlab.freedesktop.org/mesa/mesa/-/issues">bug database</a>.
-<li>
-<b>Remove aliasing warnings.</b>
-Enable gcc's <code>-Wstrict-aliasing=2 -fstrict-aliasing</code> arguments, and
-track down aliasing issues in the code.
-<li>
-<b>Contribute more tests to
-<a href="https://piglit.freedesktop.org/">Piglit</a>.</b>
-</ol>
-
-<p>
-You can find some further To-do lists here:
-</p>
-
-<p>
-<b>Common To-Do lists:</b>
-</p>
-<ul>
- <li><a href="https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/docs/features.txt">
- <code>features.txt</code></a> - Status of OpenGL 3.x / 4.x features in
- Mesa.</li>
-</ul>
-
-<p>
-<b>Legacy Driver specific To-Do lists:</b>
-</p>
-<ul>
- <li><a href="https://dri.freedesktop.org/wiki/R600ToDo">
- <code>r600g</code></a> - Driver for ATI/AMD R600 - Northern Island.</li>
- <li><a href="https://dri.freedesktop.org/wiki/R300ToDo">
- <code>r300g</code></a> - Driver for ATI R300 - R500.</li>
-</ul>
-
-<p>
-If you want to do something new in Mesa, first join the Mesa developer's
-mailing list.
-Then post a message to propose what you want to do, just to make sure
-there's no issues.
-</p>
-
-<p>
-Anyone is welcome to contribute code to the Mesa project.
-By doing so, it's assumed that you agree to the code's licensing terms.
-</p>
-
-<p>
-Finally:
-</p>
-
-<ol>
-<li>Try to write high-quality code that follows the existing style.
-<li>Use uniform indentation, write comments, use meaningful identifiers, etc.
-<li>Test your code thoroughly. Include test programs if appropriate.
-</ol>
-
-</div>
-</body>
-</html>
diff --git a/docs/helpwanted.rst b/docs/helpwanted.rst
new file mode 100644
index 00000000000..eb44ee3c192
--- /dev/null
+++ b/docs/helpwanted.rst
@@ -0,0 +1,47 @@
+Help Wanted
+===========
+
+We can always use more help with the Mesa project. Here are some
+specific ideas and areas where help would be appreciated:
+
+#. **Driver patching and testing.** Patches are often posted to the
+ `mesa-dev mailing
+ list <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`__,
+ but aren't immediately checked into git because not enough people are
+ testing them. Just applying patches, testing and reporting back is
+ helpful.
+#. **Driver debugging.** There are plenty of open bugs in the `bug
+ database <https://gitlab.freedesktop.org/mesa/mesa/-/issues>`__.
+#. **Remove aliasing warnings.** Enable gcc's
+ ``-Wstrict-aliasing=2 -fstrict-aliasing`` arguments, and track down
+ aliasing issues in the code.
+#. **Contribute more tests
+ to**\ `Piglit <https://piglit.freedesktop.org/>`__\ **.**
+
+You can find some further To-do lists here:
+
+**Common To-Do lists:**
+
+- ```features.txt`` <https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/docs/features.txt>`__
+ - Status of OpenGL 3.x / 4.x features in Mesa.
+
+**Legacy Driver specific To-Do lists:**
+
+- ```r600g`` <https://dri.freedesktop.org/wiki/R600ToDo>`__ - Driver
+ for ATI/AMD R600 - Northern Island.
+- ```r300g`` <https://dri.freedesktop.org/wiki/R300ToDo>`__ - Driver
+ for ATI R300 - R500.
+
+If you want to do something new in Mesa, first join the Mesa developer's
+mailing list. Then post a message to propose what you want to do, just
+to make sure there's no issues.
+
+Anyone is welcome to contribute code to the Mesa project. By doing so,
+it's assumed that you agree to the code's licensing terms.
+
+Finally:
+
+#. Try to write high-quality code that follows the existing style.
+#. Use uniform indentation, write comments, use meaningful identifiers,
+ etc.
+#. Test your code thoroughly. Include test programs if appropriate.
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index f8a19c5f090..00000000000
--- a/docs/index.html
+++ /dev/null
@@ -1,2769 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>The Mesa 3D Graphics Library</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>News</h1>
-
-<h2>June 11, 2020</h2>
-<p><a href="relnotes/20.0.8.html">Mesa 20.0.8</a> is released. This is a bug fix release.</p>
-<p>
-NOTE: It is anticipated that 20.0.8 will be the final release in the
-20.0 series. Users of 20.0 are encouraged to migrate to the 20.1
-series in order to obtain future fixes.
-</p>
-<h2>June 10, 2020</h2>
-<p><a href="relnotes/20.1.1.html">Mesa 20.1.1</a> is released. This is a bug fix release.</p>
-<h2>May 27, 2020</h2>
-<p><a href="relnotes/20.1.0.html">Mesa 20.1.0</a> is released. This is a new development release. See the release notes for more information about this release.</p>
-<h2>May 14, 2020</h2>
-<p><a href="relnotes/20.0.7.html">Mesa 20.0.7</a> is released. This is a bug fix release.</p>
-<h2>April 29, 2020</h2>
-<p><a href="relnotes/20.0.6.html">Mesa 20.0.6</a> is released. This is a bug fix release.</p>
-<h2>April 22, 2020</h2>
-<p><a href="relnotes/20.0.5.html">Mesa 20.0.5</a> is released. This is a bug fix release.</p>
-<h2>April 3, 2020</h2>
-<p><a href="relnotes/20.0.4.html">Mesa 20.0.4</a> is released. This is an emergency release which reverts a serious SPIR-V regression in the 20.0.3 release. Users of 20.0.3 are recommended to upgrade immediately.</p>
-<h2>April 1, 2020</h2>
-<p><a href="relnotes/20.0.3.html">Mesa 20.0.3</a> is released. This is a bug fix release.</p>
-<h2>March 18, 2020</h2>
-<p><a href="relnotes/20.0.2.html">Mesa 20.0.2</a> is released. This is a bug fix release.</p>
-<h2>March 9, 2020</h2>
-<p><a href="relnotes/19.3.5.html">Mesa 19.3.5</a> is released. This is a bug fix release, and the final 19.3.x release. Users are encouraged to migrate to 20.0.x in order to obtain future fixes.</p>
-<h2>March 5, 2020</h2>
-<p><a href="relnotes/20.0.1.html">Mesa 20.0.1</a> is released. This is a bug fix release.</p>
-<h2>February 19, 2020</h2>
-<p><a href="relnotes/20.0.0.html">Mesa 20.0.0</a> is released. This is a new development release. See the release notes for more information about this release.</p>
-<h2>February 13, 2020</h2>
-<p><a href="relnotes/19.3.4.html">Mesa 19.3.4</a> is released. This is a bug fix release.</p>
-<h2>January 28, 2020</h2>
-<p><a href="relnotes/19.3.3.html">Mesa 19.3.3</a> is released. This is a bug fix release.</p>
-<h2>January 9, 2020</h2>
-<p><a href="relnotes/19.3.2.html">Mesa 19.3.2</a> is released. This is a bug fix release.</p>
-<h2>December 18, 2019</h2>
-<p><a href="relnotes/19.2.8.html">Mesa 19.2.8</a> is released. This is a bug fix release.</p>
-<h2>December 18, 2019</h2>
-<p><a href="relnotes/19.3.1.html">Mesa 19.3.1</a> is released. This is a bug fix release.</p>
-<h2>December 12, 2019</h2>
-<p><a href="relnotes/19.3.0.html">Mesa 19.3.0</a> is released. This is a new development release. See the release notes for mor information about this release.</p>
-<h2>December 4, 2019</h2>
-<p><a href="relnotes/19.2.7.html">Mesa 19.2.7</a> is released. This is a bug fix release.</p>
-<h2>November 21, 2019</h2>
-<p><a href="relnotes/19.2.6.html">Mesa 19.2.6</a> is released. This is a bug fix release.</p>
-<h2>November 20, 2019</h2>
-<p><a href="relnotes/19.2.5.html">Mesa 19.2.5</a> is released. This is a bug fix release.</p>
-<h2>November 13, 2019</h2>
-<p><a href="relnotes/19.2.4.html">Mesa 19.2.4</a> is released. This is an emergency bugfix release, all users of 19.2.3 are recomended to upgrade immediately.</p>
-<h2>November 6, 2019</h2>
-<p><a href="relnotes/19.2.3.html">Mesa 19.2.3</a> is released. This is a bug fix release.</p>
-<h2>October 24, 2019</h2>
-<p><a href="relnotes/19.2.2.html">Mesa 19.2.2</a> is released. This is a bug fix release.</p>
-<h2>October 21, 2019</h2>
-<p>
-<a href="relnotes/19.1.8.html">Mesa 19.1.8</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 19.1.8 will be the final release in the
-19.1 series. Users of 19.1 are encouraged to migrate to the 19.2
-series in order to obtain future fixes.
-</p>
-
-<h2>October 9, 2019</h2>
-<p><a href="relnotes/19.2.1.html">Mesa 19.2.1</a> is released. This is a bug fix release.</p>
-<h2>September 25, 2019</h2>
-<p>
-<a href="relnotes/19.2.0.html">Mesa 19.2.0</a> is released.
-This is a new development release. See the release notes for more
-information about this release
-</p>
-
-<h2>September 17, 2019</h2>
-<p>
-<a href="relnotes/19.1.7.html">Mesa 19.1.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 3, 2019</h2>
-<p>
-<a href="relnotes/19.1.6.html">Mesa 19.1.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 23, 2019</h2>
-<p>
-<a href="relnotes/19.1.5.html">Mesa 19.1.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 7, 2019</h2>
-<p>
-<a href="relnotes/19.1.4.html">Mesa 19.1.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 23, 2019</h2>
-<p>
-<a href="relnotes/19.1.3.html">Mesa 19.1.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 9, 2019</h2>
-<p>
-<a href="relnotes/19.1.2.html">Mesa 19.1.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 26, 2019</h2>
-<p>
-<a href="relnotes/19.0.8.html">Mesa 19.0.8</a> is released.
-This is an emergency bug fix release. Users of 19.0.7 should updated to 19.0.8
-or 19.1.1 immediately.
-</p>
-
-<h2>June 25, 2019</h2>
-<p>
-<a href="relnotes/19.1.1.html">Mesa 19.1.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 24, 2019</h2>
-<p>
-<a href="relnotes/19.0.7.html">Mesa 19.0.7</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 19.0.7 will be the final release in the
-19.0 series. Users of 19.0 are encouraged to migrate to the 19.1
-series in order to obtain future fixes.
-</p>
-
-<h2>June 11, 2019</h2>
-<p>
-<a href="relnotes/19.1.0.html">Mesa 19.1.0</a> is released.
-This is a new development release. See the release notes for more
-information about this release
-</p>
-<h2>June 5, 2019</h2>
-<p>
-<a href="relnotes/19.0.6.html">Mesa 19.0.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 21, 2019</h2>
-<p>
-<a href="relnotes/19.0.5.html">Mesa 19.0.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 9, 2019</h2>
-<p>
-<a href="relnotes/19.0.4.html">Mesa 19.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 24, 2019</h2>
-<p>
-<a href="relnotes/19.0.3.html">Mesa 19.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 10, 2019</h2>
-<p>
-<a href="relnotes/19.0.2.html">Mesa 19.0.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 5, 2019</h2>
-<p>
-<a href="relnotes/18.3.6.html">Mesa 18.3.6</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 18.3.6 will be the final release in the
-18.3 series. Users of 18.3 are encouraged to migrate to the 19.0
-series in order to obtain future fixes.
-</p>
-
-<h2>March 27, 2019</h2>
-<p>
-<a href="relnotes/19.0.1.html">Mesa 19.0.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 18, 2019</h2>
-<p>
-<a href="relnotes/18.3.5.html">Mesa 18.3.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 13, 2019</h2>
-<p>
-<a href="relnotes/19.0.0.html">Mesa 19.0.0</a> is released.
-This is a new development release. See the release notes for more
-information about this release
-</p>
-
-<h2>February 18, 2019</h2>
-<p>
-<a href="relnotes/18.3.4.html">Mesa 18.3.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 31, 2019</h2>
-<p>
-<a href="relnotes/18.3.3.html">Mesa 18.3.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 17, 2019</h2>
-<p>
-<a href="relnotes/18.3.2.html">Mesa 18.3.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 27, 2018</h2>
-<p>
-<a href="relnotes/18.2.8.html">Mesa 18.2.8</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 18.2.8 will be the final release in the
-18.2 series. Users of 18.2 are encouraged to migrate to the 18.3
-series in order to obtain future fixes.
-</p>
-
-<h2>December 13, 2018</h2>
-<p>
-<a href="relnotes/18.2.7.html">Mesa 18.2.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 11, 2018</h2>
-<p>
-<a href="relnotes/18.3.1.html">Mesa 18.3.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 7, 2018</h2>
-<p>
-<a href="relnotes/18.3.0.html">Mesa 18.3.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>November 28, 2018</h2>
-<p>
-<a href="relnotes/18.2.6.html">Mesa 18.2.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 15, 2018</h2>
-<p>
-<a href="relnotes/18.2.5.html">Mesa 18.2.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 31, 2018</h2>
-<p>
-<a href="relnotes/18.2.4.html">Mesa 18.2.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 19, 2018</h2>
-<p>
-<a href="relnotes/18.2.3.html">Mesa 18.2.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 5, 2018</h2>
-<p>
-<a href="relnotes/18.2.2.html">Mesa 18.2.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 24, 2018</h2>
-<p>
-<a href="relnotes/18.1.9.html">Mesa 18.1.9</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 18.1.9 will be the final release in the
-18.1 series. Users of 18.1 are encouraged to migrate to the 18.2
-series in order to obtain future fixes.
-</p>
-
-<h2>September 21, 2018</h2>
-<p>
-<a href="relnotes/18.2.1.html">Mesa 18.2.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 7, 2018</h2>
-<p>
-<a href="relnotes/18.1.8.html">Mesa 18.1.8</a> and
-<a href="relnotes/18.2.0.html">Mesa 18.2.0</a> are released.
-
-These are, respectively, a bug-fix release from the 18.1 branch and a
-new development release. See the release notes for more information
-about the releases.
-</p>
-
-<h2>August 24, 2018</h2>
-<p>
-<a href="relnotes/18.1.7.html">Mesa 18.1.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 13, 2018</h2>
-<p>
-<a href="relnotes/18.1.6.html">Mesa 18.1.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 27, 2018</h2>
-<p>
-<a href="relnotes/18.1.5.html">Mesa 18.1.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 13, 2018</h2>
-<p>
-<a href="relnotes/18.1.4.html">Mesa 18.1.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 29, 2018</h2>
-<p>
-<a href="relnotes/18.1.3.html">Mesa 18.1.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 15, 2018</h2>
-<p>
-<a href="relnotes/18.1.2.html">Mesa 18.1.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 3, 2018</h2>
-<p>
-<a href="relnotes/18.0.5.html">Mesa 18.0.5</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 18.0.5 will be the final release in the
-18.0 series. Users of 18.0 are encouraged to migrate to the 18.1
-series in order to obtain future fixes.
-</p>
-
-<h2>June 1, 2018</h2>
-<p>
-<a href="relnotes/18.1.1.html">Mesa 18.1.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 18, 2018</h2>
-<p>
-<a href="relnotes/18.1.0.html">Mesa 18.1.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>May 17, 2018</h2>
-<p>
-<a href="relnotes/18.0.4.html">Mesa 18.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 7, 2018</h2>
-<p>
-<a href="relnotes/18.0.3.html">Mesa 18.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 28, 2018</h2>
-<p>
-<a href="relnotes/18.0.2.html">Mesa 18.0.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 18, 2018</h2>
-<p>
-<a href="relnotes/18.0.1.html">Mesa 18.0.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 18, 2018</h2>
-<p>
-<a href="relnotes/17.3.9.html">Mesa 17.3.9</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 17.3.9 will be the final release in the
-17.3 series. Users of 17.3 are encouraged to migrate to the 18.0
-series in order to obtain future fixes.
-</p>
-
-<h2>April 03, 2018</h2>
-<p>
-<a href="relnotes/17.3.8.html">Mesa 17.3.8</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 27, 2018</h2>
-<p>
-<a href="relnotes/18.0.0.html">Mesa 18.0.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>March 21, 2018</h2>
-<p>
-<a href="relnotes/17.3.7.html">Mesa 17.3.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>February 26, 2018</h2>
-<p>
-<a href="relnotes/17.3.6.html">Mesa 17.3.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>February 19, 2018</h2>
-<p>
-<a href="relnotes/17.3.5.html">Mesa 17.3.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>February 15, 2018</h2>
-<p>
-<a href="relnotes/17.3.4.html">Mesa 17.3.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 18, 2018</h2>
-<p>
-<a href="relnotes/17.3.3.html">Mesa 17.3.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 8, 2018</h2>
-<p>
-<a href="relnotes/17.3.2.html">Mesa 17.3.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 22, 2017</h2>
-<p>
-<a href="relnotes/17.2.8.html">Mesa 17.2.8</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 17.2.8 will be the final release in the
-17.2 series. Users of 17.2 are encouraged to migrate to the 17.3
-series in order to obtain future fixes.
-</p>
-
-<h2>December 21, 2017</h2>
-<p>
-<a href="relnotes/17.3.1.html">Mesa 17.3.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 14, 2017</h2>
-<p>
-<a href="relnotes/17.2.7.html">Mesa 17.2.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 8, 2017</h2>
-<p>
-<a href="relnotes/17.3.0.html">Mesa 17.3.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>November 25, 2017</h2>
-<p>
-<a href="relnotes/17.2.6.html">Mesa 17.2.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 10, 2017</h2>
-<p>
-<a href="relnotes/17.2.5.html">Mesa 17.2.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 30, 2017</h2>
-<p>
-<a href="relnotes/17.2.4.html">Mesa 17.2.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 19, 2017</h2>
-<p>
-<a href="relnotes/17.2.3.html">Mesa 17.2.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 2, 2017</h2>
-<p>
-<a href="relnotes/17.2.2.html">Mesa 17.2.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 25, 2017</h2>
-<p>
-<a href="relnotes/17.1.10.html">Mesa 17.1.10</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 17.1.10 will be the final release in the
-17.1 series. Users of 17.1 are encouraged to migrate to the 17.2
-series in order to obtain future fixes.
-</p>
-
-<h2>September 17, 2017</h2>
-<p>
-<a href="relnotes/17.2.1.html">Mesa 17.2.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 8, 2017</h2>
-<p>
-<a href="relnotes/17.1.9.html">Mesa 17.1.9</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 4, 2017</h2>
-<p>
-<a href="relnotes/17.2.0.html">Mesa 17.2.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>August 28, 2017</h2>
-<p>
-<a href="relnotes/17.1.8.html">Mesa 17.1.8</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 21, 2017</h2>
-<p>
-<a href="relnotes/17.1.7.html">Mesa 17.1.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 7, 2017</h2>
-<p>
-<a href="relnotes/17.1.6.html">Mesa 17.1.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 14, 2017</h2>
-<p>
-<a href="relnotes/17.1.5.html">Mesa 17.1.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 30, 2017</h2>
-<p>
-<a href="relnotes/17.1.4.html">Mesa 17.1.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 19, 2017</h2>
-<p>
-<a href="relnotes/17.1.3.html">Mesa 17.1.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 5, 2017</h2>
-<p>
-<a href="relnotes/17.1.2.html">Mesa 17.1.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 1, 2017</h2>
-<p>
-<a href="relnotes/17.0.7.html">Mesa 17.0.7</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 17.0.7 will be the final release in the 17.0
-series. Users of 17.0 are encouraged to migrate to the 17.1 series in order
-to obtain future fixes.
-</p>
-
-<h2>May 25, 2017</h2>
-<p>
-<a href="relnotes/17.1.1.html">Mesa 17.1.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 12, 2017</h2>
-<p>
-<a href="relnotes/17.0.6.html">Mesa 17.0.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 10, 2017</h2>
-<p>
-<a href="relnotes/17.1.0.html">Mesa 17.1.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>April 28, 2017</h2>
-<p>
-<a href="relnotes/17.0.5.html">Mesa 17.0.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 17, 2017</h2>
-<p>
-<a href="relnotes/17.0.4.html">Mesa 17.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 1, 2017</h2>
-<p>
-<a href="relnotes/17.0.3.html">Mesa 17.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 20, 2017</h2>
-<p>
-<a href="relnotes/13.0.6.html">Mesa 13.0.6</a> and
-<a href="relnotes/17.0.2.html">Mesa 17.0.2</a> are released.
-
-These are bug-fix releases from the 13.0 and 17.0 branches, respectively.
-</p>
-<p>
-NOTE: It is anticipated that 13.0.6 will be the final release in the 13.0
-series. Users of 13.0 are encouraged to migrate to the 17.0 series in order
-to obtain future fixes.
-</p>
-
-<h2>March 4, 2017</h2>
-<p>
-<a href="relnotes/17.0.1.html">Mesa 17.0.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>February 20, 2017</h2>
-<p>
-<a href="relnotes/13.0.5.html">Mesa 13.0.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>February 13, 2017</h2>
-<p>
-<a href="relnotes/17.0.0.html">Mesa 17.0.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>February 1, 2017</h2>
-<p>
-<a href="relnotes/13.0.4.html">Mesa 13.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 23, 2017</h2>
-<p>
-<a href="relnotes/12.0.6.html">Mesa 12.0.6</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: This is an extra release for the 12.0 stable branch, as per developers'
-feedback. It is anticipated that 12.0.6 will be the final release in the 12.0
-series. Users of 12.0 are encouraged to migrate to the 13.0 series in order
-to obtain future fixes.
-</p>
-
-<h2>January 5, 2017</h2>
-<p>
-<a href="relnotes/13.0.3.html">Mesa 13.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 5, 2016</h2>
-<p>
-<a href="relnotes/12.0.5.html">Mesa 12.0.5</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 12.0.5 will be the final release in the 12.0
-series. Users of 12.0 are encouraged to migrate to the 13.0 series in order
-to obtain future fixes.
-</p>
-
-<h2>November 28, 2016</h2>
-<p>
-<a href="relnotes/13.0.2.html">Mesa 13.0.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 14, 2016</h2>
-<p>
-<a href="relnotes/13.0.1.html">Mesa 13.0.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 10, 2016</h2>
-<p>
-<a href="relnotes/12.0.4.html">Mesa 12.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 1, 2016</h2>
-<p>
-<a href="relnotes/13.0.0.html">Mesa 13.0.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>September 15, 2016</h2>
-<p>
-<a href="relnotes/12.0.3.html">Mesa 12.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 2, 2016</h2>
-<p>
-<a href="relnotes/12.0.2.html">Mesa 12.0.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 8, 2016</h2>
-<p>
-<a href="relnotes/12.0.1.html">Mesa 12.0.1</a> is released.
-This is a bug-fix release, resolving build issues in the r600 and
-radeonsi drivers.
-</p>
-
-<p>
-<a href="relnotes/12.0.0.html">Mesa 12.0.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>May 9, 2016</h2>
-<p>
-<a href="relnotes/11.1.4.html">Mesa 11.1.4</a> and
-<a href="relnotes/11.2.2.html">Mesa 11.2.2</a> are released.
-
-These are bug-fix releases from the 11.1 and 11.2 branches, respectively.
-</p>
-<p>
-NOTE: It is anticipated that 11.1.4 will be the final release in the 11.1.4
-series. Users of 11.1 are encouraged to migrate to the 11.2 series in order
-to obtain future fixes.
-</p>
-
-<h2>April 17, 2016</h2>
-<p>
-<a href="relnotes/11.1.3.html">Mesa 11.1.3</a> and
-<a href="relnotes/11.2.1.html">Mesa 11.2.1</a> are released.
-
-These are bug-fix releases from the 11.1 and 11.2 branches, respectively.
-</p>
-
-<h2>April 4, 2016</h2>
-<p>
-<a href="relnotes/11.2.0.html">Mesa 11.2.0</a> is released. This is a
-new development release. See the release notes for more information
-about the release.
-</p>
-
-<h2>February 10, 2016</h2>
-<p>
-<a href="relnotes/11.1.2.html">Mesa 11.1.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 22, 2016</h2>
-<p>
-<a href="relnotes/11.0.9.html">Mesa 11.0.9</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 11.0.9 will be the final release in the 11.0
-series. Users of 11.0 are encouraged to migrate to the 11.1 series in order
-to obtain future fixes.
-</p>
-
-<h2>January 13, 2016</h2>
-<p>
-<a href="relnotes/11.1.1.html">Mesa 11.1.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 21, 2015</h2>
-<p>
-<a href="relnotes/11.0.8.html">Mesa 11.0.8</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 15, 2015</h2>
-<p>
-<a href="relnotes/11.1.0.html">Mesa 11.1.0</a> is released. This is a new
-development release. See the release notes for more information about
-the release.
-</p>
-
-<h2>December 9, 2015</h2>
-<p>
-<a href="relnotes/11.0.7.html">Mesa 11.0.7</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-Mesa demos 8.3.0 is also released.
-See the <a href="https://lists.freedesktop.org/archives/mesa-announce/2015-December/000191.html">announcement</a> for more information about the release.
-You can download it from <a href="ftp://ftp.freedesktop.org/pub/mesa/demos/8.3.0/">ftp.freedesktop.org/pub/mesa/demos/8.3.0/</a>.
-</p>
-
-<h2>November 21, 2015</h2>
-<p>
-<a href="relnotes/11.0.6.html">Mesa 11.0.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 11, 2015</h2>
-<p>
-<a href="relnotes/11.0.5.html">Mesa 11.0.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 24, 2015</h2>
-<p>
-<a href="relnotes/11.0.4.html">Mesa 11.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 10, 2015</h2>
-<p>
-<a href="relnotes/11.0.3.html">Mesa 11.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 3, 2015</h2>
-<p>
-<a href="relnotes/10.6.9.html">Mesa 10.6.9</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 10.6.9 will be the final release in the 10.6
-series. Users of 10.6 are encouraged to migrate to the 11.0 series in order
-to obtain future fixes.
-</p>
-
-<h2>September 28, 2015</h2>
-<p>
-<a href="relnotes/11.0.2.html">Mesa 11.0.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 26, 2015</h2>
-<p>
-<a href="relnotes/11.0.1.html">Mesa 11.0.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 20, 2015</h2>
-<p>
-<a href="relnotes/10.6.8.html">Mesa 10.6.8</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 12, 2015</h2>
-<p>
-<a href="relnotes/11.0.0.html">Mesa 11.0.0</a> is released. This is a new
-development release. See the release notes for more information about
-the release.
-</p>
-
-<h2>September 10, 2015</h2>
-<p>
-<a href="relnotes/10.6.7.html">Mesa 10.6.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>September 4, 2015</h2>
-<p>
-<a href="relnotes/10.6.6.html">Mesa 10.6.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 22, 2015</h2>
-<p>
-<a href="relnotes/10.6.5.html">Mesa 10.6.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 11, 2015</h2>
-<p>
-<a href="relnotes/10.6.4.html">Mesa 10.6.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 26, 2015</h2>
-<p>
-<a href="relnotes/10.6.3.html">Mesa 10.6.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 11, 2015</h2>
-<p>
-<a href="relnotes/10.6.2.html">Mesa 10.6.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 04, 2015</h2>
-<p>
-<a href="relnotes/10.5.9.html">Mesa 10.5.9</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: It is anticipated that 10.5.9 will be the final release in the 10.5
-series. Users of 10.5 are encouraged to migrate to the 10.6 series in order
-to obtain future fixes.
-</p>
-
-<h2>June 29, 2015</h2>
-<p>
-<a href="relnotes/10.6.1.html">Mesa 10.6.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 20, 2015</h2>
-<p>
-<a href="relnotes/10.5.8.html">Mesa 10.5.8</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>June 14, 2015</h2>
-<p>
-<a href="relnotes/10.6.0.html">Mesa 10.6.0</a> is released. This is a new
-development release. See the release notes for more information about
-the release.
-</p>
-
-<h2>June 07, 2015</h2>
-<p>
-<a href="relnotes/10.5.7.html">Mesa 10.5.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 23, 2015</h2>
-<p>
-<a href="relnotes/10.5.6.html">Mesa 10.5.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 11, 2015</h2>
-<p>
-<a href="relnotes/10.5.5.html">Mesa 10.5.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 24, 2015</h2>
-<p>
-<a href="relnotes/10.5.4.html">Mesa 10.5.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 12, 2015</h2>
-<p>
-<a href="relnotes/10.5.3.html">Mesa 10.5.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 28, 2015</h2>
-<p>
-<a href="relnotes/10.5.2.html">Mesa 10.5.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 20, 2015</h2>
-<p>
-<a href="relnotes/10.4.7.html">Mesa 10.4.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 13, 2015</h2>
-<p>
-<a href="relnotes/10.5.1.html">Mesa 10.5.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 06, 2015</h2>
-<p>
-<a href="relnotes/10.5.0.html">Mesa 10.5.0</a> is released. This is a new
-development release. See the release notes for more information about
-the release.
-</p>
-
-<h2>March 06, 2015</h2>
-<p>
-<a href="relnotes/10.4.6.html">Mesa 10.4.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>February 21, 2015</h2>
-<p>
-<a href="relnotes/10.4.5.html">Mesa 10.4.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>February 06, 2015</h2>
-<p>
-<a href="relnotes/10.4.4.html">Mesa 10.4.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 24, 2015</h2>
-<p>
-<a href="relnotes/10.4.3.html">Mesa 10.4.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 12, 2015</h2>
-<p>
-<a href="relnotes/10.3.7.html">Mesa 10.3.7</a>
-and <a href="relnotes/10.4.2.html">Mesa 10.4.2</a> are released.
-
-These are bug-fix releases from the 10.3 and 10.4 branches, respectively.
-</p>
-<p>
-NOTE: It is anticipated that 10.3.7 will be the final release in the 10.3
-series. Users of 10.3 are encouraged to migrate to the 10.4 series in order
-to obtain future fixes.
-</p>
-
-<h2>December 29, 2014</h2>
-<p>
-<a href="relnotes/10.3.6.html">Mesa 10.3.6</a>
-and <a href="relnotes/10.4.1.html">Mesa 10.4.1</a> are released.
-
-These are bug-fix releases from the 10.3 and 10.4 branches, respectively.
-</p>
-
-<h2>December 14, 2014</h2>
-<p>
-<a href="relnotes/10.4.html">Mesa 10.4</a> is released. This is a new
-development release. See the release notes for more information about
-the release.
-</p>
-
-<h2>December 5, 2014</h2>
-<p>
-<a href="relnotes/10.3.5.html">Mesa 10.3.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 21, 2014</h2>
-<p>
-<a href="relnotes/10.3.4.html">Mesa 10.3.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>November 8, 2014</h2>
-<p>
-<a href="relnotes/10.3.3.html">Mesa 10.3.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 24, 2014</h2>
-<p>
-<a href="relnotes/10.3.2.html">Mesa 10.3.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>October 12, 2014</h2>
-<p>
-<a href="relnotes/10.2.9.html">Mesa 10.2.9</a>
-and <a href="relnotes/10.3.1.html">Mesa 10.3.1</a> are released.
-
-These are bug-fix releases from the 10.2 and 10.3 branches, respectively.
-</p>
-<p>
-NOTE: It is anticipated that 10.2.9 will be the final release in the 10.2
-series. Users of 10.2 are encouraged to migrate to the 10.3 series in order
-to obtain future fixes.
-</p>
-
-<h2>September 19, 2014</h2>
-<p>
-<a href="relnotes/10.3.html">Mesa 10.3</a> is released. This is a new
-development release. See the release notes for more information about
-the release.
-</p>
-<p>
-Also, <a href="relnotes/10.2.8.html">Mesa 10.2.8</a> is released.
-This is a bug fix release from the 10.2 branch.
-</p>
-
-<h2>September 6, 2014</h2>
-<p>
-<a href="relnotes/10.2.7.html">Mesa 10.2.7</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 19, 2014</h2>
-<p>
-<a href="relnotes/10.2.6.html">Mesa 10.2.6</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>August 2, 2014</h2>
-<p>
-<a href="relnotes/10.2.5.html">Mesa 10.2.5</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 18, 2014</h2>
-<p>
-<a href="relnotes/10.2.4.html">Mesa 10.2.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 7, 2014</h2>
-<p>
-<a href="relnotes/10.2.3.html">Mesa 10.2.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>July 5, 2014</h2>
-
-<p>
-Mesa demos 8.2.0 is released.
-See the <a href="https://lists.freedesktop.org/archives/mesa-announce/2014-July/000100.html">announcement</a> for more information about the release.
-You can download it from <a href="ftp://ftp.freedesktop.org/pub/mesa/demos/8.2.0/">ftp.freedesktop.org/pub/mesa/demos/8.2.0/</a>.
-</p>
-
-<h2>June 24, 2014</h2>
-<p>
-<a href="relnotes/10.1.6.html">Mesa 10.1.6</a>
-and <a href="relnotes/10.2.2.html">Mesa 10.2.2</a> are released.
-
-These are bug-fix releases from the 10.1 and 10.2 branches, respectively.
-</p>
-
-<h2>June 6, 2014</h2>
-<p>
-<a href="relnotes/10.2.1.html">Mesa 10.2.1</a> is released. This release
-only fixes a build error in the radeonsi driver that was introduced between
-10.2-rc5 and the 10.2 final release.
-</p>
-
-<h2>June 6, 2014</h2>
-<p>
-<a href="relnotes/10.2.html">Mesa 10.2</a> is released. This is a new
-development release. See the release notes for more information about
-the release.
-</p>
-<p>
-Also, <a href="relnotes/10.1.5.html">Mesa 10.1.5</a> is released.
-This is a bug fix release from the 10.1 branch.
-</p>
-
-<h2>May 20, 2014</h2>
-<p>
-<a href="relnotes/10.1.4.html">Mesa 10.1.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>May 9, 2014</h2>
-<p>
-<a href="relnotes/10.1.3.html">Mesa 10.1.3</a> is released.
-This is a bug-fix release, and is being released sooner than
-originally scheduled to fix a performance regression (vmware
-swapbuffers falling back to software) introduced to the
-10.1.2 release.
-</p>
-
-<h2>May 5, 2014</h2>
-<p>
-<a href="relnotes/10.1.2.html">Mesa 10.1.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 18, 2014</h2>
-<p>
-<a href="relnotes/10.1.1.html">Mesa 10.1.1</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>April 18, 2014</h2>
-<p>
-<a href="relnotes/10.0.5.html">Mesa 10.0.5</a> is released.
-This is a bug-fix release.
-</p>
-<p>
-NOTE: Since the 10.1.1 release is being released concurrently, it is
-anticipated that 10.0.5 will be the final release in the 10.0
-series. Users of 10.0 are encouraged to migrate to the 10.1 series in
-order to obtain future fixes.
-</p>
-
-<h2>March 12, 2014</h2>
-<p>
-<a href="relnotes/10.0.4.html">Mesa 10.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>March 4, 2014</h2>
-<p>
-<a href="relnotes/10.1.html">Mesa 10.1</a> is released.
-This is a new development release.
-See the release notes for more information about the release.
-</p>
-
-<h2>February 3, 2014</h2>
-<p>
-<a href="relnotes/10.0.3.html">Mesa 10.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>January 9, 2014</h2>
-<p>
-<a href="relnotes/10.0.2.html">Mesa 10.0.2</a> is released.
-This is a bug-fix release.
-</p>
-
-<h2>December 12, 2013</h2>
-<p>
-<a href="relnotes/10.0.1.html">Mesa 10.0.1</a>
-and <a href="relnotes/9.2.5.html">Mesa 9.2.5</a> are released.
-These are both bug-fix releases.
-</p>
-
-<h2>November 30, 2013</h2>
-<p>
-<a href="relnotes/10.0.html">Mesa 10.0</a> is released.
-This is a new development release.
-See the release notes for more information about the release.
-</p>
-
-<h2>November 27, 2013</h2>
-<p>
-<a href="relnotes/9.2.4.html">Mesa 9.2.4</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>November 13, 2013</h2>
-<p>
-<a href="relnotes/9.2.3.html">Mesa 9.2.3</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>October 18, 2013</h2>
-<p>
-<a href="relnotes/9.2.2.html">Mesa 9.2.2</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>October 4, 2013</h2>
-<p>
-<a href="relnotes/9.2.1.html">Mesa 9.2.1</a> and
-<a href="relnotes/9.1.7.html">Mesa 9.1.7</a> are released,
-both bug-fix releases.
-</p>
-
-<h2>August 27, 2013</h2>
-<p>
-<a href="relnotes/9.2.html">Mesa 9.2</a> is released.
-This is a new development release.
-See the release notes for more information about the release.
-</p>
-
-<h2>August 1, 2013</h2>
-<p>
-<a href="relnotes/9.1.6.html">Mesa 9.1.6</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>July 17, 2013</h2>
-<p>
-<a href="relnotes/9.1.5.html">Mesa 9.1.5</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>July 1, 2013</h2>
-<p>
-<a href="relnotes/9.1.4.html">Mesa 9.1.4</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>May 21, 2013</h2>
-<p>
-<a href="relnotes/9.1.3.html">Mesa 9.1.3</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>April 30, 2013</h2>
-<p>
-<a href="relnotes/9.1.2.html">Mesa 9.1.2</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>March 19, 2013</h2>
-<p>
-<a href="relnotes/9.1.1.html">Mesa 9.1.1</a> is released.
-This is a bug fix release.
-</p>
-
-<h2>February 24, 2013</h2>
-
-<p>
-Mesa demos 8.1.0 is released.
-See the <a href="https://lists.freedesktop.org/archives/mesa-dev/2013-February/035180.html">announcement</a> for more information about the release.
-You can download it from <a href="ftp://ftp.freedesktop.org/pub/mesa/demos/8.1.0/">ftp.freedesktop.org/pub/mesa/demos/8.1.0/</a>.
-</p>
-
-
-<h2>February 22, 2013</h2>
-
-<p>
-<a href="relnotes/9.1.html">Mesa 9.1</a> is released.
-This is a new development release.
-See the release notes for more information about the release.
-</p>
-
-
-<h2>February 21, 2013</h2>
-
-<p>
-<a href="relnotes/9.0.3.html">Mesa 9.0.3</a> is released.
-This is a bug fix release.
-</p>
-
-
-<h2>January 22, 2013</h2>
-
-<p>
-<a href="relnotes/9.0.2.html">Mesa 9.0.2</a> is released.
-This is a bug fix release.
-</p>
-
-
-<h2>November 16, 2012</h2>
-
-<p>
-<a href="relnotes/9.0.1.html">Mesa 9.0.1</a> is released.
-This is a bug fix release.
-</p>
-
-
-<h2>October 24, 2012</h2>
-
-<p>
-<a href="relnotes/8.0.5.html">Mesa 8.0.5</a> is released.
-This is a bug fix release.
-</p>
-
-
-<h2>October 8, 2012</h2>
-
-<p>
-<a href="relnotes/9.0.html">Mesa 9.0</a> is released.
-This is the first version of Mesa to support OpenGL 3.1 and GLSL 1.40
-(with the i965 driver).
-See the release notes for more information about the release.
-</p>
-
-
-<h2>July 10, 2012</h2>
-
-<p>
-<a href="relnotes/8.0.4.html">Mesa 8.0.4</a> is released.
-This is a bug fix release.
-</p>
-
-
-<h2>May 18, 2012</h2>
-
-<p>
-<a href="relnotes/8.0.3.html">Mesa 8.0.3</a> is released.
-This is a bug fix release.
-</p>
-
-
-<h2>March 21, 2012</h2>
-
-<p>
-<a href="relnotes/8.0.2.html">Mesa 8.0.2</a> is released.
-This is a bug fix release.
-</p>
-
-
-<h2>February 16, 2012</h2>
-
-<p>
-<a href="relnotes/8.0.1.html">Mesa 8.0.1</a> is released. This is a bug fix
-release. See the release notes for more information about the release.
-</p>
-
-<h2>February 9, 2012</h2>
-
-<p>
-<a href="relnotes/8.0.html">Mesa 8.0</a> is released.
-This is the first version of Mesa to support OpenGL 3.0 and GLSL 1.30
-(with the i965 driver).
-See the release notes for more information about the release.
-</p>
-
-
-<h2>November 27, 2011</h2>
-
-<p>
-<a href="relnotes/7.11.2.html">Mesa 7.11.2</a> is released. This is a bug fix
-release. This release was made primarily to fix build problems with 7.11.1 on
-Mandriva and to fix problems related to glCopyTexImage to luminance-alpha
-textures. The later was believed to have been fixed in 7.11.1 but was not.
-</p>
-
-<h2>November 17, 2011</h2>
-
-<p>
-<a href="relnotes/7.11.1.html">Mesa 7.11.1</a> is released. This is a bug
-fix release.
-</p>
-
-<h2>July 31, 2011</h2>
-
-<p>
-<a href="relnotes/7.11.html">Mesa 7.11</a> (final) is released. This is a new
-development release.
-</p>
-
-<h2>June 13, 2011</h2>
-
-<p>
-<a href="relnotes/7.10.3.html">Mesa 7.10.3</a> is released. This is a bug
-fix release.
-</p>
-
-<h2>April 6, 2011</h2>
-
-<p>
-<a href="relnotes/7.10.2.html">Mesa 7.10.2</a> is released. This is a bug
-fix release.
-</p>
-
-<h2>March 2, 2011</h2>
-
-<p>
-<a href="relnotes/7.9.2.html">Mesa 7.9.2</a> and
-<a href="relnotes/7.10.1.html">Mesa 7.10.1</a> are released. These are
-stable releases containing bug fixes since the 7.9.1 and 7.10 releases.
-</p>
-
-
-<h2>October 4, 2010</h2>
-
-<p>
-<a href="relnotes/7.9.html">Mesa 7.9</a> (final) is released. This is a new
-development release.
-</p>
-
-
-<h2>September 27, 2010</h2>
-
-<p>
-<a href="relnotes/7.9.html">Mesa 7.9.0-rc1</a> is released. This is a
-release candidate for the 7.9 development release.
-</p>
-
-
-<h2>June 16, 2010</h2>
-
-<p>
-<a href="relnotes/7.8.2.html">Mesa 7.8.2</a> is released. This is a bug-fix
-release collecting fixes since the 7.8.1 release.
-</p>
-
-
-<h2>April 5, 2010</h2>
-
-<p>
-<a href="relnotes/7.8.1.html">Mesa 7.8.1</a> is released. This is a bug-fix
-release for a few critical issues in the 7.8 release.
-</p>
-
-
-<h2>March 28, 2010</h2>
-<p>
-<a href="relnotes/7.7.1.html">Mesa 7.7.1</a> is released. This is a bug-fix
-release fixing issues found in the 7.7 release.
-</p>
-<p>
-Also, <a href="relnotes/7.8.html">Mesa 7.8</a> is released. This is a new
-development release.
-</p>
-
-
-
-<h2>December 21, 2009</h2>
-<p>
-<a href="relnotes/7.6.1.html">Mesa 7.6.1</a> is released. This is a bug-fix
-release fixing issues found in the 7.6 release.
-</p>
-<p>
-Also, <a href="relnotes/7.7.html">Mesa 7.7</a> is released. This is a new
-development release.
-</p>
-
-
-<h2>September 28, 2009</h2>
-<p>
-<a href="relnotes/7.6.html">Mesa 7.6</a> is released. This is a new feature
-release. Those especially concerned about stability may want to wait for the
-follow-on 7.6.1 bug-fix release.
-</p>
-<p>
-<a href="relnotes/7.5.2.html">Mesa 7.5.2</a> is also released.
-This is a stable release fixing bugs since the 7.5.1 release.
-</p>
-
-
-<h2>September 3, 2009</h2>
-<p>
-<a href="relnotes/7.5.1.html">Mesa 7.5.1</a> is released.
-This is a bug-fix release which fixes bugs found in version 7.5.
-</p>
-
-
-<h2>July 17, 2009</h2>
-<p>
-<a href="relnotes/7.5.html">Mesa 7.5</a> is released.
-This is a new features release. People especially concerned about
-stability may want to wait for the follow-on 7.5.1 bug-fix release.
-</p>
-
-
-<h2>June 23, 2009</h2>
-<p>
-<a href="relnotes/7.4.4.html">Mesa 7.4.4</a> is released.
-This is a stable release that fixes a regression in the i915/i965 drivers
-that slipped into the 7.4.3 release.
-</p>
-
-
-<h2>June 19, 2009</h2>
-<p>
-<a href="relnotes/7.4.3.html">Mesa 7.4.3</a> is released.
-This is a stable release fixing bugs since the 7.4.2 release.
-</p>
-
-
-<h2>May 15, 2009</h2>
-<p>
-<a href="relnotes/7.4.2.html">Mesa 7.4.2</a> is released.
-This is a stable release fixing bugs since the 7.4.1 release.
-</p>
-
-
-<h2>April 18, 2009</h2>
-<p>
-<a href="relnotes/7.4.1.html">Mesa 7.4.1</a> is released.
-This is a stable release fixing bugs since the 7.4 release.
-</p>
-
-
-<h2>March 27, 2009</h2>
-<p>
-<a href="relnotes/7.4.html">Mesa 7.4</a> is released.
-This is a stable release fixing bugs since the 7.3 release.
-</p>
-
-
-<h2>January 22, 2009</h2>
-<p>
-<a href="relnotes/7.3.html">Mesa 7.3</a> is released.
-This is a new development release.
-Mesa 7.4 will follow and will have bug fixes relative to 7.3.
-</p>
-
-
-<h2>September 20, 2008</h2>
-<p>
-<a href="relnotes/7.2.html">Mesa 7.2</a> is released.
-This is a stable, bug-fix release.
-</p>
-
-
-<h2>August 26, 2008</h2>
-<p>
-<a href="relnotes/7.1.html">Mesa 7.1</a> is released.
-This is a new development release.
-It should be relatively stable, but those especially concerned about
-stability should wait for the 7.2 release or use Mesa 7.0.4 (the
-previous stable release).
-</p>
-
-
-<h2>August 16, 2008</h2>
-<p>
-<a href="relnotes/7.0.4.html">Mesa 7.0.4</a> is released.
-This is a bug-fix release.
-</p>
-
-
-<h2>April 4, 2008</h2>
-<p>
-<a href="relnotes/7.0.3.html">Mesa 7.0.3</a> is released.
-This is a bug-fix release.
-</p>
-
-
-<h2>January 24, 2008</h2>
-
-<p>
-Added a new page describing the Mesa Cell driver.
-</p>
-
-
-
-<h2>November 13, 2007</h2>
-
-<p>
-Gallium3D is the codename for the new Mesa device driver architecture
-which is currently under development.
-</p>
-<p>
-Gallium3D development is taking place on the <em>gallium-0.1</em> branch
-of the git repository.
-Currently, there's only a software-only driver and an Intel i915/945 driver
-but other drivers will be coming...
-</p>
-
-
-<h2>November 10, 2007</h2>
-<p>
-<a href="relnotes/7.0.2.html">Mesa 7.0.2</a> is released.
-This is a bug-fix release.
-</p>
-
-
-<h2>August 3, 2007</h2>
-<p>
-<a href="relnotes/7.0.1.html">Mesa 7.0.1</a> is released.
-This is a bug-fix release.
-</p>
-
-
-<h2>June 22, 2007</h2>
-<p>
-<a href="relnotes/7.0.html">Mesa 7.0</a> is released.
-This is a stable release featuring OpenGL 2.1 support.
-</p>
-
-
-<h2>April 27, 2007</h2>
-<p>
-<a href="relnotes/6.5.3.html">Mesa 6.5.3</a> is released.
-This is a development release which will lead up to the Mesa 7.0 release
-(which will advertise OpenGL 2.1 API support).
-</p>
-
-
-<h2>March 26, 2007</h2>
-<p>
-The new Shading Language compiler branch has been merged into the git
-master branch. This is a step toward hardware support for the OpenGL
-2.0 Shading Language and will be included in the next Mesa release.
-In conjunction, <a href="http://glean.sf.net">Glean</a> has been updated
-with a new test that does over 130 tests of the
-shading language and built-in functions.
-</p>
-
-<h2>April 4, 2007</h2>
-<p>
-Thomas Hellstr&#246;m of Tungsten Graphics has written a whitepaper
-describing the new DRI memory management system.
-</p>
-
-<h2>December 5, 2006</h2>
-<p>
-Mesa is now using git as its source code management system.
-The previous CVS repository should no longer be used.
-See the <a href="repository.html">repository page</a> for more information.
-</p>
-
-<h2>December 2, 2006</h2>
-<p>
-<a href="relnotes/6.5.2.html">Mesa 6.5.2</a> has been released.
-This is a new development release.
-</p>
-
-<h2>September 15, 2006</h2>
-<p>
-<a href="relnotes/6.5.1.html">Mesa 6.5.1</a> has been released.
-This is a new development release.
-</p>
-
-<h2>March 31, 2006</h2>
-<p>
-<a href="relnotes/6.5.html">Mesa 6.5</a> has been released.
-This is a new development release.
-</p>
-
-
-<h2>February 2, 2006</h2>
-<p>
-<a href="relnotes/6.4.2.html">Mesa 6.4.2</a> has been released.
-This is stable, bug-fix release.
-</p>
-
-
-<h2>November 29, 2005</h2>
-<p>
-<a href="relnotes/6.4.1.html">Mesa 6.4.1</a> has been released.
-This is stable, bug-fix release.
-</p>
-
-
-
-<h2>October 24, 2005</h2>
-<p>
-<a href="relnotes/6.4.html">Mesa 6.4</a> has been released.
-This is stable, bug-fix release.
-</p>
-
-
-<h2>August 19, 2005</h2>
-<p>
-Mesa 6.3.2 has been released.
-Note: there was no public release of version 6.3.1.
-</p>
-<a href="versions.html#6.3.2">Changes in version 6.3.1</a>
-<p>
-The MD5 checksums are:
-</p>
-<pre>
-98192e45ed8d69113688f89f90869346 MesaLib-6.3.2.tar.gz
-0df27701df0924d17ddf41185efa8ce1 MesaLib-6.3.2.tar.bz2
-ccb2423aab77fc7e81ce628734586140 MesaLib-6.3.2.zip
-9d0fca0a7d051c34a0b485423fb3e85d MesaDemos-6.3.2.tar.gz
-96708868450c188205e42229b5d813c4 MesaDemos-6.3.2.tar.bz2
-c5102501e609aa8996d832fafacb8ab9 MesaDemos-6.3.2.zip
-</pre>
-
-
-<h2>July 20, 2005</h2>
-<p>
-Mesa 6.3 has been released.
-This is a development release with new features, changes and bug fixes.
-</p>
-<pre>
- New:
- - GL_EXT_framebuffer_object extension
- - GL_ARB_draw_buffers extension
- - GL_ARB_pixel_buffer_object extension
- - GL_OES_read_format extension (Ian Romanick)
- - DirectFB driver (Claudio Ciccani)
- - x86_64 vertex transformation code (Mikko T.)
- Changes:
- - added -stereo option for glxgears demo (Jacek Rosik)
- - updated the PBuffer demo code in xdemos/ directory
- - glDeleteTextures/Programs/Buffers() now makes the object ID
- available for immediate re-use
- - assorted 64-bit clean-ups fixes (x86_64 and Win64)
- - lots of internal changes for GL_EXT_framebuffer_object
- Bug fixes:
- - some functions didn't support PBO functionality
- - glGetTexImage didn't convert color index images to RGBA as required
- - fragment program texcoords were sometimes wrong for points and lines
- - fixed problem with negative dot product in arbfplight, fplight demos
- - fixed bug in perspective correction of antialiased, textured lines
- - querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
- - fixed a couple per-pixel fog bugs (Soju Matsumoto)
- - glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
- - fixed float parsing bug in ARB frag/vert programs (bug 2520)
- - XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
- - GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
- - glXChooseFBConfig() crashed if attribList pointer was NULL
- - program state.light[n].spot.direction.w was wrong value (bug 3083)
- - fragment program fog option required glEnable(GL_FOG) - wrong.
- - glColorTable() could produce a Mesa implementation error (bug 3135)
- - RasterPos could get corrupted by color index rendering path
- - Removed bad XTranslateCoordinates call when rendering to Pixmaps
- - glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
- - fixed a few Darwin compilation problems
-</pre>
-<p>
-The MD5 checksums are:
-</p>
-<pre>
-0236f552d37514776945d5a013e5bb7b MesaLib-6.3.tar.gz
-60e1a8f78c4a8c7750a1e95753190986 MesaLib-6.3.tar.bz2
-ca7c950fbace68c70caa822322db7223 MesaLib-6.3.zip
-25ea801645b376c014051804fe4974b2 MesaDemos-6.3.tar.gz
-9248e74872ea88c57ec25c900c295057 MesaDemos-6.3.tar.bz2
-8537dfa734ef258dcc7272097558d434 MesaDemos-6.3.zip
-</pre>
-
-
-<h2>December 9, 2004</h2>
-<p>
-Mesa 6.2.1 has been released.
-This is a stable release which just fixes bugs since the 6.2 release.
-</p>
-<pre>
- Bug fixes:
- - don't apply regular fog or color sum when using a fragment program
- - glProgramEnvParameter4fARB always generated an error on
- GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
- - glVertexAttrib3svNV and glVertexAttrib3svARB were broken
- - fixed width/height mix-up in glSeparableFilter2D()
- - fixed regression in glCopyPixels + convolution
- - glReadPixels from a clipped front color buffer didn't always work
- - glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- - Attempting queries/accesses of VBO 0 weren't detected as errors
- - paletted textures failed if the palette had fewer than 256 entries
- Changes:
- - fixed a bunch of compiler warnings found with gcc 3.4
- - bug reports should to go bugzilla.freedesktop.org
-</pre>
-<p>
-The MD5 checksums are:
-</p>
-<pre>
-80008a92f6e055d3bfdde2cf331ec3fa MesaLib-6.2.1.tar.gz
-f43228cd2bf70f583ef3275c1c545421 MesaLib-6.2.1.tar.bz2
-dec26cfd40116ad021020fea2d94f652 MesaLib-6.2.1.zip
-2c7af3c986a7571c8713c8bfee7e49e3 MesaDemos-6.2.1.tar.gz
-3cac74667b50bcbd4f67f594fb4224a2 MesaDemos-6.2.1.tar.bz2
-75b3edd12eb2b370caf05f29b99e508a MesaDemos-6.2.1.zip
-</pre>
-
-
-<h2>October 2, 2004</h2>
-<p>
-Mesa 6.2 has been released.
-This is a stable release which just fixes bugs since the 6.1 release.
-</p>
-<pre>
- New:
- - enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
- - updated Doxygen support (Jose Fonseca)
- Changes:
- - some GGI driver updates (Christoph Egger, bug 1025977)
- Bug fixes:
- - Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
- - fixed a few compilation issues on IRIX
- - fixed a matrix classification bug (reported by Wes Bethel)
- - we weren't reseting the vertex/fragment program error state
- before parsing (Dave Reveman)
- - adjust texcoords for sampling texture rectangles (Dave Reveman)
- - glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
- - repeated calls to glDeleteTexture(t) could lead to a crash
- - fixed potential ref count bugs in VBOs and vertex/fragment programs
- - spriteblast demo didn't handle window size changes correctly
- - glTexSubImage didn't handle pixels=NULL correctly for PBOs
- - fixed color index mode glDrawPixels bug (Karl Schultz)
-</pre>
-<p>
-The MD5 checksums are:
-</p>
-<pre>
-9e8f34b059272dbb8e1f2c968b33bbf0 MesaLib-6.2.tar.gz
-3d6a6362390b6a37d3cb2e615f3ac7db MesaLib-6.2.tar.bz2
-6cfd7895d28e695c0dbbed9469564091 MesaLib-6.2.zip
-3e06e33b0809f09855cb60883b8bdfef MesaDemos-6.2.tar.gz
-9d160009c3dfdb35fe7e4088c9ba8f85 MesaDemos-6.2.tar.bz2
-856f7ec947122eb3c8985ebc2f654dcd MesaDemos-6.2.zip
-</pre>
-
-
-<h2>August 18, 2004</h2>
-<p>
-Mesa 6.1 has been released.
-This is a new development release (version 6.2 will be a stabilization
-release).
-</p>
-<pre>
- New:
- - Revamped Makefile system
- - glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
- - internal driver interface changes related to texture object
- allocation, vertex/fragment programs, BlendEquationSeparate, etc.
- - option to walk triangle edges with double-precision floats
- (Justin Novosad of Discreet) (see config.h file)
- - support for AUX buffers in software GLX driver
- - updated glext.h to version 24 and glxext.h to version 6
- - new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
- - updated BeOS support (Philippe Houdoin)
- Changes:
- - fragment fog interpolation is perspective corrected now
- - new glTexImage code, much cleaner, may be a bit faster
- Bug fixes:
- - glArrayElement in display lists didn't handle generic vertex attribs
- - glFogCoord didn't always work properly
- - ARB_fragment_program fog options didn't work
- - frag prog TEX instruction no longer incorrectly divides s,t,r by q
- - ARB frag prog TEX and TEXP instructions now use LOD=0
- - glTexEnviv in display lists didn't work
- - glRasterPos didn't do texgen or apply texture matrix
- - GL_DOUBLE-valued vertex arrays were broken in some cases
- - fixed texture rectangle edge/border sampling bugs
- - sampling an incomplete texture in a fragment program would segfault
- - glTexImage was missing a few error checks
- - fixed some minor glGetTexParameter glitches
- - GL_INTENSITY was mistakenly accepted as a &lt;format&gt; to glTexImage
- - fragment program writes to RC/HC register were broken
- - fixed a few glitches in GL_HP_occlusion_test extension
- - glBeginQueryARB and glEndQueryARB didn't work inside display lists
- - vertex program state references were broken
- - fixed triangle color interpolation bug on AIX (Shane Blackett)
- - fixed a number of minor memory leaks (bug #1002030)
-</pre>
-<p>
-The MD5 checksums are:
-</p>
-<pre>
-c9284d295ebcd2e0486cc3cd54e5863c MesaLib-6.1.tar.gz
-5de1f53ec0709f60fc68fdfed57351f3 MesaLib-6.1.tar.bz2
-483e77cac4789a5d36c42f3c0136d6d8 MesaLib-6.1.zip
-8c46cfa6f9732acc6f6c25724aad0246 MesaDemos-6.1.tar.gz
-89bfe0f6c69b39fd0ebd9fff481a4e9b MesaDemos-6.1.tar.bz2
-161268531fcc6f0c5a056430ee97e0c1 MesaDemos-6.1.zip
-</pre>
-
-
-
-<h2>April 2, 2004</h2>
-
-<p>
-Mesa 6.0.1 has been released.
-This release basically just fixes bugs since the 6.0. release.
-</p>
-<pre>
- New:
- - upgraded glext.h to version 22
- - new build targets (Dan Schikore)
- - new linux-x86-opteron build target (Heath Feather)
- Bug fixes:
- - glBindProgramARB didn't update all necessary state
- - fixed build problems on OpenBSD
- - omit CVS directories from tarballs
- - glGetTexImage(GL_COLOR_INDEX) was broken
- - fixed an infinite loop in t&amp;l module
- - silenced some valgrind warnings about using unitialized memory
- - fixed some compilation/link glitches on IRIX (Mike Stephens)
- - glBindProgram wasn't getting compiled into display lists
- - GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
- - two-sided lighting and vertex program didn't work (bug 887330)
- - stores to program parameter registers in vertex state programs
- didn't work.
- - fixed glOrtho bug found with gcc 3.2.2 (RH9)
- - glXCreateWindow() wasn't fully implemented (bug 890894)
- - generic vertex attribute arrays didn't work in display lists
- - vertex buffer objects' default usage and access fields were wrong
- - glDrawArrays with start!=0 was broken
- - fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
- - linux-osmesa16-static config didn't work
- - fixed a few color index rendering problems (bug 910687)
- - glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
- - OSMesa RGB and BGR modes were broken
- - glProgramStringARB mistakenly required a null-terminated string
- - fragment program XPD instruction was incorrect
- - glGetMaterial() didn't work reliably
-</pre>
-<p>
-The MD5 checksums are:
-</p>
-<pre>
-011be0e79666c7a6eb9693fbf9348653 MesaLib-6.0.1.tar.gz
-b7f14088c5c2f14490d2739a91102112 MesaLib-6.0.1.tar.bz2
-bf0510cf0a2b87d64cdd317eca3f1db1 MesaLib-6.0.1.zip
-b7b648599e0aaee1c4ffc554a2a9139e MesaDemos-6.0.1.tar.gz
-dd6aadfd9ca8e1cfa90c6ee492bc6f43 MesaDemos-6.0.1.tar.bz2
-eff71d59c211825e949199852f5a2316 MesaDemos-6.0.1.zip
-</pre>
-
-
-<h2>January 16, 2004</h2>
-
-<p>
-Mesa 6.0 has been released. This is a stabilization of the 5.1 release
-and primarily just incorporates bug fixes.
-</p>
-<pre>
- New:
- - full OpenGL 1.5 support
- - updated GL/glext.h file to version 21
- Changes:
- - changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
- Bug fixes:
- - fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
- clamping issue
- - updated suno5-gcc configs
- - glColor3 functions sometimes resulted in undefined alpha values
- - fixed FP divide by zero error seen on VMS with xlockmore, others
- - fixed vertex/fragment program debug problem (bug 873011)
- - building on AIX with gcc works now
- - glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
- - glDrawRangeElements tried to modify potentially read-only storage
- - updated files for building on Windows
-</pre>
-
-
-<h2>December 28, 2003</h2>
-
-<p>
-The Mesa CVS server has been moved to <a href="https://www.freedesktop.org">
-freedesktop.org</a> because of problems with SourceForge's anonymous
-CVS service.
-</p>
-
-
-<h2>December 17, 2003</h2>
-
-<p>
-Mesa 5.1 has been released. This is a new development release.
-Mesa 6.0 will be the next stable release and will support all
-OpenGL 1.5 features.
-</p>
-<pre>
- New features:
- - reorganized directory tree
- - GL_ARB_vertex/fragment_program extensions (Michal Krol &amp; Karl Rasche)
- - GL_ATI_texture_env_combine3 extension (Ian Romanick)
- - GL_SGI_texture_color_table extension (Eric Plante)
- - GL_NV_fragment_program extension
- - GL_NV_light_max_exponent extension
- - GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
- - GL_ARB_occlusion_query extension
- - GL_ARB_point_sprite extension
- - GL_ARB_texture_non_power_of_two extension
- - GL_IBM_multimode_draw_arrays extension
- - GL_EXT_texture_mirror_clamp extension (Ian Romanick)
- - GL_ARB_vertex_buffer_object extension
- - new X86 feature detection code (Petr Sebor)
- - less memory used for display lists and vertex buffers
- - demo of per-pixel lighting with a fragment program (demos/fplight.c)
- - new version (18) of glext.h header
- - new spriteblast.c demo of GL_ARB_point_sprite
- - faster glDrawPixels in X11 driver in some cases (see relnotes/5.1)
- - faster glCopyPixels in X11 driver in some cases (see relnotes/5.1)
- Bug fixes:
- - really enable OpenGL 1.4 features in DOS driver.
- - fixed issues in glDrawPixels and glCopyPixels for very wide images
- - glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
- - fixed some texgen bugs reported by Daniel Borca
- - fixed wglMakeCurrent(NULL, NULL) bug (#835861)
- - fixed glTexSubImage3D z-offset bug (Cedric Gautier)
- - fixed RGBA blend enable bug (Ville Syrjala)
- - glAccum is supposed to be a no-op in selection/feedback mode
- - fixed texgen bug #597589 (John Popplewell)
- Changes:
- - dropped API trace feature (src/Trace/)
- - documentation overhaul. merged with website content. more html.
- - glxgears.c demo updated to use GLX swap rate extensions
- - glTexImage1/2/3D now allows width/height/depth = 0
- - disable SPARC asm code on Linux (bug 852204)
-</pre>
-<p>
-The MD5 checksums are:
-</p>
-<pre>
-78f452f6c55478471a744f07147612b5 MesaLib-5.1.tar.gz
-67b3b8d3f7f4c8c44904551b851d01af MesaLib-5.1.tar.bz2
-6dd19ffa750ec7f634e370a987505c9d MesaLib-5.1.zip
-e0214d4ebb22409dfa9262f2b52fd828 MesaDemos-5.1.tar.gz
-066c9aff4fd924405de1ae9bad5ec9a7 MesaDemos-5.1.tar.bz2
-d2b5ba32b53e0ad0576c637a4cc1fb41 MesaDemos-5.1.zip
-</pre>
-
-
-<h2>November 12, 2003</h2>
-
-<p>
-New Mesa 5.0.2 tarballs have been uploaded to SourceForge which fix a
-number of automake/libtool problems.
-</p>
-<p>
-The new MD5 checksums are:
-</p>
-<pre>
-a9dcf3ff9ad1b7d6ce73a0df7cff8b5b MesaLib-5.0.2.tar.gz
-7b4bf9261657c2fca03796d4955e6f50 MesaLib-5.0.2.tar.bz2
-79c141bddcbad557647535d02194f346 MesaLib-5.0.2.zip
-952d9dc823dd818981d1a648d7b2668a MesaDemos-5.0.2.tar.gz
-b81fafff90995025d2f25ea02b786642 MesaDemos-5.0.2.tar.bz2
-a21be975589e8a2d1871b6bb7874fffa MesaDemos-5.0.2.zip
-</pre>
-
-
-<h2>September 5, 2003</h2>
-
-<p>
-Mesa 5.0.2 has been released. This is a stable, bug-fix release.
-</p>
-<pre>
- Bug fixes:
- - fixed texgen problem causing texcoord's Q to be zero (stex3d)
- - default GL_TEXTURE_COMPARE_MODE_ARB was wrong
- - GL_CURRENT_MATRIX_NV query was wrong
- - GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
- - GL_LIST_MODE query wasn't correct
- - GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
- - GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
- - blended, wide lines didn't always work correctly (bug 711595)
- - glVertexAttrib4svNV w component was always 1
- - fixed bug in GL_IBM_rasterpos_clip (missing return)
- - GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
- - a few Solaris compilation fixes
- - fixed glClear() problem for DRI drivers (non-existant stencil, etc)
- - fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
- - fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
- - glFog() didn't clamp fog colors
- - fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
- gl[Get]TexParameteri[v] functions
- - fixed invalid memory references in glTexGen functions (bug 781602)
- - integer-valued color arrays weren't handled correctly
- - glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
- - GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
- Changes:
- - build GLUT with -fexceptions so C++ apps propogate exceptions
-</pre>
-
-
-<h2>June 8, 2003</h2>
-
-<p>
-Mesa's directory tree has been overhauled.
-Things are better organized now with some thought toward future needs.
-</p>
-<p>
-In CVS, the latest Mesa 5.1 development code is now rooted under the
-<b>Mesa-newtree/</b> directory. The old top-level <b>Mesa/</b> directory
-holds the Mesa 5.0.x code which will be abandoned at some point.
-</p>
-
-
-<h2>March 30, 2003</h2>
-
-<p>
-Mesa 5.0.1 has been released. This is a stable, bug-fix release.
-</p>
-<pre>
- New:
- - DOS driver updates from Daniel Borca
- - updated GL/gl_mangle.h file (Bill Hoffman)
- Bug fixes:
- - auto mipmap generation for cube maps was broken (bug 641363)
- - writing/clearing software alpha channels was unreliable
- - minor compilation fixes for OS/2 (Evgeny Kotsuba)
- - fixed some bad assertions found with shadowtex demo
- - fixed error checking bug in glCopyTexSubImage2D (bug 659020)
- - glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
- - fixed potential segfault in texture object validation (bug 659012)
- - fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
- - fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
- - fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
- - glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
- - fixed compilation problem on Solaris7/x86 (bug 536406)
- - fixed prefetch bug in 3DNow! code (Felix Kuhling)
- - fixed NeXT build problem (FABSF macro)
- - glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
- - zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
- - AA line and triangle Z values are now rounded, not truncated
- - fixed color interpolation bug when GLchan==GLfloat (bug 694461)
- - glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
- - fixed a minor GL_COLOR_MATERIAL bug
- - NV vertex program EXP instruction was broken
- - glColorMask misbehaved with X window / pixmap rendering
- - fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
- - attempt to fix GGI compilation problem when MesaDemos not present
- - NV vertex program ARL-relative fetches didn't work
- Changes:
- - use glPolygonOffset in gloss demo to avoid z-fighting artifacts
- - updated winpos and pointblast demos to use ARB extensions
- - disable SPARC normal transformation code (bug 673938)
- - GLU fixes for OS/2 (Evgeny Kotsuba)
-</pre>
-<p>
-MD5 checksums follow:
-</p>
-<pre>
-b80f8b5d53a3e9f19b9fde5af0c542f0 MesaLib-5.0.1.tar.gz
-513b4bbd7d38951f05027179063d876b MesaLib-5.0.1.tar.bz2
-eebd395678f4520d33b267e5d5c22651 MesaLib-5.0.1.zip
-49d7feaec6dc1d2091d7c3cc72a9b320 MesaDemos-5.0.1.tar.gz
-37190374a98c3c892f0698be9ca3acf0 MesaDemos-5.0.1.tar.bz2
-becd8bf17f5791361b4a54ba2a78e5c9 MesaDemos-5.0.1.zip
-</pre>
-
-
-
-<h2>March 7, 2003</h2>
-<p>
-Website and documentation overhaul.
-</p>
-<p>
-The website content and Mesa documentation (from the doc/ directory) have
-been merged together.
-All the documentation files have been entered into the CVS repository.
-Many of the old plain-text files have been converted to html and modernized.
-</p>
-
-
-<h2>November 13, 2002</h2>
-<p>Mesa 5.0 has been released. This is a stable release which
-implements the OpenGL 1.4 specification.
-</p>
-<pre>New:
- - OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
- - removed some overlooked debugging code
- - glxinfo updated to support GLX_ARB_multisample
- - GLUT now support GLX_ARB_multisample
- - updated DOS driver (Daniel Borca)
-Bug fixes:
- - GL_POINT and GL_LINE-mode polygons didn't obey cull state
- - fixed potential bug in _mesa_align_malloc/calloc()
- - fixed missing triangle bug when running vertex programs
- - fixed a few HPUX compilation problems
- - FX (Glide) driver didn't compile
- - setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
- - a few EXT functions, like glGenTexturesEXT, were no-ops
- - a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
- glMultiDrawArrays and glMultiDrawElements were missing
- - glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
- - Pentium 4 Mobile was mistakenly identified as having 3DNow!
- - fixed one-bit error in point/line fragment Z calculation
- - fixed potential segfault in fakeglx code
- - fixed color overflow problem in DOT3 texture env mode
-</pre>
-
-
-<h2>October 29, 2002</h2>
-<p>Mesa 4.1 has been released. This is a new development release.
-For a stable release, get 4.0.4.
-</p>
-<pre>New:
- - GL_NV_vertex_program extension
- - GL_NV_vertex_program1_1 extension
- - GL_ARB_window_pos extension
- - GL_ARB_depth_texture extension
- - GL_ARB_shadow extension
- - GL_ARB_shadow_ambient extension
- - GL_EXT_shadow_funcs extension
- - GL_ARB_point_parameters extension
- - GL_ARB_texture_env_crossbar
- - GL_NV_point_sprite extension
- - GL_NV_texture_rectangle extension
- - GL_EXT_multi_draw_arrays extension
- - GL_EXT_stencil_two_side extension
- - GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
- - GL_ATI_texture_mirror_once extension (Ian Romanick)
- - massive overhaul/simplification of software rasterizer module,
- many contributions from Klaus Niederkrueger
- - faster software texturing in some cases (i.e. trilinear filtering)
- - new OSMesaGetProcAddress() function
- - more blend modes implemented with MMX code (Jose Fonseca)
- - added glutGetProcAddress() to GLUT
- - added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
- - pbinfo and pbdemo PBuffer programs
- - glxinfo -v prints transprent pixel info (Gerd Sussner)
-Bug fixes:
- - better mipmap LOD computation (prevents excessive blurriness)
- - OSMesaMakeCurrent() didn't recognize buffer size changes
- - assorted conformance fixes for 16-bit/channel rendering
- - texcombine alpha subtraction mode was broken
- - fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
- - clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
- - fixed divide by zero error in NURBS tessellator (Jon Perry)
- - fixed GL_LINEAR fog bug by adding clamping
- - fixed FP exceptions found using Alpha CPU
- - 3dfx/glide driver render-to-window feature was broken
- - added missing GLX_TRANSPARENT_RGB token to glx.h
- - fixed error checking related to paletted textures
- - fixed reference count error in glDeleteTextures (Randy Fayan)
-Changes:
- - New spec file and Python code to generate some GL dispatch files
- - Glide driver defaults to "no" with autoconf/automake
- - floating point color channels now clamped to [0,inf)
- - updated demos/stex3d with new options
-</pre>
-
-
-<h2>October 4, 2002</h2>
-<p>
-The <a href="faq.html">Mesa FAQ</a> has been rewritten.
-</p>
-
-<h2>October 3, 2002</h2>
-<p>Mesa 4.0.4 has been released. This is a stable bug-fix release.
-</p>
-<pre> New:
- - GL_NV_texture_rectangle extension
- - updated glext.h header (version 17)
- - updated DOS driver (Daniel Borca)
- - updated BeOS R5 driver (Philippe Houdoin)
- - added GL_IBM_texture_mirror_repeat
- - glxinfo now takes -l option to print interesting OpenGL limits info
- - GL_MESA_ycbcr_texture extension
- - GL_APPLE_client_storage extension (for some DRI drivers only)
- - GL_MESA_pack_invert extension
- Bug fixes:
- - fixed GL_LINEAR fog bug by adding clamping
- - fixed FP exceptions found using Alpha CPU
- - 3dfx MESA_GLX_FX=window (render to window) didn't work
- - fixed memory leak in wglCreateContest (Karl Schultz)
- - define GLAPIENTRY and GLAPI if undefined in glu.h
- - wglGetProcAddress didn't handle all API functions
- - when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
- - removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
- - error checking in compressed tex image functions had some glitches
- - fixed AIX compile problem in src/config.c
- - glGetTexImage was using pixel unpacking instead of packing params
- - auto-mipmap generation for cube maps was incorrect
- Changes:
- - max texture units reduced to six to accommodate texture rectangles
- - removed unfinished GL_MESA_sprite_point extension code
-</pre>
-
-<h2>June 25, 2002</h2>
-<p>Mesa 4.0.3 has been released. This is a stable bug-fix release.
-</p>
-<pre> New:
- - updated GL/glext.h file (version 15)
- - corrected MMX blend code (Jose Fonseca)
- - support for software-based alpha planes in Windows driver
- - updated GGI driver (Filip Spacek)
- Bug fixes:
- - glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
- - OSMesaMakeCurrent() didn't recognize buffer size changes
- - assorted conformance fixes for 16-bit/channel rendering
- - texcombine alpha subtraction mode was broken
- - fixed lighting bug with non-uniform scaling and display lists
- - fixed bug when deleting shared display lists
- - disabled SPARC cliptest assembly code (Mesa bug 544665)
- - fixed a couple Solaris compilation/link problems
- - blending clipped glDrawPixels didn't always work
- - glGetTexImage() didn't accept packed pixel types
- - glPixelMapu[is]v() could explode given too large of pixelmap
- - glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
- - glXCopyContext() could lead to segfaults
- - glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
- Changes:
- - lots of C++ (g++) code clean-ups
- - lots of T&amp;L updates for the Radeon DRI driver
- Known bugs:
- - mipmap LOD computation (fixed for Mesa 4.1)
-</pre>
-
-<h2>April 2, 2002</h2>
-<p>Mesa 4.0.2 has been released. This is a stable bug-fix release.
-</p>
-<pre> New:
- - New DOS (DJGPP) driver written by Daniel Borca
- - New driver interface functions for TCL drivers (such as Radeon DRI)
- - GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
- if using deep color channels
- - latest GL/glext.h and GL/glxext.h headers from SGI
- Bug fixes:
- - GL_BLEND with non-black texture env color wasn't always correct
- - GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
- - glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
- - glReadPixels was sometimes mistakenly clipped by the scissor box
- - glDraw/ReadPixels didn't catch all the errors that they should have
- - Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
- - 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
- - Fixed 1-bit float-&gt;int conversion bug in glDrawPixels(GL_DEPTH_COMP)
- - glColorMask as sometimes effecting glXSwapBuffers()
- - fixed a potential bug in XMesaGarbageCollect()
- - N threads rendering into one window didn't work reliably
- - glCopyPixels didn't work for deep color channels
- - improved 8 -&gt; 16bit/channel texture image conversion (Gerk Huisma)
- - glPopAttrib() didn't correctly restore user clip planes
- - user clip planes failed for some perspective projections (Chromium)
-</pre>
-
-<h2>December 17, 2001</h2>
-<p>Mesa 4.0.1 has been released. This is a stable bug-fix release.
-</p>
-<pre> New:
- - better sub-pixel sample positions for AA triangles (Ray Tice)
- - slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
- Bug fixes:
- - added missing break statements in glGet*() for multisample cases
- - fixed uninitialized hash table mutex bug (display lists / texobjs)
- - fixed bad teximage error check conditional (bug 476846)
- - fixed demos readtex.c compilation problem on Windows (Karl Schultz)
- - added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
- - silence some compiler warnings (gcc 2.96)
- - enable the #define GL_VERSION_1_3 in GL/gl.h
- - added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
- - fixed glu.h typedef problem found with MSDev 6.0
- - build libGL.so with -Bsymbolic (fixes bug found with Chromium)
- - added missing 'const' to glXGetContextIDEXT() in glxext.h
- - fixed a few glXGetProcAddress() errors (texture compression, etc)
- - fixed start index bug in compiled vertex arrays (Keith)
- - fixed compilation problems in src/SPARC/glapi_sparc.S
- - fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
- - use glXGetProcAddressARB in GLUT to avoid extension linking problems
- - provoking vertex of flat-shaded, color-index triangles was wrong
- - fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
- - glTexParameter didn't flush the vertex buffer (Ray Tice)
- - feedback attributes for glDraw/CopyPixels and glBitmap were wrong
- - fixed bug in normal length caching (ParaView lighting bug)
-</pre>
-
-<h2>October 22, 2001</h2>
-<p>Mesa 4.0 has been released. This is a stable release.
-</p>
-<pre> New:
- - Mesa 4.0 implements the OpenGL 1.3 specification
- - GL_IBM_rasterpos_clip extension
- - GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
- - GL_ARB_texture_mirrored_repeat extension
- - WindML UGL driver (Stephane Raimbault)
- - added OSMESA_MAX_WIDTH/HEIGHT queries
- - attempted compiliation fixes for Solaris 5, 7 and 8
- - updated glext.h and glxext.h files
- - updated Windows driver (Karl Schultz)
- Bug fixes:
- - added some missing GLX 1.3 tokens to include/GL/glx.h
- - GL_COLOR_MATRIX changes weren't recognized by teximage functions
- - glCopyPixels with scale and bias was broken
- - glRasterPos with lighting could segfault
- - glDeleteTextures could leave a dangling pointer
- - Proxy textures for cube maps didn't work
- - fixed a number of 16-bit color channel bugs
- - fixed a few minor memory leaks
- - GLX context sharing was broken in 3.5
- - fixed state-update bugs in glPopClientAttrib()
- - fixed glDrawRangeElements() bug
- - fixed a glPush/PopAttrib() bug related to texture binding
- - flat-shaded, textured lines were broken
- - fixed a dangling pointer problem in the XMesa code (Chris Burghart)
- - lighting didn't always produce the correct alpha value
- - fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
-</pre>
-
-
-<h2>June 21, 2001</h2>
-<p>Mesa 3.5 has been released. This is a new development release.
-</p>
-<pre> New:
- - internals of Mesa divided into modular pieces (Keith Whitwell)
- - 100% OpenGL 1.2 conformance (passes all conformance tests)
- - new AA line algorithm
- - GL_EXT_convolution extension
- - GL_ARB_imaging subset
- - OSMesaCreateContextExt() function
- - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- - GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
- - GL_EXT_fog_coord extension (Keith Whitwell)
- - GL_EXT_secondary_color extension (Keith Whitwell)
- - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
- - GL_SGIX_depth_texture extension
- - GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
- - demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
- - GL_ARB_texture_env_combine extension
- - GL_ARB_texture_env_dot3 extension
- - GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
- - OSMesaCreateContextExt() function
- - libOSMesa.so library, contains the OSMesa driver interface
- - GL/glxext.h header file for GLX extensions
- - somewhat faster software texturing, fogging, depth testing
- - all color-index conformance tests now pass (only 8bpp tested)
- - SPARC assembly language TCL optimizations (David Miller)
- - GL_SGIS_generate_mipmap extension
- Bug Fixes:
- - fbiRev and tmuRev were unitialized when using Glide3
- - fixed a few color index mode conformance failures; all pass now
- - now appling antialiasing coverage to alpha after texturing
- - colors weren't getting clamped to [0,1] before color table lookup
- - fixed RISC alignment errors caused by COPY_4UBV macro
- - drawing wide, flat-shaded lines could cause a segfault
- - vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
- Changes:
- - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
- - new libOSMesa.so library, contains the OSMesa driver interface
-</pre>
-
-
-<h2>May 17, 2001</h2>
-<p>Mesa 3.4.2 has been released. This is basically just a bug-fix release.
-Here's what's new:</p>
-<pre> Bug fixes:
- - deleting the currently bound texture could cause bad problems
- - using fog could result in random vertex alpha values
- - AA triangle rendering could touch pixels outside right window bound
- - fixed byteswapping problem in clear_32bit_ximage() function
- - fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
- - fixed memory leak in glXUseXFont()
- - fragment sampling in AA triangle function was off by 1/2 pixel
- - Windows: reading pixels from framebuffer didn't always work
- - glConvolutionFilter2D could segfault or cause FP exception
- - fixed segfaults in FX and X drivers when using tex unit 1 but not 0
- - GL_NAND logicop didn't work right in RGBA mode
- - fixed a memory corruption bug in vertex buffer reset code
- - clearing the softwara alpha buffer with scissoring was broken
- - fixed a few color index mode fog bugs
- - fixed some bad assertions in color index mode
- - fixed FX line 'stipple' bug #420091
- Changes:
- - optimized writing mono-colored pixel spans to X pixmaps
- - increased max viewport size to 2048 x 2048
-</pre>
-
-
-<h2>April 29, 2001</h2>
-<p>New Mesa website</p>
-<p>Mark Manning produced the new website. Thanks, Mark!</p>
-
-
-<h2>February 14, 2001</h2>
-<p>Mesa 3.4.1 has been released. Here's what's new:</p>
-<pre> New:
- - fixed some Linux build problems
- - fixed some Windows build problems
- - GL_EXT_texture_env_dot3 extension (Gareth Hughes)
- Bug fixes:
- - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
- - various state-update code changes needed for DRI bugs
- - disabled pixel transfer ops in glColorTable commands, not needed
- - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
- - updated sources and fixed compile problems in widgets-mesa/
- - GLX_PBUFFER enum value was wrong in glx.h
- - fixed a glColorMaterial lighting bug
- - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
- - glXCopySubBufferMESA() Y position was off by one
- - Error checking of glTexSubImage3D() was broken (bug 128775)
- - glPopAttrib() didn't restore all derived Mesa state correctly
- - Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
- conformance problems at 16bpp.
- - clearing depth buffer with scissoring was broken, would segfault
- - OSMesaGetDepthBuffer() returned bad bytesPerValue value
- - fixed a line clipping bug (reported by Craig McDaniel)
- - fixed RGB color over/underflow bug for very tiny triangles
- Known problems:
- - NURBS or evaluator surfaces inside display lists don't always work
-</pre>
-
-<h2>November 3, 2000</h2>
-<p>Mesa 3.4 has been released. Here's what's new since the 3.3 release:</p>
-<pre> New:
- - optimized glDrawPixels for glPixelZoom(1,-1)
- Bug Fixes:
- - widgets-mesa/src/*.c files were missing from 3.3 distro
- - include/GL/mesa_wgl.h file was missing from 3.3 distro
- - fixed some Win32 compile problems
- - texture object priorities weren't getting initialized to 1.0
- - glAreTexturesResident return value was wrong when using hardware
- - glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
- - glReadPixels with GLushort packed types was broken
- - fixed a few bugs in the GL_EXT_texture_env_combine texture code
- - glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
- - fixed some typos/bugs in the VB code
- - glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
- - optimized glDrawPixels paths weren't being used
- - per-fragment fog calculation didn't work without a Z buffer
- - improved blending accuracy, fixes Glean blendFunc test failures
- - glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
- - glXGetProcAddressARB() didn't always return the right address
- - gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
- - texture matrix changes weren't always detected (GLUT projtex demo)
- - fixed random color problem in vertex fog code
- - fixed Glide-related bug that let Quake get a 24-bit Z buffer
- Changes:
- - finished internal support for compressed textures for DRI
-</pre>
-
-<h2>April 24, 2000</h2>
-<p>Mesa 3.2 has been released. Here's what's new since the beta release:</p>
-<pre> Bug fixes:
- - fixed memcpy bugs in span.c
- - fixed missing glEnd problem in demos/tessdemo.c
- - fixed bug when clearing 24bpp Ximages
- - fixed clipping problem found in Unreal Tournament
- - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
- - fixed Loki's 3dfx RGB vs BGR bug
- - fixed Loki's 3dfx smooth/flat shading bug in SoF
- Changes:
- - updated docs/README file
- - use bcopy() optimizations on FreeBSD
- - re-enabled the optimized persp_textured_triangle() function
-</pre>
-
-<h2>March 23, 2000</h2>
-<p>I've just upload the Mesa 3.2 beta 1 files to SourceForge at <a href="https://sourceforge.net/project/showfiles.php?group_id=3">https://sourceforge.net/project/filelist.php?group_id=3</a></p>
-<p>3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly
-just bug fixes.</p>
-<p>Here's what's changed:</p>
-<pre>
- Bug fixes:
- - mixed drawing of lines and bitmaps sometimes had wrong colors
- - added missing glHintPGI() function
- - fixed a polygon culling bug
- - fixed bugs in gluPartialDisk()
- - Z values in selection mode were wrong
- - added missing tokens:
- GL_SMOOTH_POINT_SIZE_RANGE
- GL_SMOOTH_POINT_SIZE_GRANULARITY
- GL_SMOOTH_LINE_WIDTH_RANGE
- GL_SMOOTH_LINE_WIDTH_GRANULARITY
- GL_ALIASED_POINT_SIZE_RANGE
- GL_ALIASED_LINE_WIDTH_RANGE
- - fixed glCopyPixels when copying from back to front buffer
- - GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT
- - glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken
- - glDeleteTextures() didn't decrement reference count correctly
- - GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly
- - Actual depth of transformation matrix stacks was off by one
- - 24bpp visuals didn't address pixels correctly
- - mipmap level of detail (lambda) calculation simplified, more accurate
- - 101691 - Polygon clipping and GL_LINE
- - 101928 - Polygon clipping and GL_LINE (same fix as above)
- - 101808 - Non-glVertexArrays tristrip bug
- - 101971 - find_last_3f on Dec OSF (worked around)
- - 102369 - segv on dec osf (possibly a duplicate of the above)
- - 102893 - orientations of modelview cause segfault
- New:
- - updated SVGA Linux driver
- - added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX
- - build libGLw.a (Xt/OpenGL drawing area widget) library by default
- - changed -O2 to -O3 for a number of gcc configs
- Changes:
- - glXCopyContext's mask parameter is now unsigned long, per GLX spec
-</pre>
-
-<p>Please report any problems with this release ASAP. Bugs should be filed on the
-Mesa3D website at sourceforge.
-</p>
-<p>After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.</p>
-<p>-- Brian</p>
-
-<h2>December 17, 1999</h2>
-<p>A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers)
-can be found at <a href="https://slashdot.org/interviews/99/12/17/0927212.shtml">https://slashdot.org/interviews/99/12/17/0927212.shtml</a>.</p>
-
-<h2>December 14, 1999</h2>
-<p>Mesa 3.1 is released!</p>
-
-<h2>September 21, 1999</h2>
-<p>There appear to be two new files on the ftp site, <code>MesaLib-3.1beta3.tar.gz</code>
-and <code>MesaDemos-3.1beta3.tar.gz</code>,
-that seem to be... yes, I've just received confirmation from the beta center, they
-are indeed the <b>THIRD</b> beta release of Mesa 3.1! Happy Days. Happy Days. Thanks
-Keith Whitwell for preparing these for us during Brian's absence.</p>
-
-<h2>August 30, 1999</h2>
-<p>I'm pleased to announce that I've accepted a position with Precision Insight,
-Inc. effective October, 1999. I'll be leaving Avid Technology in September.</p>
-<p>I've been working on Mesa in my spare time for over five years. With Precision
-Insight I now have the opportunity to devote my full attention to advancing Mesa
-and OpenGL on Linux.</p>
-<p>While I'll be focused on Linux, the X Window System, and hardware acceleration,
-my work will continue to be open sourced and available to any other programmers who
-may want to contribute to it, or use it for other projects or platforms</p>
-<p>PS: I'm going to be traveling until Sep 6 and won't be reading email until then.</p>
-
-<h2>August 23, 1999</h2>
-<p>Anonymous CVS access is back online so suck up all the bandwidth you can afford.
-Note that this is a new archive, so you will need to re-checkout the archive. That
-means don't <i>cvs update</i> from a previous download.</p>
-
-<h2>August 17, 1999</h2>
-<p>A report from the SIGGRAPH '99 Linux/OpenGL
-BOF meeting is now available.</p>
-<p>-Brian</p>
-
-<h2>August 14, 1999</h2>
-<p><a href="https://www.mesa3d.org">www.mesa3d.org</a> is having
-technical problems due to hardware failures at VA Linux systems. The Mac pages,
-ftp, and CVS services aren't fully restored yet. Please be patient.</p>
-<p>-Brian</p>
-
-<h2>June 7, 1999</h2>
-<p>RPMS of the nVidia RIVA server can be found at
-<a href="ftp://ftp.mesa3d.org/mesa/misc/nVidia/">
-ftp://ftp.mesa3d.org/mesa/misc/nVidia/</a>.</p>
-
-<h2>June 2, 1999</h2>
-<p><a href="https://www.nvidia.com/">nVidia</a> has released some Linux binaries for
-xfree86 3.3.3.1, along with the <b>full source</b>, which includes GLX acceleration
-based on Mesa 3.0. They can be downloaded from
-<a href="https://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html">
-https://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html</a>.</p>
-
-<h2>May 24, 1999</h2>
-<p>Beta 2 of Mesa 3.1 has been make available at
-<a href="ftp://ftp.mesa3d.org/mesa/beta/">ftp://ftp.mesa3d.org/mesa/beta/</a>. If you are into the
-quake scene, you may want to try this out, as it contains some optimizations
-specifically in the Q3A rendering path.
-
-</p>
-<h2>May 13, 1999</h2>
-<p>For those interested in the integration of Mesa into XFree86 4.0, Precision Insight
-has posted their lowlevel design documents at
-<a href="http://www.precisioninsight.com">www.precisioninsight.com</a>.</p>
-
-<h2>May 13, 1999</h2>
-<pre>May 1999 - John Carmack of id Software, Inc. has made a donation of
-US$10,000 to the Mesa project to support its continuing development.
-Mesa is a free implementation of the OpenGL 3D graphics library and id's
-newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
-
-The donation will go to Keith Whitwell, who has been optimizing Mesa to
-improve performance on 3d hardware. Thanks to Keith's work, many
-applications using Mesa 3.1 will see a dramatic performance increase
-over Mesa 3.0. The donation will allow Keith to continue working on
-Mesa full time for some time to come.
-
-For more information about Mesa see www.mesa3d.org. For more
-information about id Software, Inc. see www.idsoftware.com.
-
---------------------------------
-
-This donation from John/id is very generous. Keith and I are very
-grateful.
-
-</pre>
-
-<h2>May 1, 1999</h2>
-<p>John Carmack made an interesting .plan update yesterday:</p>
-<pre>
-I put together a document on optimizing OpenGL drivers for Q3 that should be helpful to the various Linux 3D teams.
-
-http://www.quake3arena.com/news/glopt.html
-</pre>
-
-<h2>April 7, 1999</h2>
-<p>Updated the Mesa contributors section and added links to RPM Mesa packages.</p>
-
-<h2>March 18, 1999</h2>
-<p>The new webpages are now online. Enjoy, and let me know if you find any errors.
-
-</p>
-<h2>February 16, 1999</h2>
-<p><a href="https://www.sgi.com/">SGI</a> releases its
-<a href="http://web.archive.org/web/20040805154836/http://www.sgi.com/software/opensource/glx/download.html">GLX source code</a>.
-</p>
-
-<h2>January 22, 1999</h2>
-<p><a href="https://www.mesa3d.org">www.mesa3d.org</a> established</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 00000000000..d7ef36b95ad
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,2824 @@
+News
+====
+
+June 11, 2020
+-------------
+
+`Mesa 20.0.8 <relnotes/20.0.8.html>`__ is released. This is a bug fix
+release.
+
+NOTE: It is anticipated that 20.0.8 will be the final release in the
+20.0 series. Users of 20.0 are encouraged to migrate to the 20.1 series
+in order to obtain future fixes.
+
+June 10, 2020
+-------------
+
+`Mesa 20.1.1 <relnotes/20.1.1.html>`__ is released. This is a bug fix
+release.
+
+May 27, 2020
+------------
+
+`Mesa 20.1.0 <relnotes/20.1.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+this release.
+
+May 14, 2020
+------------
+
+`Mesa 20.0.7 <relnotes/20.0.7.html>`__ is released. This is a bug fix
+release.
+
+April 29, 2020
+--------------
+
+`Mesa 20.0.6 <relnotes/20.0.6.html>`__ is released. This is a bug fix
+release.
+
+April 22, 2020
+--------------
+
+`Mesa 20.0.5 <relnotes/20.0.5.html>`__ is released. This is a bug fix
+release.
+
+April 3, 2020
+-------------
+
+`Mesa 20.0.4 <relnotes/20.0.4.html>`__ is released. This is an emergency
+release which reverts a serious SPIR-V regression in the 20.0.3 release.
+Users of 20.0.3 are recommended to upgrade immediately.
+
+April 1, 2020
+-------------
+
+`Mesa 20.0.3 <relnotes/20.0.3.html>`__ is released. This is a bug fix
+release.
+
+March 18, 2020
+--------------
+
+`Mesa 20.0.2 <relnotes/20.0.2.html>`__ is released. This is a bug fix
+release.
+
+March 9, 2020
+-------------
+
+`Mesa 19.3.5 <relnotes/19.3.5.html>`__ is released. This is a bug fix
+release, and the final 19.3.x release. Users are encouraged to migrate
+to 20.0.x in order to obtain future fixes.
+
+March 5, 2020
+-------------
+
+`Mesa 20.0.1 <relnotes/20.0.1.html>`__ is released. This is a bug fix
+release.
+
+February 19, 2020
+-----------------
+
+`Mesa 20.0.0 <relnotes/20.0.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+this release.
+
+February 13, 2020
+-----------------
+
+`Mesa 19.3.4 <relnotes/19.3.4.html>`__ is released. This is a bug fix
+release.
+
+January 28, 2020
+----------------
+
+`Mesa 19.3.3 <relnotes/19.3.3.html>`__ is released. This is a bug fix
+release.
+
+January 9, 2020
+---------------
+
+`Mesa 19.3.2 <relnotes/19.3.2.html>`__ is released. This is a bug fix
+release.
+
+December 18, 2019
+-----------------
+
+`Mesa 19.2.8 <relnotes/19.2.8.html>`__ is released. This is a bug fix
+release.
+
+.. _december-18-2019-1:
+
+December 18, 2019
+-----------------
+
+`Mesa 19.3.1 <relnotes/19.3.1.html>`__ is released. This is a bug fix
+release.
+
+December 12, 2019
+-----------------
+
+`Mesa 19.3.0 <relnotes/19.3.0.html>`__ is released. This is a new
+development release. See the release notes for mor information about
+this release.
+
+December 4, 2019
+----------------
+
+`Mesa 19.2.7 <relnotes/19.2.7.html>`__ is released. This is a bug fix
+release.
+
+November 21, 2019
+-----------------
+
+`Mesa 19.2.6 <relnotes/19.2.6.html>`__ is released. This is a bug fix
+release.
+
+November 20, 2019
+-----------------
+
+`Mesa 19.2.5 <relnotes/19.2.5.html>`__ is released. This is a bug fix
+release.
+
+November 13, 2019
+-----------------
+
+`Mesa 19.2.4 <relnotes/19.2.4.html>`__ is released. This is an emergency
+bugfix release, all users of 19.2.3 are recomended to upgrade
+immediately.
+
+November 6, 2019
+----------------
+
+`Mesa 19.2.3 <relnotes/19.2.3.html>`__ is released. This is a bug fix
+release.
+
+October 24, 2019
+----------------
+
+`Mesa 19.2.2 <relnotes/19.2.2.html>`__ is released. This is a bug fix
+release.
+
+October 21, 2019
+----------------
+
+`Mesa 19.1.8 <relnotes/19.1.8.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 19.1.8 will be the final release in the
+19.1 series. Users of 19.1 are encouraged to migrate to the 19.2 series
+in order to obtain future fixes.
+
+October 9, 2019
+---------------
+
+`Mesa 19.2.1 <relnotes/19.2.1.html>`__ is released. This is a bug fix
+release.
+
+September 25, 2019
+------------------
+
+`Mesa 19.2.0 <relnotes/19.2.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+this release
+
+September 17, 2019
+------------------
+
+`Mesa 19.1.7 <relnotes/19.1.7.html>`__ is released. This is a bug-fix
+release.
+
+September 3, 2019
+-----------------
+
+`Mesa 19.1.6 <relnotes/19.1.6.html>`__ is released. This is a bug-fix
+release.
+
+August 23, 2019
+---------------
+
+`Mesa 19.1.5 <relnotes/19.1.5.html>`__ is released. This is a bug-fix
+release.
+
+August 7, 2019
+--------------
+
+`Mesa 19.1.4 <relnotes/19.1.4.html>`__ is released. This is a bug-fix
+release.
+
+July 23, 2019
+-------------
+
+`Mesa 19.1.3 <relnotes/19.1.3.html>`__ is released. This is a bug-fix
+release.
+
+July 9, 2019
+------------
+
+`Mesa 19.1.2 <relnotes/19.1.2.html>`__ is released. This is a bug-fix
+release.
+
+June 26, 2019
+-------------
+
+`Mesa 19.0.8 <relnotes/19.0.8.html>`__ is released. This is an emergency
+bug fix release. Users of 19.0.7 should updated to 19.0.8 or 19.1.1
+immediately.
+
+June 25, 2019
+-------------
+
+`Mesa 19.1.1 <relnotes/19.1.1.html>`__ is released. This is a bug-fix
+release.
+
+June 24, 2019
+-------------
+
+`Mesa 19.0.7 <relnotes/19.0.7.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 19.0.7 will be the final release in the
+19.0 series. Users of 19.0 are encouraged to migrate to the 19.1 series
+in order to obtain future fixes.
+
+June 11, 2019
+-------------
+
+`Mesa 19.1.0 <relnotes/19.1.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+this release
+
+June 5, 2019
+------------
+
+`Mesa 19.0.6 <relnotes/19.0.6.html>`__ is released. This is a bug-fix
+release.
+
+May 21, 2019
+------------
+
+`Mesa 19.0.5 <relnotes/19.0.5.html>`__ is released. This is a bug-fix
+release.
+
+May 9, 2019
+-----------
+
+`Mesa 19.0.4 <relnotes/19.0.4.html>`__ is released. This is a bug-fix
+release.
+
+April 24, 2019
+--------------
+
+`Mesa 19.0.3 <relnotes/19.0.3.html>`__ is released. This is a bug-fix
+release.
+
+April 10, 2019
+--------------
+
+`Mesa 19.0.2 <relnotes/19.0.2.html>`__ is released. This is a bug-fix
+release.
+
+April 5, 2019
+-------------
+
+`Mesa 18.3.6 <relnotes/18.3.6.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 18.3.6 will be the final release in the
+18.3 series. Users of 18.3 are encouraged to migrate to the 19.0 series
+in order to obtain future fixes.
+
+March 27, 2019
+--------------
+
+`Mesa 19.0.1 <relnotes/19.0.1.html>`__ is released. This is a bug-fix
+release.
+
+March 18, 2019
+--------------
+
+`Mesa 18.3.5 <relnotes/18.3.5.html>`__ is released. This is a bug-fix
+release.
+
+March 13, 2019
+--------------
+
+`Mesa 19.0.0 <relnotes/19.0.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+this release
+
+February 18, 2019
+-----------------
+
+`Mesa 18.3.4 <relnotes/18.3.4.html>`__ is released. This is a bug-fix
+release.
+
+January 31, 2019
+----------------
+
+`Mesa 18.3.3 <relnotes/18.3.3.html>`__ is released. This is a bug-fix
+release.
+
+January 17, 2019
+----------------
+
+`Mesa 18.3.2 <relnotes/18.3.2.html>`__ is released. This is a bug-fix
+release.
+
+December 27, 2018
+-----------------
+
+`Mesa 18.2.8 <relnotes/18.2.8.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 18.2.8 will be the final release in the
+18.2 series. Users of 18.2 are encouraged to migrate to the 18.3 series
+in order to obtain future fixes.
+
+December 13, 2018
+-----------------
+
+`Mesa 18.2.7 <relnotes/18.2.7.html>`__ is released. This is a bug-fix
+release.
+
+December 11, 2018
+-----------------
+
+`Mesa 18.3.1 <relnotes/18.3.1.html>`__ is released. This is a bug-fix
+release.
+
+December 7, 2018
+----------------
+
+`Mesa 18.3.0 <relnotes/18.3.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+November 28, 2018
+-----------------
+
+`Mesa 18.2.6 <relnotes/18.2.6.html>`__ is released. This is a bug-fix
+release.
+
+November 15, 2018
+-----------------
+
+`Mesa 18.2.5 <relnotes/18.2.5.html>`__ is released. This is a bug-fix
+release.
+
+October 31, 2018
+----------------
+
+`Mesa 18.2.4 <relnotes/18.2.4.html>`__ is released. This is a bug-fix
+release.
+
+October 19, 2018
+----------------
+
+`Mesa 18.2.3 <relnotes/18.2.3.html>`__ is released. This is a bug-fix
+release.
+
+October 5, 2018
+---------------
+
+`Mesa 18.2.2 <relnotes/18.2.2.html>`__ is released. This is a bug-fix
+release.
+
+September 24, 2018
+------------------
+
+`Mesa 18.1.9 <relnotes/18.1.9.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 18.1.9 will be the final release in the
+18.1 series. Users of 18.1 are encouraged to migrate to the 18.2 series
+in order to obtain future fixes.
+
+September 21, 2018
+------------------
+
+`Mesa 18.2.1 <relnotes/18.2.1.html>`__ is released. This is a bug-fix
+release.
+
+September 7, 2018
+-----------------
+
+`Mesa 18.1.8 <relnotes/18.1.8.html>`__ and `Mesa
+18.2.0 <relnotes/18.2.0.html>`__ are released. These are, respectively,
+a bug-fix release from the 18.1 branch and a new development release.
+See the release notes for more information about the releases.
+
+August 24, 2018
+---------------
+
+`Mesa 18.1.7 <relnotes/18.1.7.html>`__ is released. This is a bug-fix
+release.
+
+August 13, 2018
+---------------
+
+`Mesa 18.1.6 <relnotes/18.1.6.html>`__ is released. This is a bug-fix
+release.
+
+July 27, 2018
+-------------
+
+`Mesa 18.1.5 <relnotes/18.1.5.html>`__ is released. This is a bug-fix
+release.
+
+July 13, 2018
+-------------
+
+`Mesa 18.1.4 <relnotes/18.1.4.html>`__ is released. This is a bug-fix
+release.
+
+June 29, 2018
+-------------
+
+`Mesa 18.1.3 <relnotes/18.1.3.html>`__ is released. This is a bug-fix
+release.
+
+June 15, 2018
+-------------
+
+`Mesa 18.1.2 <relnotes/18.1.2.html>`__ is released. This is a bug-fix
+release.
+
+June 3, 2018
+------------
+
+`Mesa 18.0.5 <relnotes/18.0.5.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 18.0.5 will be the final release in the
+18.0 series. Users of 18.0 are encouraged to migrate to the 18.1 series
+in order to obtain future fixes.
+
+June 1, 2018
+------------
+
+`Mesa 18.1.1 <relnotes/18.1.1.html>`__ is released. This is a bug-fix
+release.
+
+May 18, 2018
+------------
+
+`Mesa 18.1.0 <relnotes/18.1.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+May 17, 2018
+------------
+
+`Mesa 18.0.4 <relnotes/18.0.4.html>`__ is released. This is a bug-fix
+release.
+
+May 7, 2018
+-----------
+
+`Mesa 18.0.3 <relnotes/18.0.3.html>`__ is released. This is a bug-fix
+release.
+
+April 28, 2018
+--------------
+
+`Mesa 18.0.2 <relnotes/18.0.2.html>`__ is released. This is a bug-fix
+release.
+
+April 18, 2018
+--------------
+
+`Mesa 18.0.1 <relnotes/18.0.1.html>`__ is released. This is a bug-fix
+release.
+
+.. _april-18-2018-1:
+
+April 18, 2018
+--------------
+
+`Mesa 17.3.9 <relnotes/17.3.9.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 17.3.9 will be the final release in the
+17.3 series. Users of 17.3 are encouraged to migrate to the 18.0 series
+in order to obtain future fixes.
+
+April 03, 2018
+--------------
+
+`Mesa 17.3.8 <relnotes/17.3.8.html>`__ is released. This is a bug-fix
+release.
+
+March 27, 2018
+--------------
+
+`Mesa 18.0.0 <relnotes/18.0.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+March 21, 2018
+--------------
+
+`Mesa 17.3.7 <relnotes/17.3.7.html>`__ is released. This is a bug-fix
+release.
+
+February 26, 2018
+-----------------
+
+`Mesa 17.3.6 <relnotes/17.3.6.html>`__ is released. This is a bug-fix
+release.
+
+February 19, 2018
+-----------------
+
+`Mesa 17.3.5 <relnotes/17.3.5.html>`__ is released. This is a bug-fix
+release.
+
+February 15, 2018
+-----------------
+
+`Mesa 17.3.4 <relnotes/17.3.4.html>`__ is released. This is a bug-fix
+release.
+
+January 18, 2018
+----------------
+
+`Mesa 17.3.3 <relnotes/17.3.3.html>`__ is released. This is a bug-fix
+release.
+
+January 8, 2018
+---------------
+
+`Mesa 17.3.2 <relnotes/17.3.2.html>`__ is released. This is a bug-fix
+release.
+
+December 22, 2017
+-----------------
+
+`Mesa 17.2.8 <relnotes/17.2.8.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 17.2.8 will be the final release in the
+17.2 series. Users of 17.2 are encouraged to migrate to the 17.3 series
+in order to obtain future fixes.
+
+December 21, 2017
+-----------------
+
+`Mesa 17.3.1 <relnotes/17.3.1.html>`__ is released. This is a bug-fix
+release.
+
+December 14, 2017
+-----------------
+
+`Mesa 17.2.7 <relnotes/17.2.7.html>`__ is released. This is a bug-fix
+release.
+
+December 8, 2017
+----------------
+
+`Mesa 17.3.0 <relnotes/17.3.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+November 25, 2017
+-----------------
+
+`Mesa 17.2.6 <relnotes/17.2.6.html>`__ is released. This is a bug-fix
+release.
+
+November 10, 2017
+-----------------
+
+`Mesa 17.2.5 <relnotes/17.2.5.html>`__ is released. This is a bug-fix
+release.
+
+October 30, 2017
+----------------
+
+`Mesa 17.2.4 <relnotes/17.2.4.html>`__ is released. This is a bug-fix
+release.
+
+October 19, 2017
+----------------
+
+`Mesa 17.2.3 <relnotes/17.2.3.html>`__ is released. This is a bug-fix
+release.
+
+October 2, 2017
+---------------
+
+`Mesa 17.2.2 <relnotes/17.2.2.html>`__ is released. This is a bug-fix
+release.
+
+September 25, 2017
+------------------
+
+`Mesa 17.1.10 <relnotes/17.1.10.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 17.1.10 will be the final release in the
+17.1 series. Users of 17.1 are encouraged to migrate to the 17.2 series
+in order to obtain future fixes.
+
+September 17, 2017
+------------------
+
+`Mesa 17.2.1 <relnotes/17.2.1.html>`__ is released. This is a bug-fix
+release.
+
+September 8, 2017
+-----------------
+
+`Mesa 17.1.9 <relnotes/17.1.9.html>`__ is released. This is a bug-fix
+release.
+
+September 4, 2017
+-----------------
+
+`Mesa 17.2.0 <relnotes/17.2.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+August 28, 2017
+---------------
+
+`Mesa 17.1.8 <relnotes/17.1.8.html>`__ is released. This is a bug-fix
+release.
+
+August 21, 2017
+---------------
+
+`Mesa 17.1.7 <relnotes/17.1.7.html>`__ is released. This is a bug-fix
+release.
+
+August 7, 2017
+--------------
+
+`Mesa 17.1.6 <relnotes/17.1.6.html>`__ is released. This is a bug-fix
+release.
+
+July 14, 2017
+-------------
+
+`Mesa 17.1.5 <relnotes/17.1.5.html>`__ is released. This is a bug-fix
+release.
+
+June 30, 2017
+-------------
+
+`Mesa 17.1.4 <relnotes/17.1.4.html>`__ is released. This is a bug-fix
+release.
+
+June 19, 2017
+-------------
+
+`Mesa 17.1.3 <relnotes/17.1.3.html>`__ is released. This is a bug-fix
+release.
+
+June 5, 2017
+------------
+
+`Mesa 17.1.2 <relnotes/17.1.2.html>`__ is released. This is a bug-fix
+release.
+
+June 1, 2017
+------------
+
+`Mesa 17.0.7 <relnotes/17.0.7.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 17.0.7 will be the final release in the
+17.0 series. Users of 17.0 are encouraged to migrate to the 17.1 series
+in order to obtain future fixes.
+
+May 25, 2017
+------------
+
+`Mesa 17.1.1 <relnotes/17.1.1.html>`__ is released. This is a bug-fix
+release.
+
+May 12, 2017
+------------
+
+`Mesa 17.0.6 <relnotes/17.0.6.html>`__ is released. This is a bug-fix
+release.
+
+May 10, 2017
+------------
+
+`Mesa 17.1.0 <relnotes/17.1.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+April 28, 2017
+--------------
+
+`Mesa 17.0.5 <relnotes/17.0.5.html>`__ is released. This is a bug-fix
+release.
+
+April 17, 2017
+--------------
+
+`Mesa 17.0.4 <relnotes/17.0.4.html>`__ is released. This is a bug-fix
+release.
+
+April 1, 2017
+-------------
+
+`Mesa 17.0.3 <relnotes/17.0.3.html>`__ is released. This is a bug-fix
+release.
+
+March 20, 2017
+--------------
+
+`Mesa 13.0.6 <relnotes/13.0.6.html>`__ and `Mesa
+17.0.2 <relnotes/17.0.2.html>`__ are released. These are bug-fix
+releases from the 13.0 and 17.0 branches, respectively.
+
+NOTE: It is anticipated that 13.0.6 will be the final release in the
+13.0 series. Users of 13.0 are encouraged to migrate to the 17.0 series
+in order to obtain future fixes.
+
+March 4, 2017
+-------------
+
+`Mesa 17.0.1 <relnotes/17.0.1.html>`__ is released. This is a bug-fix
+release.
+
+February 20, 2017
+-----------------
+
+`Mesa 13.0.5 <relnotes/13.0.5.html>`__ is released. This is a bug-fix
+release.
+
+February 13, 2017
+-----------------
+
+`Mesa 17.0.0 <relnotes/17.0.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+February 1, 2017
+----------------
+
+`Mesa 13.0.4 <relnotes/13.0.4.html>`__ is released. This is a bug-fix
+release.
+
+January 23, 2017
+----------------
+
+`Mesa 12.0.6 <relnotes/12.0.6.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: This is an extra release for the 12.0 stable branch, as per
+developers' feedback. It is anticipated that 12.0.6 will be the final
+release in the 12.0 series. Users of 12.0 are encouraged to migrate to
+the 13.0 series in order to obtain future fixes.
+
+January 5, 2017
+---------------
+
+`Mesa 13.0.3 <relnotes/13.0.3.html>`__ is released. This is a bug-fix
+release.
+
+December 5, 2016
+----------------
+
+`Mesa 12.0.5 <relnotes/12.0.5.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 12.0.5 will be the final release in the
+12.0 series. Users of 12.0 are encouraged to migrate to the 13.0 series
+in order to obtain future fixes.
+
+November 28, 2016
+-----------------
+
+`Mesa 13.0.2 <relnotes/13.0.2.html>`__ is released. This is a bug-fix
+release.
+
+November 14, 2016
+-----------------
+
+`Mesa 13.0.1 <relnotes/13.0.1.html>`__ is released. This is a bug-fix
+release.
+
+November 10, 2016
+-----------------
+
+`Mesa 12.0.4 <relnotes/12.0.4.html>`__ is released. This is a bug-fix
+release.
+
+November 1, 2016
+----------------
+
+`Mesa 13.0.0 <relnotes/13.0.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+September 15, 2016
+------------------
+
+`Mesa 12.0.3 <relnotes/12.0.3.html>`__ is released. This is a bug-fix
+release.
+
+September 2, 2016
+-----------------
+
+`Mesa 12.0.2 <relnotes/12.0.2.html>`__ is released. This is a bug-fix
+release.
+
+July 8, 2016
+------------
+
+`Mesa 12.0.1 <relnotes/12.0.1.html>`__ is released. This is a bug-fix
+release, resolving build issues in the r600 and radeonsi drivers.
+
+`Mesa 12.0.0 <relnotes/12.0.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+May 9, 2016
+-----------
+
+`Mesa 11.1.4 <relnotes/11.1.4.html>`__ and `Mesa
+11.2.2 <relnotes/11.2.2.html>`__ are released. These are bug-fix
+releases from the 11.1 and 11.2 branches, respectively.
+
+NOTE: It is anticipated that 11.1.4 will be the final release in the
+11.1.4 series. Users of 11.1 are encouraged to migrate to the 11.2
+series in order to obtain future fixes.
+
+April 17, 2016
+--------------
+
+`Mesa 11.1.3 <relnotes/11.1.3.html>`__ and `Mesa
+11.2.1 <relnotes/11.2.1.html>`__ are released. These are bug-fix
+releases from the 11.1 and 11.2 branches, respectively.
+
+April 4, 2016
+-------------
+
+`Mesa 11.2.0 <relnotes/11.2.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+February 10, 2016
+-----------------
+
+`Mesa 11.1.2 <relnotes/11.1.2.html>`__ is released. This is a bug-fix
+release.
+
+January 22, 2016
+----------------
+
+`Mesa 11.0.9 <relnotes/11.0.9.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 11.0.9 will be the final release in the
+11.0 series. Users of 11.0 are encouraged to migrate to the 11.1 series
+in order to obtain future fixes.
+
+January 13, 2016
+----------------
+
+`Mesa 11.1.1 <relnotes/11.1.1.html>`__ is released. This is a bug-fix
+release.
+
+December 21, 2015
+-----------------
+
+`Mesa 11.0.8 <relnotes/11.0.8.html>`__ is released. This is a bug-fix
+release.
+
+December 15, 2015
+-----------------
+
+`Mesa 11.1.0 <relnotes/11.1.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+December 9, 2015
+----------------
+
+`Mesa 11.0.7 <relnotes/11.0.7.html>`__ is released. This is a bug-fix
+release.
+
+Mesa demos 8.3.0 is also released. See the
+`announcement <https://lists.freedesktop.org/archives/mesa-announce/2015-December/000191.html>`__
+for more information about the release. You can download it from
+`ftp.freedesktop.org/pub/mesa/demos/8.3.0/ <ftp://ftp.freedesktop.org/pub/mesa/demos/8.3.0/>`__.
+
+November 21, 2015
+-----------------
+
+`Mesa 11.0.6 <relnotes/11.0.6.html>`__ is released. This is a bug-fix
+release.
+
+November 11, 2015
+-----------------
+
+`Mesa 11.0.5 <relnotes/11.0.5.html>`__ is released. This is a bug-fix
+release.
+
+October 24, 2015
+----------------
+
+`Mesa 11.0.4 <relnotes/11.0.4.html>`__ is released. This is a bug-fix
+release.
+
+October 10, 2015
+----------------
+
+`Mesa 11.0.3 <relnotes/11.0.3.html>`__ is released. This is a bug-fix
+release.
+
+October 3, 2015
+---------------
+
+`Mesa 10.6.9 <relnotes/10.6.9.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 10.6.9 will be the final release in the
+10.6 series. Users of 10.6 are encouraged to migrate to the 11.0 series
+in order to obtain future fixes.
+
+September 28, 2015
+------------------
+
+`Mesa 11.0.2 <relnotes/11.0.2.html>`__ is released. This is a bug-fix
+release.
+
+September 26, 2015
+------------------
+
+`Mesa 11.0.1 <relnotes/11.0.1.html>`__ is released. This is a bug-fix
+release.
+
+September 20, 2015
+------------------
+
+`Mesa 10.6.8 <relnotes/10.6.8.html>`__ is released. This is a bug-fix
+release.
+
+September 12, 2015
+------------------
+
+`Mesa 11.0.0 <relnotes/11.0.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+September 10, 2015
+------------------
+
+`Mesa 10.6.7 <relnotes/10.6.7.html>`__ is released. This is a bug-fix
+release.
+
+September 4, 2015
+-----------------
+
+`Mesa 10.6.6 <relnotes/10.6.6.html>`__ is released. This is a bug-fix
+release.
+
+August 22, 2015
+---------------
+
+`Mesa 10.6.5 <relnotes/10.6.5.html>`__ is released. This is a bug-fix
+release.
+
+August 11, 2015
+---------------
+
+`Mesa 10.6.4 <relnotes/10.6.4.html>`__ is released. This is a bug-fix
+release.
+
+July 26, 2015
+-------------
+
+`Mesa 10.6.3 <relnotes/10.6.3.html>`__ is released. This is a bug-fix
+release.
+
+July 11, 2015
+-------------
+
+`Mesa 10.6.2 <relnotes/10.6.2.html>`__ is released. This is a bug-fix
+release.
+
+July 04, 2015
+-------------
+
+`Mesa 10.5.9 <relnotes/10.5.9.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: It is anticipated that 10.5.9 will be the final release in the
+10.5 series. Users of 10.5 are encouraged to migrate to the 10.6 series
+in order to obtain future fixes.
+
+June 29, 2015
+-------------
+
+`Mesa 10.6.1 <relnotes/10.6.1.html>`__ is released. This is a bug-fix
+release.
+
+June 20, 2015
+-------------
+
+`Mesa 10.5.8 <relnotes/10.5.8.html>`__ is released. This is a bug-fix
+release.
+
+June 14, 2015
+-------------
+
+`Mesa 10.6.0 <relnotes/10.6.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+June 07, 2015
+-------------
+
+`Mesa 10.5.7 <relnotes/10.5.7.html>`__ is released. This is a bug-fix
+release.
+
+May 23, 2015
+------------
+
+`Mesa 10.5.6 <relnotes/10.5.6.html>`__ is released. This is a bug-fix
+release.
+
+May 11, 2015
+------------
+
+`Mesa 10.5.5 <relnotes/10.5.5.html>`__ is released. This is a bug-fix
+release.
+
+April 24, 2015
+--------------
+
+`Mesa 10.5.4 <relnotes/10.5.4.html>`__ is released. This is a bug-fix
+release.
+
+April 12, 2015
+--------------
+
+`Mesa 10.5.3 <relnotes/10.5.3.html>`__ is released. This is a bug-fix
+release.
+
+March 28, 2015
+--------------
+
+`Mesa 10.5.2 <relnotes/10.5.2.html>`__ is released. This is a bug-fix
+release.
+
+March 20, 2015
+--------------
+
+`Mesa 10.4.7 <relnotes/10.4.7.html>`__ is released. This is a bug-fix
+release.
+
+March 13, 2015
+--------------
+
+`Mesa 10.5.1 <relnotes/10.5.1.html>`__ is released. This is a bug-fix
+release.
+
+March 06, 2015
+--------------
+
+`Mesa 10.5.0 <relnotes/10.5.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+.. _march-06-2015-1:
+
+March 06, 2015
+--------------
+
+`Mesa 10.4.6 <relnotes/10.4.6.html>`__ is released. This is a bug-fix
+release.
+
+February 21, 2015
+-----------------
+
+`Mesa 10.4.5 <relnotes/10.4.5.html>`__ is released. This is a bug-fix
+release.
+
+February 06, 2015
+-----------------
+
+`Mesa 10.4.4 <relnotes/10.4.4.html>`__ is released. This is a bug-fix
+release.
+
+January 24, 2015
+----------------
+
+`Mesa 10.4.3 <relnotes/10.4.3.html>`__ is released. This is a bug-fix
+release.
+
+January 12, 2015
+----------------
+
+`Mesa 10.3.7 <relnotes/10.3.7.html>`__ and `Mesa
+10.4.2 <relnotes/10.4.2.html>`__ are released. These are bug-fix
+releases from the 10.3 and 10.4 branches, respectively.
+
+NOTE: It is anticipated that 10.3.7 will be the final release in the
+10.3 series. Users of 10.3 are encouraged to migrate to the 10.4 series
+in order to obtain future fixes.
+
+December 29, 2014
+-----------------
+
+`Mesa 10.3.6 <relnotes/10.3.6.html>`__ and `Mesa
+10.4.1 <relnotes/10.4.1.html>`__ are released. These are bug-fix
+releases from the 10.3 and 10.4 branches, respectively.
+
+December 14, 2014
+-----------------
+
+`Mesa 10.4 <relnotes/10.4.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+December 5, 2014
+----------------
+
+`Mesa 10.3.5 <relnotes/10.3.5.html>`__ is released. This is a bug-fix
+release.
+
+November 21, 2014
+-----------------
+
+`Mesa 10.3.4 <relnotes/10.3.4.html>`__ is released. This is a bug-fix
+release.
+
+November 8, 2014
+----------------
+
+`Mesa 10.3.3 <relnotes/10.3.3.html>`__ is released. This is a bug-fix
+release.
+
+October 24, 2014
+----------------
+
+`Mesa 10.3.2 <relnotes/10.3.2.html>`__ is released. This is a bug-fix
+release.
+
+October 12, 2014
+----------------
+
+`Mesa 10.2.9 <relnotes/10.2.9.html>`__ and `Mesa
+10.3.1 <relnotes/10.3.1.html>`__ are released. These are bug-fix
+releases from the 10.2 and 10.3 branches, respectively.
+
+NOTE: It is anticipated that 10.2.9 will be the final release in the
+10.2 series. Users of 10.2 are encouraged to migrate to the 10.3 series
+in order to obtain future fixes.
+
+September 19, 2014
+------------------
+
+`Mesa 10.3 <relnotes/10.3.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+Also, `Mesa 10.2.8 <relnotes/10.2.8.html>`__ is released. This is a bug
+fix release from the 10.2 branch.
+
+September 6, 2014
+-----------------
+
+`Mesa 10.2.7 <relnotes/10.2.7.html>`__ is released. This is a bug-fix
+release.
+
+August 19, 2014
+---------------
+
+`Mesa 10.2.6 <relnotes/10.2.6.html>`__ is released. This is a bug-fix
+release.
+
+August 2, 2014
+--------------
+
+`Mesa 10.2.5 <relnotes/10.2.5.html>`__ is released. This is a bug-fix
+release.
+
+July 18, 2014
+-------------
+
+`Mesa 10.2.4 <relnotes/10.2.4.html>`__ is released. This is a bug-fix
+release.
+
+July 7, 2014
+------------
+
+`Mesa 10.2.3 <relnotes/10.2.3.html>`__ is released. This is a bug-fix
+release.
+
+July 5, 2014
+------------
+
+Mesa demos 8.2.0 is released. See the
+`announcement <https://lists.freedesktop.org/archives/mesa-announce/2014-July/000100.html>`__
+for more information about the release. You can download it from
+`ftp.freedesktop.org/pub/mesa/demos/8.2.0/ <ftp://ftp.freedesktop.org/pub/mesa/demos/8.2.0/>`__.
+
+June 24, 2014
+-------------
+
+`Mesa 10.1.6 <relnotes/10.1.6.html>`__ and `Mesa
+10.2.2 <relnotes/10.2.2.html>`__ are released. These are bug-fix
+releases from the 10.1 and 10.2 branches, respectively.
+
+June 6, 2014
+------------
+
+`Mesa 10.2.1 <relnotes/10.2.1.html>`__ is released. This release only
+fixes a build error in the radeonsi driver that was introduced between
+10.2-rc5 and the 10.2 final release.
+
+.. _june-6-2014-1:
+
+June 6, 2014
+------------
+
+`Mesa 10.2 <relnotes/10.2.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+Also, `Mesa 10.1.5 <relnotes/10.1.5.html>`__ is released. This is a bug
+fix release from the 10.1 branch.
+
+May 20, 2014
+------------
+
+`Mesa 10.1.4 <relnotes/10.1.4.html>`__ is released. This is a bug-fix
+release.
+
+May 9, 2014
+-----------
+
+`Mesa 10.1.3 <relnotes/10.1.3.html>`__ is released. This is a bug-fix
+release, and is being released sooner than originally scheduled to fix a
+performance regression (vmware swapbuffers falling back to software)
+introduced to the 10.1.2 release.
+
+May 5, 2014
+-----------
+
+`Mesa 10.1.2 <relnotes/10.1.2.html>`__ is released. This is a bug-fix
+release.
+
+April 18, 2014
+--------------
+
+`Mesa 10.1.1 <relnotes/10.1.1.html>`__ is released. This is a bug-fix
+release.
+
+.. _april-18-2014-1:
+
+April 18, 2014
+--------------
+
+`Mesa 10.0.5 <relnotes/10.0.5.html>`__ is released. This is a bug-fix
+release.
+
+NOTE: Since the 10.1.1 release is being released concurrently, it is
+anticipated that 10.0.5 will be the final release in the 10.0 series.
+Users of 10.0 are encouraged to migrate to the 10.1 series in order to
+obtain future fixes.
+
+March 12, 2014
+--------------
+
+`Mesa 10.0.4 <relnotes/10.0.4.html>`__ is released. This is a bug-fix
+release.
+
+March 4, 2014
+-------------
+
+`Mesa 10.1 <relnotes/10.1.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+February 3, 2014
+----------------
+
+`Mesa 10.0.3 <relnotes/10.0.3.html>`__ is released. This is a bug-fix
+release.
+
+January 9, 2014
+---------------
+
+`Mesa 10.0.2 <relnotes/10.0.2.html>`__ is released. This is a bug-fix
+release.
+
+December 12, 2013
+-----------------
+
+`Mesa 10.0.1 <relnotes/10.0.1.html>`__ and `Mesa
+9.2.5 <relnotes/9.2.5.html>`__ are released. These are both bug-fix
+releases.
+
+November 30, 2013
+-----------------
+
+`Mesa 10.0 <relnotes/10.0.html>`__ is released. This is a new
+development release. See the release notes for more information about
+the release.
+
+November 27, 2013
+-----------------
+
+`Mesa 9.2.4 <relnotes/9.2.4.html>`__ is released. This is a bug fix
+release.
+
+November 13, 2013
+-----------------
+
+`Mesa 9.2.3 <relnotes/9.2.3.html>`__ is released. This is a bug fix
+release.
+
+October 18, 2013
+----------------
+
+`Mesa 9.2.2 <relnotes/9.2.2.html>`__ is released. This is a bug fix
+release.
+
+October 4, 2013
+---------------
+
+`Mesa 9.2.1 <relnotes/9.2.1.html>`__ and `Mesa
+9.1.7 <relnotes/9.1.7.html>`__ are released, both bug-fix releases.
+
+August 27, 2013
+---------------
+
+`Mesa 9.2 <relnotes/9.2.html>`__ is released. This is a new development
+release. See the release notes for more information about the release.
+
+August 1, 2013
+--------------
+
+`Mesa 9.1.6 <relnotes/9.1.6.html>`__ is released. This is a bug fix
+release.
+
+July 17, 2013
+-------------
+
+`Mesa 9.1.5 <relnotes/9.1.5.html>`__ is released. This is a bug fix
+release.
+
+July 1, 2013
+------------
+
+`Mesa 9.1.4 <relnotes/9.1.4.html>`__ is released. This is a bug fix
+release.
+
+May 21, 2013
+------------
+
+`Mesa 9.1.3 <relnotes/9.1.3.html>`__ is released. This is a bug fix
+release.
+
+April 30, 2013
+--------------
+
+`Mesa 9.1.2 <relnotes/9.1.2.html>`__ is released. This is a bug fix
+release.
+
+March 19, 2013
+--------------
+
+`Mesa 9.1.1 <relnotes/9.1.1.html>`__ is released. This is a bug fix
+release.
+
+February 24, 2013
+-----------------
+
+Mesa demos 8.1.0 is released. See the
+`announcement <https://lists.freedesktop.org/archives/mesa-dev/2013-February/035180.html>`__
+for more information about the release. You can download it from
+`ftp.freedesktop.org/pub/mesa/demos/8.1.0/ <ftp://ftp.freedesktop.org/pub/mesa/demos/8.1.0/>`__.
+
+February 22, 2013
+-----------------
+
+`Mesa 9.1 <relnotes/9.1.html>`__ is released. This is a new development
+release. See the release notes for more information about the release.
+
+February 21, 2013
+-----------------
+
+`Mesa 9.0.3 <relnotes/9.0.3.html>`__ is released. This is a bug fix
+release.
+
+January 22, 2013
+----------------
+
+`Mesa 9.0.2 <relnotes/9.0.2.html>`__ is released. This is a bug fix
+release.
+
+November 16, 2012
+-----------------
+
+`Mesa 9.0.1 <relnotes/9.0.1.html>`__ is released. This is a bug fix
+release.
+
+October 24, 2012
+----------------
+
+`Mesa 8.0.5 <relnotes/8.0.5.html>`__ is released. This is a bug fix
+release.
+
+October 8, 2012
+---------------
+
+`Mesa 9.0 <relnotes/9.0.html>`__ is released. This is the first version
+of Mesa to support OpenGL 3.1 and GLSL 1.40 (with the i965 driver). See
+the release notes for more information about the release.
+
+July 10, 2012
+-------------
+
+`Mesa 8.0.4 <relnotes/8.0.4.html>`__ is released. This is a bug fix
+release.
+
+May 18, 2012
+------------
+
+`Mesa 8.0.3 <relnotes/8.0.3.html>`__ is released. This is a bug fix
+release.
+
+March 21, 2012
+--------------
+
+`Mesa 8.0.2 <relnotes/8.0.2.html>`__ is released. This is a bug fix
+release.
+
+February 16, 2012
+-----------------
+
+`Mesa 8.0.1 <relnotes/8.0.1.html>`__ is released. This is a bug fix
+release. See the release notes for more information about the release.
+
+February 9, 2012
+----------------
+
+`Mesa 8.0 <relnotes/8.0.html>`__ is released. This is the first version
+of Mesa to support OpenGL 3.0 and GLSL 1.30 (with the i965 driver). See
+the release notes for more information about the release.
+
+November 27, 2011
+-----------------
+
+`Mesa 7.11.2 <relnotes/7.11.2.html>`__ is released. This is a bug fix
+release. This release was made primarily to fix build problems with
+7.11.1 on Mandriva and to fix problems related to glCopyTexImage to
+luminance-alpha textures. The later was believed to have been fixed in
+7.11.1 but was not.
+
+November 17, 2011
+-----------------
+
+`Mesa 7.11.1 <relnotes/7.11.1.html>`__ is released. This is a bug fix
+release.
+
+July 31, 2011
+-------------
+
+`Mesa 7.11 <relnotes/7.11.html>`__ (final) is released. This is a new
+development release.
+
+June 13, 2011
+-------------
+
+`Mesa 7.10.3 <relnotes/7.10.3.html>`__ is released. This is a bug fix
+release.
+
+April 6, 2011
+-------------
+
+`Mesa 7.10.2 <relnotes/7.10.2.html>`__ is released. This is a bug fix
+release.
+
+March 2, 2011
+-------------
+
+`Mesa 7.9.2 <relnotes/7.9.2.html>`__ and `Mesa
+7.10.1 <relnotes/7.10.1.html>`__ are released. These are stable releases
+containing bug fixes since the 7.9.1 and 7.10 releases.
+
+October 4, 2010
+---------------
+
+`Mesa 7.9 <relnotes/7.9.html>`__ (final) is released. This is a new
+development release.
+
+September 27, 2010
+------------------
+
+`Mesa 7.9.0-rc1 <relnotes/7.9.html>`__ is released. This is a release
+candidate for the 7.9 development release.
+
+June 16, 2010
+-------------
+
+`Mesa 7.8.2 <relnotes/7.8.2.html>`__ is released. This is a bug-fix
+release collecting fixes since the 7.8.1 release.
+
+April 5, 2010
+-------------
+
+`Mesa 7.8.1 <relnotes/7.8.1.html>`__ is released. This is a bug-fix
+release for a few critical issues in the 7.8 release.
+
+March 28, 2010
+--------------
+
+`Mesa 7.7.1 <relnotes/7.7.1.html>`__ is released. This is a bug-fix
+release fixing issues found in the 7.7 release.
+
+Also, `Mesa 7.8 <relnotes/7.8.html>`__ is released. This is a new
+development release.
+
+December 21, 2009
+-----------------
+
+`Mesa 7.6.1 <relnotes/7.6.1.html>`__ is released. This is a bug-fix
+release fixing issues found in the 7.6 release.
+
+Also, `Mesa 7.7 <relnotes/7.7.html>`__ is released. This is a new
+development release.
+
+September 28, 2009
+------------------
+
+`Mesa 7.6 <relnotes/7.6.html>`__ is released. This is a new feature
+release. Those especially concerned about stability may want to wait for
+the follow-on 7.6.1 bug-fix release.
+
+`Mesa 7.5.2 <relnotes/7.5.2.html>`__ is also released. This is a stable
+release fixing bugs since the 7.5.1 release.
+
+September 3, 2009
+-----------------
+
+`Mesa 7.5.1 <relnotes/7.5.1.html>`__ is released. This is a bug-fix
+release which fixes bugs found in version 7.5.
+
+July 17, 2009
+-------------
+
+`Mesa 7.5 <relnotes/7.5.html>`__ is released. This is a new features
+release. People especially concerned about stability may want to wait
+for the follow-on 7.5.1 bug-fix release.
+
+June 23, 2009
+-------------
+
+`Mesa 7.4.4 <relnotes/7.4.4.html>`__ is released. This is a stable
+release that fixes a regression in the i915/i965 drivers that slipped
+into the 7.4.3 release.
+
+June 19, 2009
+-------------
+
+`Mesa 7.4.3 <relnotes/7.4.3.html>`__ is released. This is a stable
+release fixing bugs since the 7.4.2 release.
+
+May 15, 2009
+------------
+
+`Mesa 7.4.2 <relnotes/7.4.2.html>`__ is released. This is a stable
+release fixing bugs since the 7.4.1 release.
+
+April 18, 2009
+--------------
+
+`Mesa 7.4.1 <relnotes/7.4.1.html>`__ is released. This is a stable
+release fixing bugs since the 7.4 release.
+
+March 27, 2009
+--------------
+
+`Mesa 7.4 <relnotes/7.4.html>`__ is released. This is a stable release
+fixing bugs since the 7.3 release.
+
+January 22, 2009
+----------------
+
+`Mesa 7.3 <relnotes/7.3.html>`__ is released. This is a new development
+release. Mesa 7.4 will follow and will have bug fixes relative to 7.3.
+
+September 20, 2008
+------------------
+
+`Mesa 7.2 <relnotes/7.2.html>`__ is released. This is a stable, bug-fix
+release.
+
+August 26, 2008
+---------------
+
+`Mesa 7.1 <relnotes/7.1.html>`__ is released. This is a new development
+release. It should be relatively stable, but those especially concerned
+about stability should wait for the 7.2 release or use Mesa 7.0.4 (the
+previous stable release).
+
+August 16, 2008
+---------------
+
+`Mesa 7.0.4 <relnotes/7.0.4.html>`__ is released. This is a bug-fix
+release.
+
+April 4, 2008
+-------------
+
+`Mesa 7.0.3 <relnotes/7.0.3.html>`__ is released. This is a bug-fix
+release.
+
+January 24, 2008
+----------------
+
+Added a new page describing the Mesa Cell driver.
+
+November 13, 2007
+-----------------
+
+Gallium3D is the codename for the new Mesa device driver architecture
+which is currently under development.
+
+Gallium3D development is taking place on the *gallium-0.1* branch of the
+git repository. Currently, there's only a software-only driver and an
+Intel i915/945 driver but other drivers will be coming...
+
+November 10, 2007
+-----------------
+
+`Mesa 7.0.2 <relnotes/7.0.2.html>`__ is released. This is a bug-fix
+release.
+
+August 3, 2007
+--------------
+
+`Mesa 7.0.1 <relnotes/7.0.1.html>`__ is released. This is a bug-fix
+release.
+
+June 22, 2007
+-------------
+
+`Mesa 7.0 <relnotes/7.0.html>`__ is released. This is a stable release
+featuring OpenGL 2.1 support.
+
+April 27, 2007
+--------------
+
+`Mesa 6.5.3 <relnotes/6.5.3.html>`__ is released. This is a development
+release which will lead up to the Mesa 7.0 release (which will advertise
+OpenGL 2.1 API support).
+
+March 26, 2007
+--------------
+
+The new Shading Language compiler branch has been merged into the git
+master branch. This is a step toward hardware support for the OpenGL 2.0
+Shading Language and will be included in the next Mesa release. In
+conjunction, `Glean <http://glean.sf.net>`__ has been updated with a new
+test that does over 130 tests of the shading language and built-in
+functions.
+
+April 4, 2007
+-------------
+
+Thomas Hellström of Tungsten Graphics has written a whitepaper
+describing the new DRI memory management system.
+
+December 5, 2006
+----------------
+
+Mesa is now using git as its source code management system. The previous
+CVS repository should no longer be used. See the `repository
+page <repository.html>`__ for more information.
+
+December 2, 2006
+----------------
+
+`Mesa 6.5.2 <relnotes/6.5.2.html>`__ has been released. This is a new
+development release.
+
+September 15, 2006
+------------------
+
+`Mesa 6.5.1 <relnotes/6.5.1.html>`__ has been released. This is a new
+development release.
+
+March 31, 2006
+--------------
+
+`Mesa 6.5 <relnotes/6.5.html>`__ has been released. This is a new
+development release.
+
+February 2, 2006
+----------------
+
+`Mesa 6.4.2 <relnotes/6.4.2.html>`__ has been released. This is stable,
+bug-fix release.
+
+November 29, 2005
+-----------------
+
+`Mesa 6.4.1 <relnotes/6.4.1.html>`__ has been released. This is stable,
+bug-fix release.
+
+October 24, 2005
+----------------
+
+`Mesa 6.4 <relnotes/6.4.html>`__ has been released. This is stable,
+bug-fix release.
+
+August 19, 2005
+---------------
+
+Mesa 6.3.2 has been released. Note: there was no public release of
+version 6.3.1.
+
+`Changes in version 6.3.1 <versions.html#6.3.2>`__
+
+The MD5 checksums are:
+
+::
+
+ 98192e45ed8d69113688f89f90869346 MesaLib-6.3.2.tar.gz
+ 0df27701df0924d17ddf41185efa8ce1 MesaLib-6.3.2.tar.bz2
+ ccb2423aab77fc7e81ce628734586140 MesaLib-6.3.2.zip
+ 9d0fca0a7d051c34a0b485423fb3e85d MesaDemos-6.3.2.tar.gz
+ 96708868450c188205e42229b5d813c4 MesaDemos-6.3.2.tar.bz2
+ c5102501e609aa8996d832fafacb8ab9 MesaDemos-6.3.2.zip
+
+July 20, 2005
+-------------
+
+Mesa 6.3 has been released. This is a development release with new
+features, changes and bug fixes.
+
+::
+
+ New:
+ - GL_EXT_framebuffer_object extension
+ - GL_ARB_draw_buffers extension
+ - GL_ARB_pixel_buffer_object extension
+ - GL_OES_read_format extension (Ian Romanick)
+ - DirectFB driver (Claudio Ciccani)
+ - x86_64 vertex transformation code (Mikko T.)
+ Changes:
+ - added -stereo option for glxgears demo (Jacek Rosik)
+ - updated the PBuffer demo code in xdemos/ directory
+ - glDeleteTextures/Programs/Buffers() now makes the object ID
+ available for immediate re-use
+ - assorted 64-bit clean-ups fixes (x86_64 and Win64)
+ - lots of internal changes for GL_EXT_framebuffer_object
+ Bug fixes:
+ - some functions didn't support PBO functionality
+ - glGetTexImage didn't convert color index images to RGBA as required
+ - fragment program texcoords were sometimes wrong for points and lines
+ - fixed problem with negative dot product in arbfplight, fplight demos
+ - fixed bug in perspective correction of antialiased, textured lines
+ - querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
+ - fixed a couple per-pixel fog bugs (Soju Matsumoto)
+ - glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
+ - fixed float parsing bug in ARB frag/vert programs (bug 2520)
+ - XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
+ - GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
+ - glXChooseFBConfig() crashed if attribList pointer was NULL
+ - program state.light[n].spot.direction.w was wrong value (bug 3083)
+ - fragment program fog option required glEnable(GL_FOG) - wrong.
+ - glColorTable() could produce a Mesa implementation error (bug 3135)
+ - RasterPos could get corrupted by color index rendering path
+ - Removed bad XTranslateCoordinates call when rendering to Pixmaps
+ - glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
+ - fixed a few Darwin compilation problems
+
+The MD5 checksums are:
+
+::
+
+ 0236f552d37514776945d5a013e5bb7b MesaLib-6.3.tar.gz
+ 60e1a8f78c4a8c7750a1e95753190986 MesaLib-6.3.tar.bz2
+ ca7c950fbace68c70caa822322db7223 MesaLib-6.3.zip
+ 25ea801645b376c014051804fe4974b2 MesaDemos-6.3.tar.gz
+ 9248e74872ea88c57ec25c900c295057 MesaDemos-6.3.tar.bz2
+ 8537dfa734ef258dcc7272097558d434 MesaDemos-6.3.zip
+
+December 9, 2004
+----------------
+
+Mesa 6.2.1 has been released. This is a stable release which just fixes
+bugs since the 6.2 release.
+
+::
+
+ Bug fixes:
+ - don't apply regular fog or color sum when using a fragment program
+ - glProgramEnvParameter4fARB always generated an error on
+ GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
+ - glVertexAttrib3svNV and glVertexAttrib3svARB were broken
+ - fixed width/height mix-up in glSeparableFilter2D()
+ - fixed regression in glCopyPixels + convolution
+ - glReadPixels from a clipped front color buffer didn't always work
+ - glTexImage didn't accept GL_RED/GREEN/BLUE as the format
+ - Attempting queries/accesses of VBO 0 weren't detected as errors
+ - paletted textures failed if the palette had fewer than 256 entries
+ Changes:
+ - fixed a bunch of compiler warnings found with gcc 3.4
+ - bug reports should to go bugzilla.freedesktop.org
+
+The MD5 checksums are:
+
+::
+
+ 80008a92f6e055d3bfdde2cf331ec3fa MesaLib-6.2.1.tar.gz
+ f43228cd2bf70f583ef3275c1c545421 MesaLib-6.2.1.tar.bz2
+ dec26cfd40116ad021020fea2d94f652 MesaLib-6.2.1.zip
+ 2c7af3c986a7571c8713c8bfee7e49e3 MesaDemos-6.2.1.tar.gz
+ 3cac74667b50bcbd4f67f594fb4224a2 MesaDemos-6.2.1.tar.bz2
+ 75b3edd12eb2b370caf05f29b99e508a MesaDemos-6.2.1.zip
+
+October 2, 2004
+---------------
+
+Mesa 6.2 has been released. This is a stable release which just fixes
+bugs since the 6.1 release.
+
+::
+
+ New:
+ - enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
+ - updated Doxygen support (Jose Fonseca)
+ Changes:
+ - some GGI driver updates (Christoph Egger, bug 1025977)
+ Bug fixes:
+ - Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
+ - fixed a few compilation issues on IRIX
+ - fixed a matrix classification bug (reported by Wes Bethel)
+ - we weren't reseting the vertex/fragment program error state
+ before parsing (Dave Reveman)
+ - adjust texcoords for sampling texture rectangles (Dave Reveman)
+ - glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
+ - repeated calls to glDeleteTexture(t) could lead to a crash
+ - fixed potential ref count bugs in VBOs and vertex/fragment programs
+ - spriteblast demo didn't handle window size changes correctly
+ - glTexSubImage didn't handle pixels=NULL correctly for PBOs
+ - fixed color index mode glDrawPixels bug (Karl Schultz)
+
+The MD5 checksums are:
+
+::
+
+ 9e8f34b059272dbb8e1f2c968b33bbf0 MesaLib-6.2.tar.gz
+ 3d6a6362390b6a37d3cb2e615f3ac7db MesaLib-6.2.tar.bz2
+ 6cfd7895d28e695c0dbbed9469564091 MesaLib-6.2.zip
+ 3e06e33b0809f09855cb60883b8bdfef MesaDemos-6.2.tar.gz
+ 9d160009c3dfdb35fe7e4088c9ba8f85 MesaDemos-6.2.tar.bz2
+ 856f7ec947122eb3c8985ebc2f654dcd MesaDemos-6.2.zip
+
+August 18, 2004
+---------------
+
+Mesa 6.1 has been released. This is a new development release (version
+6.2 will be a stabilization release).
+
+::
+
+ New:
+ - Revamped Makefile system
+ - glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
+ - internal driver interface changes related to texture object
+ allocation, vertex/fragment programs, BlendEquationSeparate, etc.
+ - option to walk triangle edges with double-precision floats
+ (Justin Novosad of Discreet) (see config.h file)
+ - support for AUX buffers in software GLX driver
+ - updated glext.h to version 24 and glxext.h to version 6
+ - new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
+ - updated BeOS support (Philippe Houdoin)
+ Changes:
+ - fragment fog interpolation is perspective corrected now
+ - new glTexImage code, much cleaner, may be a bit faster
+ Bug fixes:
+ - glArrayElement in display lists didn't handle generic vertex attribs
+ - glFogCoord didn't always work properly
+ - ARB_fragment_program fog options didn't work
+ - frag prog TEX instruction no longer incorrectly divides s,t,r by q
+ - ARB frag prog TEX and TEXP instructions now use LOD=0
+ - glTexEnviv in display lists didn't work
+ - glRasterPos didn't do texgen or apply texture matrix
+ - GL_DOUBLE-valued vertex arrays were broken in some cases
+ - fixed texture rectangle edge/border sampling bugs
+ - sampling an incomplete texture in a fragment program would segfault
+ - glTexImage was missing a few error checks
+ - fixed some minor glGetTexParameter glitches
+ - GL_INTENSITY was mistakenly accepted as a <format> to glTexImage
+ - fragment program writes to RC/HC register were broken
+ - fixed a few glitches in GL_HP_occlusion_test extension
+ - glBeginQueryARB and glEndQueryARB didn't work inside display lists
+ - vertex program state references were broken
+ - fixed triangle color interpolation bug on AIX (Shane Blackett)
+ - fixed a number of minor memory leaks (bug #1002030)
+
+The MD5 checksums are:
+
+::
+
+ c9284d295ebcd2e0486cc3cd54e5863c MesaLib-6.1.tar.gz
+ 5de1f53ec0709f60fc68fdfed57351f3 MesaLib-6.1.tar.bz2
+ 483e77cac4789a5d36c42f3c0136d6d8 MesaLib-6.1.zip
+ 8c46cfa6f9732acc6f6c25724aad0246 MesaDemos-6.1.tar.gz
+ 89bfe0f6c69b39fd0ebd9fff481a4e9b MesaDemos-6.1.tar.bz2
+ 161268531fcc6f0c5a056430ee97e0c1 MesaDemos-6.1.zip
+
+April 2, 2004
+-------------
+
+Mesa 6.0.1 has been released. This release basically just fixes bugs
+since the 6.0. release.
+
+::
+
+ New:
+ - upgraded glext.h to version 22
+ - new build targets (Dan Schikore)
+ - new linux-x86-opteron build target (Heath Feather)
+ Bug fixes:
+ - glBindProgramARB didn't update all necessary state
+ - fixed build problems on OpenBSD
+ - omit CVS directories from tarballs
+ - glGetTexImage(GL_COLOR_INDEX) was broken
+ - fixed an infinite loop in t&l module
+ - silenced some valgrind warnings about using unitialized memory
+ - fixed some compilation/link glitches on IRIX (Mike Stephens)
+ - glBindProgram wasn't getting compiled into display lists
+ - GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
+ - two-sided lighting and vertex program didn't work (bug 887330)
+ - stores to program parameter registers in vertex state programs
+ didn't work.
+ - fixed glOrtho bug found with gcc 3.2.2 (RH9)
+ - glXCreateWindow() wasn't fully implemented (bug 890894)
+ - generic vertex attribute arrays didn't work in display lists
+ - vertex buffer objects' default usage and access fields were wrong
+ - glDrawArrays with start!=0 was broken
+ - fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
+ - linux-osmesa16-static config didn't work
+ - fixed a few color index rendering problems (bug 910687)
+ - glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
+ - OSMesa RGB and BGR modes were broken
+ - glProgramStringARB mistakenly required a null-terminated string
+ - fragment program XPD instruction was incorrect
+ - glGetMaterial() didn't work reliably
+
+The MD5 checksums are:
+
+::
+
+ 011be0e79666c7a6eb9693fbf9348653 MesaLib-6.0.1.tar.gz
+ b7f14088c5c2f14490d2739a91102112 MesaLib-6.0.1.tar.bz2
+ bf0510cf0a2b87d64cdd317eca3f1db1 MesaLib-6.0.1.zip
+ b7b648599e0aaee1c4ffc554a2a9139e MesaDemos-6.0.1.tar.gz
+ dd6aadfd9ca8e1cfa90c6ee492bc6f43 MesaDemos-6.0.1.tar.bz2
+ eff71d59c211825e949199852f5a2316 MesaDemos-6.0.1.zip
+
+January 16, 2004
+----------------
+
+Mesa 6.0 has been released. This is a stabilization of the 5.1 release
+and primarily just incorporates bug fixes.
+
+::
+
+ New:
+ - full OpenGL 1.5 support
+ - updated GL/glext.h file to version 21
+ Changes:
+ - changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
+ Bug fixes:
+ - fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
+ clamping issue
+ - updated suno5-gcc configs
+ - glColor3 functions sometimes resulted in undefined alpha values
+ - fixed FP divide by zero error seen on VMS with xlockmore, others
+ - fixed vertex/fragment program debug problem (bug 873011)
+ - building on AIX with gcc works now
+ - glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
+ - glDrawRangeElements tried to modify potentially read-only storage
+ - updated files for building on Windows
+
+December 28, 2003
+-----------------
+
+The Mesa CVS server has been moved to
+`freedesktop.org <https://www.freedesktop.org>`__ because of problems
+with SourceForge's anonymous CVS service.
+
+December 17, 2003
+-----------------
+
+Mesa 5.1 has been released. This is a new development release. Mesa 6.0
+will be the next stable release and will support all OpenGL 1.5
+features.
+
+::
+
+ New features:
+ - reorganized directory tree
+ - GL_ARB_vertex/fragment_program extensions (Michal Krol & Karl Rasche)
+ - GL_ATI_texture_env_combine3 extension (Ian Romanick)
+ - GL_SGI_texture_color_table extension (Eric Plante)
+ - GL_NV_fragment_program extension
+ - GL_NV_light_max_exponent extension
+ - GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
+ - GL_ARB_occlusion_query extension
+ - GL_ARB_point_sprite extension
+ - GL_ARB_texture_non_power_of_two extension
+ - GL_IBM_multimode_draw_arrays extension
+ - GL_EXT_texture_mirror_clamp extension (Ian Romanick)
+ - GL_ARB_vertex_buffer_object extension
+ - new X86 feature detection code (Petr Sebor)
+ - less memory used for display lists and vertex buffers
+ - demo of per-pixel lighting with a fragment program (demos/fplight.c)
+ - new version (18) of glext.h header
+ - new spriteblast.c demo of GL_ARB_point_sprite
+ - faster glDrawPixels in X11 driver in some cases (see relnotes/5.1)
+ - faster glCopyPixels in X11 driver in some cases (see relnotes/5.1)
+ Bug fixes:
+ - really enable OpenGL 1.4 features in DOS driver.
+ - fixed issues in glDrawPixels and glCopyPixels for very wide images
+ - glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
+ - fixed some texgen bugs reported by Daniel Borca
+ - fixed wglMakeCurrent(NULL, NULL) bug (#835861)
+ - fixed glTexSubImage3D z-offset bug (Cedric Gautier)
+ - fixed RGBA blend enable bug (Ville Syrjala)
+ - glAccum is supposed to be a no-op in selection/feedback mode
+ - fixed texgen bug #597589 (John Popplewell)
+ Changes:
+ - dropped API trace feature (src/Trace/)
+ - documentation overhaul. merged with website content. more html.
+ - glxgears.c demo updated to use GLX swap rate extensions
+ - glTexImage1/2/3D now allows width/height/depth = 0
+ - disable SPARC asm code on Linux (bug 852204)
+
+The MD5 checksums are:
+
+::
+
+ 78f452f6c55478471a744f07147612b5 MesaLib-5.1.tar.gz
+ 67b3b8d3f7f4c8c44904551b851d01af MesaLib-5.1.tar.bz2
+ 6dd19ffa750ec7f634e370a987505c9d MesaLib-5.1.zip
+ e0214d4ebb22409dfa9262f2b52fd828 MesaDemos-5.1.tar.gz
+ 066c9aff4fd924405de1ae9bad5ec9a7 MesaDemos-5.1.tar.bz2
+ d2b5ba32b53e0ad0576c637a4cc1fb41 MesaDemos-5.1.zip
+
+November 12, 2003
+-----------------
+
+New Mesa 5.0.2 tarballs have been uploaded to SourceForge which fix a
+number of automake/libtool problems.
+
+The new MD5 checksums are:
+
+::
+
+ a9dcf3ff9ad1b7d6ce73a0df7cff8b5b MesaLib-5.0.2.tar.gz
+ 7b4bf9261657c2fca03796d4955e6f50 MesaLib-5.0.2.tar.bz2
+ 79c141bddcbad557647535d02194f346 MesaLib-5.0.2.zip
+ 952d9dc823dd818981d1a648d7b2668a MesaDemos-5.0.2.tar.gz
+ b81fafff90995025d2f25ea02b786642 MesaDemos-5.0.2.tar.bz2
+ a21be975589e8a2d1871b6bb7874fffa MesaDemos-5.0.2.zip
+
+September 5, 2003
+-----------------
+
+Mesa 5.0.2 has been released. This is a stable, bug-fix release.
+
+::
+
+ Bug fixes:
+ - fixed texgen problem causing texcoord's Q to be zero (stex3d)
+ - default GL_TEXTURE_COMPARE_MODE_ARB was wrong
+ - GL_CURRENT_MATRIX_NV query was wrong
+ - GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
+ - GL_LIST_MODE query wasn't correct
+ - GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
+ - GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
+ - blended, wide lines didn't always work correctly (bug 711595)
+ - glVertexAttrib4svNV w component was always 1
+ - fixed bug in GL_IBM_rasterpos_clip (missing return)
+ - GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
+ - a few Solaris compilation fixes
+ - fixed glClear() problem for DRI drivers (non-existant stencil, etc)
+ - fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
+ - fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
+ - glFog() didn't clamp fog colors
+ - fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
+ gl[Get]TexParameteri[v] functions
+ - fixed invalid memory references in glTexGen functions (bug 781602)
+ - integer-valued color arrays weren't handled correctly
+ - glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
+ - GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
+ Changes:
+ - build GLUT with -fexceptions so C++ apps propogate exceptions
+
+June 8, 2003
+------------
+
+Mesa's directory tree has been overhauled. Things are better organized
+now with some thought toward future needs.
+
+In CVS, the latest Mesa 5.1 development code is now rooted under the
+**Mesa-newtree/** directory. The old top-level **Mesa/** directory holds
+the Mesa 5.0.x code which will be abandoned at some point.
+
+March 30, 2003
+--------------
+
+Mesa 5.0.1 has been released. This is a stable, bug-fix release.
+
+::
+
+ New:
+ - DOS driver updates from Daniel Borca
+ - updated GL/gl_mangle.h file (Bill Hoffman)
+ Bug fixes:
+ - auto mipmap generation for cube maps was broken (bug 641363)
+ - writing/clearing software alpha channels was unreliable
+ - minor compilation fixes for OS/2 (Evgeny Kotsuba)
+ - fixed some bad assertions found with shadowtex demo
+ - fixed error checking bug in glCopyTexSubImage2D (bug 659020)
+ - glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
+ - fixed potential segfault in texture object validation (bug 659012)
+ - fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
+ - fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
+ - fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
+ - glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
+ - fixed compilation problem on Solaris7/x86 (bug 536406)
+ - fixed prefetch bug in 3DNow! code (Felix Kuhling)
+ - fixed NeXT build problem (FABSF macro)
+ - glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
+ - zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
+ - AA line and triangle Z values are now rounded, not truncated
+ - fixed color interpolation bug when GLchan==GLfloat (bug 694461)
+ - glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
+ - fixed a minor GL_COLOR_MATERIAL bug
+ - NV vertex program EXP instruction was broken
+ - glColorMask misbehaved with X window / pixmap rendering
+ - fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
+ - attempt to fix GGI compilation problem when MesaDemos not present
+ - NV vertex program ARL-relative fetches didn't work
+ Changes:
+ - use glPolygonOffset in gloss demo to avoid z-fighting artifacts
+ - updated winpos and pointblast demos to use ARB extensions
+ - disable SPARC normal transformation code (bug 673938)
+ - GLU fixes for OS/2 (Evgeny Kotsuba)
+
+MD5 checksums follow:
+
+::
+
+ b80f8b5d53a3e9f19b9fde5af0c542f0 MesaLib-5.0.1.tar.gz
+ 513b4bbd7d38951f05027179063d876b MesaLib-5.0.1.tar.bz2
+ eebd395678f4520d33b267e5d5c22651 MesaLib-5.0.1.zip
+ 49d7feaec6dc1d2091d7c3cc72a9b320 MesaDemos-5.0.1.tar.gz
+ 37190374a98c3c892f0698be9ca3acf0 MesaDemos-5.0.1.tar.bz2
+ becd8bf17f5791361b4a54ba2a78e5c9 MesaDemos-5.0.1.zip
+
+March 7, 2003
+-------------
+
+Website and documentation overhaul.
+
+The website content and Mesa documentation (from the doc/ directory)
+have been merged together. All the documentation files have been entered
+into the CVS repository. Many of the old plain-text files have been
+converted to html and modernized.
+
+November 13, 2002
+-----------------
+
+Mesa 5.0 has been released. This is a stable release which implements
+the OpenGL 1.4 specification.
+
+::
+
+ New:
+ - OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
+ - removed some overlooked debugging code
+ - glxinfo updated to support GLX_ARB_multisample
+ - GLUT now support GLX_ARB_multisample
+ - updated DOS driver (Daniel Borca)
+ Bug fixes:
+ - GL_POINT and GL_LINE-mode polygons didn't obey cull state
+ - fixed potential bug in _mesa_align_malloc/calloc()
+ - fixed missing triangle bug when running vertex programs
+ - fixed a few HPUX compilation problems
+ - FX (Glide) driver didn't compile
+ - setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
+ - a few EXT functions, like glGenTexturesEXT, were no-ops
+ - a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
+ glMultiDrawArrays and glMultiDrawElements were missing
+ - glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
+ - Pentium 4 Mobile was mistakenly identified as having 3DNow!
+ - fixed one-bit error in point/line fragment Z calculation
+ - fixed potential segfault in fakeglx code
+ - fixed color overflow problem in DOT3 texture env mode
+
+October 29, 2002
+----------------
+
+Mesa 4.1 has been released. This is a new development release. For a
+stable release, get 4.0.4.
+
+::
+
+ New:
+ - GL_NV_vertex_program extension
+ - GL_NV_vertex_program1_1 extension
+ - GL_ARB_window_pos extension
+ - GL_ARB_depth_texture extension
+ - GL_ARB_shadow extension
+ - GL_ARB_shadow_ambient extension
+ - GL_EXT_shadow_funcs extension
+ - GL_ARB_point_parameters extension
+ - GL_ARB_texture_env_crossbar
+ - GL_NV_point_sprite extension
+ - GL_NV_texture_rectangle extension
+ - GL_EXT_multi_draw_arrays extension
+ - GL_EXT_stencil_two_side extension
+ - GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
+ - GL_ATI_texture_mirror_once extension (Ian Romanick)
+ - massive overhaul/simplification of software rasterizer module,
+ many contributions from Klaus Niederkrueger
+ - faster software texturing in some cases (i.e. trilinear filtering)
+ - new OSMesaGetProcAddress() function
+ - more blend modes implemented with MMX code (Jose Fonseca)
+ - added glutGetProcAddress() to GLUT
+ - added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
+ - pbinfo and pbdemo PBuffer programs
+ - glxinfo -v prints transprent pixel info (Gerd Sussner)
+ Bug fixes:
+ - better mipmap LOD computation (prevents excessive blurriness)
+ - OSMesaMakeCurrent() didn't recognize buffer size changes
+ - assorted conformance fixes for 16-bit/channel rendering
+ - texcombine alpha subtraction mode was broken
+ - fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
+ - clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
+ - fixed divide by zero error in NURBS tessellator (Jon Perry)
+ - fixed GL_LINEAR fog bug by adding clamping
+ - fixed FP exceptions found using Alpha CPU
+ - 3dfx/glide driver render-to-window feature was broken
+ - added missing GLX_TRANSPARENT_RGB token to glx.h
+ - fixed error checking related to paletted textures
+ - fixed reference count error in glDeleteTextures (Randy Fayan)
+ Changes:
+ - New spec file and Python code to generate some GL dispatch files
+ - Glide driver defaults to "no" with autoconf/automake
+ - floating point color channels now clamped to [0,inf)
+ - updated demos/stex3d with new options
+
+October 4, 2002
+---------------
+
+The `Mesa FAQ <faq.html>`__ has been rewritten.
+
+October 3, 2002
+---------------
+
+Mesa 4.0.4 has been released. This is a stable bug-fix release.
+
+::
+
+ New:
+ - GL_NV_texture_rectangle extension
+ - updated glext.h header (version 17)
+ - updated DOS driver (Daniel Borca)
+ - updated BeOS R5 driver (Philippe Houdoin)
+ - added GL_IBM_texture_mirror_repeat
+ - glxinfo now takes -l option to print interesting OpenGL limits info
+ - GL_MESA_ycbcr_texture extension
+ - GL_APPLE_client_storage extension (for some DRI drivers only)
+ - GL_MESA_pack_invert extension
+ Bug fixes:
+ - fixed GL_LINEAR fog bug by adding clamping
+ - fixed FP exceptions found using Alpha CPU
+ - 3dfx MESA_GLX_FX=window (render to window) didn't work
+ - fixed memory leak in wglCreateContest (Karl Schultz)
+ - define GLAPIENTRY and GLAPI if undefined in glu.h
+ - wglGetProcAddress didn't handle all API functions
+ - when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
+ - removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
+ - error checking in compressed tex image functions had some glitches
+ - fixed AIX compile problem in src/config.c
+ - glGetTexImage was using pixel unpacking instead of packing params
+ - auto-mipmap generation for cube maps was incorrect
+ Changes:
+ - max texture units reduced to six to accommodate texture rectangles
+ - removed unfinished GL_MESA_sprite_point extension code
+
+June 25, 2002
+-------------
+
+Mesa 4.0.3 has been released. This is a stable bug-fix release.
+
+::
+
+ New:
+ - updated GL/glext.h file (version 15)
+ - corrected MMX blend code (Jose Fonseca)
+ - support for software-based alpha planes in Windows driver
+ - updated GGI driver (Filip Spacek)
+ Bug fixes:
+ - glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
+ - OSMesaMakeCurrent() didn't recognize buffer size changes
+ - assorted conformance fixes for 16-bit/channel rendering
+ - texcombine alpha subtraction mode was broken
+ - fixed lighting bug with non-uniform scaling and display lists
+ - fixed bug when deleting shared display lists
+ - disabled SPARC cliptest assembly code (Mesa bug 544665)
+ - fixed a couple Solaris compilation/link problems
+ - blending clipped glDrawPixels didn't always work
+ - glGetTexImage() didn't accept packed pixel types
+ - glPixelMapu[is]v() could explode given too large of pixelmap
+ - glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
+ - glXCopyContext() could lead to segfaults
+ - glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
+ Changes:
+ - lots of C++ (g++) code clean-ups
+ - lots of T&L updates for the Radeon DRI driver
+ Known bugs:
+ - mipmap LOD computation (fixed for Mesa 4.1)
+
+April 2, 2002
+-------------
+
+Mesa 4.0.2 has been released. This is a stable bug-fix release.
+
+::
+
+ New:
+ - New DOS (DJGPP) driver written by Daniel Borca
+ - New driver interface functions for TCL drivers (such as Radeon DRI)
+ - GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
+ if using deep color channels
+ - latest GL/glext.h and GL/glxext.h headers from SGI
+ Bug fixes:
+ - GL_BLEND with non-black texture env color wasn't always correct
+ - GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
+ - glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
+ - glReadPixels was sometimes mistakenly clipped by the scissor box
+ - glDraw/ReadPixels didn't catch all the errors that they should have
+ - Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
+ - 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
+ - Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
+ - glColorMask as sometimes effecting glXSwapBuffers()
+ - fixed a potential bug in XMesaGarbageCollect()
+ - N threads rendering into one window didn't work reliably
+ - glCopyPixels didn't work for deep color channels
+ - improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
+ - glPopAttrib() didn't correctly restore user clip planes
+ - user clip planes failed for some perspective projections (Chromium)
+
+December 17, 2001
+-----------------
+
+Mesa 4.0.1 has been released. This is a stable bug-fix release.
+
+::
+
+ New:
+ - better sub-pixel sample positions for AA triangles (Ray Tice)
+ - slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
+ Bug fixes:
+ - added missing break statements in glGet*() for multisample cases
+ - fixed uninitialized hash table mutex bug (display lists / texobjs)
+ - fixed bad teximage error check conditional (bug 476846)
+ - fixed demos readtex.c compilation problem on Windows (Karl Schultz)
+ - added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
+ - silence some compiler warnings (gcc 2.96)
+ - enable the #define GL_VERSION_1_3 in GL/gl.h
+ - added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
+ - fixed glu.h typedef problem found with MSDev 6.0
+ - build libGL.so with -Bsymbolic (fixes bug found with Chromium)
+ - added missing 'const' to glXGetContextIDEXT() in glxext.h
+ - fixed a few glXGetProcAddress() errors (texture compression, etc)
+ - fixed start index bug in compiled vertex arrays (Keith)
+ - fixed compilation problems in src/SPARC/glapi_sparc.S
+ - fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
+ - use glXGetProcAddressARB in GLUT to avoid extension linking problems
+ - provoking vertex of flat-shaded, color-index triangles was wrong
+ - fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
+ - glTexParameter didn't flush the vertex buffer (Ray Tice)
+ - feedback attributes for glDraw/CopyPixels and glBitmap were wrong
+ - fixed bug in normal length caching (ParaView lighting bug)
+
+October 22, 2001
+----------------
+
+Mesa 4.0 has been released. This is a stable release.
+
+::
+
+ New:
+ - Mesa 4.0 implements the OpenGL 1.3 specification
+ - GL_IBM_rasterpos_clip extension
+ - GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
+ - GL_ARB_texture_mirrored_repeat extension
+ - WindML UGL driver (Stephane Raimbault)
+ - added OSMESA_MAX_WIDTH/HEIGHT queries
+ - attempted compiliation fixes for Solaris 5, 7 and 8
+ - updated glext.h and glxext.h files
+ - updated Windows driver (Karl Schultz)
+ Bug fixes:
+ - added some missing GLX 1.3 tokens to include/GL/glx.h
+ - GL_COLOR_MATRIX changes weren't recognized by teximage functions
+ - glCopyPixels with scale and bias was broken
+ - glRasterPos with lighting could segfault
+ - glDeleteTextures could leave a dangling pointer
+ - Proxy textures for cube maps didn't work
+ - fixed a number of 16-bit color channel bugs
+ - fixed a few minor memory leaks
+ - GLX context sharing was broken in 3.5
+ - fixed state-update bugs in glPopClientAttrib()
+ - fixed glDrawRangeElements() bug
+ - fixed a glPush/PopAttrib() bug related to texture binding
+ - flat-shaded, textured lines were broken
+ - fixed a dangling pointer problem in the XMesa code (Chris Burghart)
+ - lighting didn't always produce the correct alpha value
+ - fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
+
+June 21, 2001
+-------------
+
+Mesa 3.5 has been released. This is a new development release.
+
+::
+
+ New:
+ - internals of Mesa divided into modular pieces (Keith Whitwell)
+ - 100% OpenGL 1.2 conformance (passes all conformance tests)
+ - new AA line algorithm
+ - GL_EXT_convolution extension
+ - GL_ARB_imaging subset
+ - OSMesaCreateContextExt() function
+ - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
+ - GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
+ - GL_EXT_fog_coord extension (Keith Whitwell)
+ - GL_EXT_secondary_color extension (Keith Whitwell)
+ - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
+ - GL_SGIX_depth_texture extension
+ - GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
+ - demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
+ - GL_ARB_texture_env_combine extension
+ - GL_ARB_texture_env_dot3 extension
+ - GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
+ - OSMesaCreateContextExt() function
+ - libOSMesa.so library, contains the OSMesa driver interface
+ - GL/glxext.h header file for GLX extensions
+ - somewhat faster software texturing, fogging, depth testing
+ - all color-index conformance tests now pass (only 8bpp tested)
+ - SPARC assembly language TCL optimizations (David Miller)
+ - GL_SGIS_generate_mipmap extension
+ Bug Fixes:
+ - fbiRev and tmuRev were unitialized when using Glide3
+ - fixed a few color index mode conformance failures; all pass now
+ - now appling antialiasing coverage to alpha after texturing
+ - colors weren't getting clamped to [0,1] before color table lookup
+ - fixed RISC alignment errors caused by COPY_4UBV macro
+ - drawing wide, flat-shaded lines could cause a segfault
+ - vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
+ Changes:
+ - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
+ - new libOSMesa.so library, contains the OSMesa driver interface
+
+May 17, 2001
+------------
+
+Mesa 3.4.2 has been released. This is basically just a bug-fix release.
+Here's what's new:
+
+::
+
+ Bug fixes:
+ - deleting the currently bound texture could cause bad problems
+ - using fog could result in random vertex alpha values
+ - AA triangle rendering could touch pixels outside right window bound
+ - fixed byteswapping problem in clear_32bit_ximage() function
+ - fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
+ - fixed memory leak in glXUseXFont()
+ - fragment sampling in AA triangle function was off by 1/2 pixel
+ - Windows: reading pixels from framebuffer didn't always work
+ - glConvolutionFilter2D could segfault or cause FP exception
+ - fixed segfaults in FX and X drivers when using tex unit 1 but not 0
+ - GL_NAND logicop didn't work right in RGBA mode
+ - fixed a memory corruption bug in vertex buffer reset code
+ - clearing the softwara alpha buffer with scissoring was broken
+ - fixed a few color index mode fog bugs
+ - fixed some bad assertions in color index mode
+ - fixed FX line 'stipple' bug #420091
+ Changes:
+ - optimized writing mono-colored pixel spans to X pixmaps
+ - increased max viewport size to 2048 x 2048
+
+April 29, 2001
+--------------
+
+New Mesa website
+
+Mark Manning produced the new website. Thanks, Mark!
+
+February 14, 2001
+-----------------
+
+Mesa 3.4.1 has been released. Here's what's new:
+
+::
+
+ New:
+ - fixed some Linux build problems
+ - fixed some Windows build problems
+ - GL_EXT_texture_env_dot3 extension (Gareth Hughes)
+ Bug fixes:
+ - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
+ - various state-update code changes needed for DRI bugs
+ - disabled pixel transfer ops in glColorTable commands, not needed
+ - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
+ - updated sources and fixed compile problems in widgets-mesa/
+ - GLX_PBUFFER enum value was wrong in glx.h
+ - fixed a glColorMaterial lighting bug
+ - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
+ - glXCopySubBufferMESA() Y position was off by one
+ - Error checking of glTexSubImage3D() was broken (bug 128775)
+ - glPopAttrib() didn't restore all derived Mesa state correctly
+ - Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
+ conformance problems at 16bpp.
+ - clearing depth buffer with scissoring was broken, would segfault
+ - OSMesaGetDepthBuffer() returned bad bytesPerValue value
+ - fixed a line clipping bug (reported by Craig McDaniel)
+ - fixed RGB color over/underflow bug for very tiny triangles
+ Known problems:
+ - NURBS or evaluator surfaces inside display lists don't always work
+
+November 3, 2000
+----------------
+
+Mesa 3.4 has been released. Here's what's new since the 3.3 release:
+
+::
+
+ New:
+ - optimized glDrawPixels for glPixelZoom(1,-1)
+ Bug Fixes:
+ - widgets-mesa/src/*.c files were missing from 3.3 distro
+ - include/GL/mesa_wgl.h file was missing from 3.3 distro
+ - fixed some Win32 compile problems
+ - texture object priorities weren't getting initialized to 1.0
+ - glAreTexturesResident return value was wrong when using hardware
+ - glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
+ - glReadPixels with GLushort packed types was broken
+ - fixed a few bugs in the GL_EXT_texture_env_combine texture code
+ - glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
+ - fixed some typos/bugs in the VB code
+ - glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
+ - optimized glDrawPixels paths weren't being used
+ - per-fragment fog calculation didn't work without a Z buffer
+ - improved blending accuracy, fixes Glean blendFunc test failures
+ - glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
+ - glXGetProcAddressARB() didn't always return the right address
+ - gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
+ - texture matrix changes weren't always detected (GLUT projtex demo)
+ - fixed random color problem in vertex fog code
+ - fixed Glide-related bug that let Quake get a 24-bit Z buffer
+ Changes:
+ - finished internal support for compressed textures for DRI
+
+April 24, 2000
+--------------
+
+Mesa 3.2 has been released. Here's what's new since the beta release:
+
+::
+
+ Bug fixes:
+ - fixed memcpy bugs in span.c
+ - fixed missing glEnd problem in demos/tessdemo.c
+ - fixed bug when clearing 24bpp Ximages
+ - fixed clipping problem found in Unreal Tournament
+ - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
+ - fixed Loki's 3dfx RGB vs BGR bug
+ - fixed Loki's 3dfx smooth/flat shading bug in SoF
+ Changes:
+ - updated docs/README file
+ - use bcopy() optimizations on FreeBSD
+ - re-enabled the optimized persp_textured_triangle() function
+
+March 23, 2000
+--------------
+
+I've just upload the Mesa 3.2 beta 1 files to SourceForge at
+`https://sourceforge.net/project/filelist.php?group_id=3 <https://sourceforge.net/project/showfiles.php?group_id=3>`__
+
+3.2 (note even number) is a stabilization release of Mesa 3.1 meaning
+it's mainly just bug fixes.
+
+Here's what's changed:
+
+::
+
+ Bug fixes:
+ - mixed drawing of lines and bitmaps sometimes had wrong colors
+ - added missing glHintPGI() function
+ - fixed a polygon culling bug
+ - fixed bugs in gluPartialDisk()
+ - Z values in selection mode were wrong
+ - added missing tokens:
+ GL_SMOOTH_POINT_SIZE_RANGE
+ GL_SMOOTH_POINT_SIZE_GRANULARITY
+ GL_SMOOTH_LINE_WIDTH_RANGE
+ GL_SMOOTH_LINE_WIDTH_GRANULARITY
+ GL_ALIASED_POINT_SIZE_RANGE
+ GL_ALIASED_LINE_WIDTH_RANGE
+ - fixed glCopyPixels when copying from back to front buffer
+ - GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT
+ - glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken
+ - glDeleteTextures() didn't decrement reference count correctly
+ - GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly
+ - Actual depth of transformation matrix stacks was off by one
+ - 24bpp visuals didn't address pixels correctly
+ - mipmap level of detail (lambda) calculation simplified, more accurate
+ - 101691 - Polygon clipping and GL_LINE
+ - 101928 - Polygon clipping and GL_LINE (same fix as above)
+ - 101808 - Non-glVertexArrays tristrip bug
+ - 101971 - find_last_3f on Dec OSF (worked around)
+ - 102369 - segv on dec osf (possibly a duplicate of the above)
+ - 102893 - orientations of modelview cause segfault
+ New:
+ - updated SVGA Linux driver
+ - added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX
+ - build libGLw.a (Xt/OpenGL drawing area widget) library by default
+ - changed -O2 to -O3 for a number of gcc configs
+ Changes:
+ - glXCopyContext's mask parameter is now unsigned long, per GLX spec
+
+Please report any problems with this release ASAP. Bugs should be filed
+on the Mesa3D website at sourceforge.
+
+After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.
+
+-- Brian
+
+December 17, 1999
+-----------------
+
+A Slashdot interview with Brian about Mesa (questions submitted by
+Slashdot readers) can be found at
+https://slashdot.org/interviews/99/12/17/0927212.shtml.
+
+December 14, 1999
+-----------------
+
+Mesa 3.1 is released!
+
+September 21, 1999
+------------------
+
+There appear to be two new files on the ftp site,
+``MesaLib-3.1beta3.tar.gz`` and ``MesaDemos-3.1beta3.tar.gz``, that seem
+to be... yes, I've just received confirmation from the beta center, they
+are indeed the **THIRD** beta release of Mesa 3.1! Happy Days. Happy
+Days. Thanks Keith Whitwell for preparing these for us during Brian's
+absence.
+
+August 30, 1999
+---------------
+
+I'm pleased to announce that I've accepted a position with Precision
+Insight, Inc. effective October, 1999. I'll be leaving Avid Technology
+in September.
+
+I've been working on Mesa in my spare time for over five years. With
+Precision Insight I now have the opportunity to devote my full attention
+to advancing Mesa and OpenGL on Linux.
+
+While I'll be focused on Linux, the X Window System, and hardware
+acceleration, my work will continue to be open sourced and available to
+any other programmers who may want to contribute to it, or use it for
+other projects or platforms
+
+PS: I'm going to be traveling until Sep 6 and won't be reading email
+until then.
+
+August 23, 1999
+---------------
+
+Anonymous CVS access is back online so suck up all the bandwidth you can
+afford. Note that this is a new archive, so you will need to re-checkout
+the archive. That means don't *cvs update* from a previous download.
+
+August 17, 1999
+---------------
+
+A report from the SIGGRAPH '99 Linux/OpenGL BOF meeting is now
+available.
+
+-Brian
+
+August 14, 1999
+---------------
+
+`www.mesa3d.org <https://www.mesa3d.org>`__ is having technical problems
+due to hardware failures at VA Linux systems. The Mac pages, ftp, and
+CVS services aren't fully restored yet. Please be patient.
+
+-Brian
+
+June 7, 1999
+------------
+
+RPMS of the nVidia RIVA server can be found at
+ftp://ftp.mesa3d.org/mesa/misc/nVidia/.
+
+June 2, 1999
+------------
+
+`nVidia <https://www.nvidia.com/>`__ has released some Linux binaries
+for xfree86 3.3.3.1, along with the **full source**, which includes GLX
+acceleration based on Mesa 3.0. They can be downloaded from
+https://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html.
+
+May 24, 1999
+------------
+
+Beta 2 of Mesa 3.1 has been make available at
+ftp://ftp.mesa3d.org/mesa/beta/. If you are into the quake scene, you
+may want to try this out, as it contains some optimizations specifically
+in the Q3A rendering path.
+
+May 13, 1999
+------------
+
+For those interested in the integration of Mesa into XFree86 4.0,
+Precision Insight has posted their lowlevel design documents at
+`www.precisioninsight.com <http://www.precisioninsight.com>`__.
+
+.. _may-13-1999-1:
+
+May 13, 1999
+------------
+
+::
+
+ May 1999 - John Carmack of id Software, Inc. has made a donation of
+ US$10,000 to the Mesa project to support its continuing development.
+ Mesa is a free implementation of the OpenGL 3D graphics library and id's
+ newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
+
+ The donation will go to Keith Whitwell, who has been optimizing Mesa to
+ improve performance on 3d hardware. Thanks to Keith's work, many
+ applications using Mesa 3.1 will see a dramatic performance increase
+ over Mesa 3.0. The donation will allow Keith to continue working on
+ Mesa full time for some time to come.
+
+ For more information about Mesa see www.mesa3d.org. For more
+ information about id Software, Inc. see www.idsoftware.com.
+
+ --------------------------------
+
+ This donation from John/id is very generous. Keith and I are very
+ grateful.
+
+May 1, 1999
+-----------
+
+John Carmack made an interesting .plan update yesterday:
+
+::
+
+ I put together a document on optimizing OpenGL drivers for Q3 that should be helpful to the various Linux 3D teams.
+
+ http://www.quake3arena.com/news/glopt.html
+
+April 7, 1999
+-------------
+
+Updated the Mesa contributors section and added links to RPM Mesa
+packages.
+
+March 18, 1999
+--------------
+
+The new webpages are now online. Enjoy, and let me know if you find any
+errors.
+
+February 16, 1999
+-----------------
+
+`SGI <https://www.sgi.com/>`__ releases its `GLX source
+code <http://web.archive.org/web/20040805154836/http://www.sgi.com/software/opensource/glx/download.html>`__.
+
+January 22, 1999
+----------------
+
+`www.mesa3d.org <https://www.mesa3d.org>`__ established
diff --git a/docs/install.html b/docs/install.html
deleted file mode 100644
index e31c7728cfb..00000000000
--- a/docs/install.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Compiling and Installing</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Compiling and Installing</h1>
-
-<ol>
-<li><a href="#prereq-general">Prerequisites for building</a>
- <ul>
- <li><a href="#prereq-general">General prerequisites</a>
- <li><a href="#prereq-dri">For DRI and hardware acceleration</a>
- </ul>
-<li><a href="#meson">Building with meson</a>
-<li><a href="#scons">Building with SCons (Windows/Linux)</a>
-<li><a href="#android">Building with AOSP (Android)</a>
-<li><a href="#libs">Library Information</a>
-<li><a href="#pkg-config">Building OpenGL programs with pkg-config</a>
-</ol>
-
-
-<h2 id="prereq-general">1. Prerequisites for building</h2>
-
-<h3>1.1 General</h3>
-
-<h4>Build system</h4>
-
-<ul>
-<li><a href="https://mesonbuild.com">meson</a> is required when building on *nix platforms and is supported on windows.
-<li><a href="http://www.scons.org/">SCons</a> is an alternative for building on
-Windows and Linux.
-</li>
-<li>Android Build system when building as native Android component. Meson
-is used when when building ARC.
-</li>
-</ul>
-
-<h4>Compiler</h4>
-<p>
-The following compilers are known to work, if you know of others or you're
-willing to maintain support for other compiler get in touch.
-</p>
-
-<ul>
-<li>GCC 4.2.0 or later (some parts of Mesa may require later versions)
-<li>clang - exact minimum requirement is currently unknown.
-<li>Microsoft Visual Studio 2015 or later is required, for building on Windows.
-</ul>
-
-
-<h4>Third party/extra tools.</h4>
-
-<ul>
-<li><a href="https://www.python.org/">Python</a> - Python is required.
-When building with scons 2.7 is required.
-When building with meson 3.5 or newer is required.
-</li>
-<li><a href="http://www.makotemplates.org/">Python Mako module</a> -
-Python Mako module is required. Version 0.8.0 or later should work.
-</li>
-<li>lex / yacc - for building the Mesa IR and GLSL compiler.
-<p>
-On Linux systems, flex and bison versions 2.5.35 and 2.4.1, respectively,
-(or later) should work.
-On Windows with MinGW, install flex and bison with:
-</p>
-<pre>mingw-get install msys-flex msys-bison</pre>
-<p>
-For MSVC on Windows, install
-<a href="http://winflexbison.sourceforge.net/">Win flex-bison</a>.
-</p>
-</ul>
-<p><strong>Note</strong>: Some versions can be buggy (eg. flex 2.6.2) so do try others if things fail.</p>
-
-
-<h3 id="prereq-dri">1.2 Requirements</h3>
-
-<p>
-The requirements depends on the features selected at configure stage.
-Check/install the respective -devel package as prompted by the configure error
-message.
-</p>
-
-<p>
-Here are some common ways to retrieve most/all of the dependencies based on
-the packaging tool used by your distro.
-</p>
-
-<pre>
- zypper source-install --build-deps-only Mesa # openSUSE/SLED/SLES
- yum-builddep mesa # yum Fedora, OpenSuse(?)
- dnf builddep mesa # dnf Fedora
- apt-get build-dep mesa # Debian and derivatives
- ... # others
-</pre>
-
-<h2 id="meson">2. Building with meson</h2>
-
-<p><strong>Meson &gt;= 0.46.0 is required</strong></p>
-
-
-<p>
-Meson is the latest build system in mesa, it is currently able to build for
-*nix systems like Linux and BSD, macOS, Haiku, and Windows.
-</p>
-
-<p>
-The general approach is:
-</p>
-<pre>
- meson builddir/
- ninja -C builddir/
- sudo ninja -C builddir/ install
-</pre>
-
-<p>On windows you can also use the visual studio backend</p>
-<pre>
- meson builddir --backend=vs
- cd builddir
- msbuild mesa.sln /m
-</pre>
-
-<p>
-Please read the <a href="meson.html">detailed meson instructions</a>
-for more information
-</p>
-
-
-
-<h2 id="scons">3. Building with SCons (Windows/Linux)</h2>
-
-<p>
-To build Mesa with SCons on Linux or Windows do
-</p>
-<pre>
- scons
-</pre>
-<p>
-The build output will be placed in
-build/<i>platform</i>-<i>machine</i>-<i>debug</i>/..., where <i>platform</i> is for
-example linux or windows, <i>machine</i> is x86 or x86_64, optionally followed
-by -debug for debug builds.
-</p>
-
-<p>
-To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do
-</p>
-<pre>
- scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
-</pre>
-<p>
-This will create:
-</p>
-<ul>
-<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll &mdash; Mesa + Gallium + softpipe (or llvmpipe), binary compatible with Windows's opengl32.dll
-</ul>
-<p>
-Put them all in the same directory to test them.
-
-Additional information is available in <a href="README.WIN32">README.WIN32</a>.
-
-</p>
-
-
-
-<h2 id="android">4. Building with AOSP (Android)</h2>
-
-<p>
-Currently one can build Mesa for Android as part of the AOSP project, yet
-your experience might vary.
-</p>
-
-<p>
-In order to achieve that one should update their local manifest to point to the
-upstream repo, set the appropriate BOARD_GPU_DRIVERS and build the
-libGLES_mesa library.
-</p>
-
-<p>
-FINISHME: Improve on the instructions add references to Rob H repos/Jenkins,
-Android-x86 and/or other resources.
-</p>
-
-
-<h2 id="libs">5. Library Information</h2>
-
-<p>
-When compilation has finished, look in the top-level <code>lib/</code>
-(or <code>lib64/</code>) directory.
-You'll see a set of library files similar to this:
-</p>
-<pre>
-lrwxrwxrwx 1 brian users 10 Mar 26 07:53 libGL.so -&gt; libGL.so.1*
-lrwxrwxrwx 1 brian users 19 Mar 26 07:53 libGL.so.1 -&gt; libGL.so.1.5.060100*
--rwxr-xr-x 1 brian users 3375861 Mar 26 07:53 libGL.so.1.5.060100*
-lrwxrwxrwx 1 brian users 14 Mar 26 07:53 libOSMesa.so -&gt; libOSMesa.so.6*
-lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -&gt; libOSMesa.so.6.1.060100*
--rwxr-xr-x 1 brian users 23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
-</pre>
-
-<p>
-<b>libGL</b> is the main OpenGL library (i.e. Mesa), while <b>libOSMesa</b>
-is the OSMesa (Off-Screen) interface library.
-</p>
-
-<p>
-If you built the DRI hardware drivers, you'll also see the DRI drivers:
-</p>
-<pre>
--rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so
--rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i965_dri.so
--rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
--rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
-</pre>
-
-<p>
-If you built with Gallium support, look in lib/gallium/ for Gallium-based
-versions of libGL and device drivers.
-</p>
-
-
-<h2 id="pkg-config">6. Building OpenGL programs with pkg-config</h2>
-
-<p>
-Running <code>ninja install</code> will install package configuration files
-for the pkg-config utility.
-</p>
-
-<p>
-When compiling your OpenGL application you can use pkg-config to determine
-the proper compiler and linker flags.
-</p>
-
-<p>
-For example, compiling and linking a GLUT application can be done with:
-</p>
-<pre>
- gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
-</pre>
-
-</div>
-</body>
-</html>
diff --git a/docs/install.rst b/docs/install.rst
new file mode 100644
index 00000000000..ea8ccc1ad51
--- /dev/null
+++ b/docs/install.rst
@@ -0,0 +1,212 @@
+Compiling and Installing
+========================
+
+#. `Prerequisites for building <#prereq-general>`__
+
+ - `General prerequisites <#prereq-general>`__
+ - `For DRI and hardware acceleration <#prereq-dri>`__
+
+#. `Building with meson <#meson>`__
+#. `Building with SCons (Windows/Linux) <#scons>`__
+#. `Building with AOSP (Android) <#android>`__
+#. `Library Information <#libs>`__
+#. `Building OpenGL programs with pkg-config <#pkg-config>`__
+
+.. _prereq-general:
+
+1. Prerequisites for building
+-----------------------------
+
+1.1 General
+~~~~~~~~~~~
+
+Build system
+^^^^^^^^^^^^
+
+- `meson <https://mesonbuild.com>`__ is required when building on \*nix
+ platforms and is supported on windows.
+- `SCons <http://www.scons.org/>`__ is an alternative for building on
+ Windows and Linux.
+- Android Build system when building as native Android component. Meson
+ is used when when building ARC.
+
+Compiler
+^^^^^^^^
+
+The following compilers are known to work, if you know of others or
+you're willing to maintain support for other compiler get in touch.
+
+- GCC 4.2.0 or later (some parts of Mesa may require later versions)
+- clang - exact minimum requirement is currently unknown.
+- Microsoft Visual Studio 2015 or later is required, for building on
+ Windows.
+
+Third party/extra tools.
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+- `Python <https://www.python.org/>`__ - Python is required. When
+ building with scons 2.7 is required. When building with meson 3.5 or
+ newer is required.
+- `Python Mako module <http://www.makotemplates.org/>`__ - Python Mako
+ module is required. Version 0.8.0 or later should work.
+- lex / yacc - for building the Mesa IR and GLSL compiler.
+
+ On Linux systems, flex and bison versions 2.5.35 and 2.4.1,
+ respectively, (or later) should work. On Windows with MinGW, install
+ flex and bison with:
+
+ ::
+
+ mingw-get install msys-flex msys-bison
+
+ For MSVC on Windows, install `Win
+ flex-bison <http://winflexbison.sourceforge.net/>`__.
+
+**Note**: Some versions can be buggy (eg. flex 2.6.2) so do try others
+if things fail.
+
+.. _prereq-dri:
+
+1.2 Requirements
+~~~~~~~~~~~~~~~~
+
+The requirements depends on the features selected at configure stage.
+Check/install the respective -devel package as prompted by the configure
+error message.
+
+Here are some common ways to retrieve most/all of the dependencies based
+on the packaging tool used by your distro.
+
+::
+
+ zypper source-install --build-deps-only Mesa # openSUSE/SLED/SLES
+ yum-builddep mesa # yum Fedora, OpenSuse(?)
+ dnf builddep mesa # dnf Fedora
+ apt-get build-dep mesa # Debian and derivatives
+ ... # others
+
+.. _meson:
+
+2. Building with meson
+----------------------
+
+**Meson >= 0.46.0 is required**
+
+Meson is the latest build system in mesa, it is currently able to build
+for \*nix systems like Linux and BSD, macOS, Haiku, and Windows.
+
+The general approach is:
+
+::
+
+ meson builddir/
+ ninja -C builddir/
+ sudo ninja -C builddir/ install
+
+On windows you can also use the visual studio backend
+
+::
+
+ meson builddir --backend=vs
+ cd builddir
+ msbuild mesa.sln /m
+
+Please read the `detailed meson instructions <meson.html>`__ for more
+information
+
+.. _scons:
+
+3. Building with SCons (Windows/Linux)
+--------------------------------------
+
+To build Mesa with SCons on Linux or Windows do
+
+::
+
+ scons
+
+The build output will be placed in
+build/\ *platform*-*machine*-*debug*/..., where *platform* is for
+example linux or windows, *machine* is x86 or x86_64, optionally
+followed by -debug for debug builds.
+
+To build Mesa with SCons for Windows on Linux using the MinGW
+crosscompiler toolchain do
+
+::
+
+ scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
+
+This will create:
+
+- build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa
+ + Gallium + softpipe (or llvmpipe), binary compatible with Windows's
+ opengl32.dll
+
+Put them all in the same directory to test them. Additional information
+is available in `README.WIN32 <README.WIN32>`__.
+
+.. _android:
+
+4. Building with AOSP (Android)
+-------------------------------
+
+Currently one can build Mesa for Android as part of the AOSP project,
+yet your experience might vary.
+
+In order to achieve that one should update their local manifest to point
+to the upstream repo, set the appropriate BOARD_GPU_DRIVERS and build
+the libGLES_mesa library.
+
+FINISHME: Improve on the instructions add references to Rob H
+repos/Jenkins, Android-x86 and/or other resources.
+
+.. _libs:
+
+5. Library Information
+----------------------
+
+When compilation has finished, look in the top-level ``lib/`` (or
+``lib64/``) directory. You'll see a set of library files similar to
+this:
+
+::
+
+ lrwxrwxrwx 1 brian users 10 Mar 26 07:53 libGL.so -> libGL.so.1*
+ lrwxrwxrwx 1 brian users 19 Mar 26 07:53 libGL.so.1 -> libGL.so.1.5.060100*
+ -rwxr-xr-x 1 brian users 3375861 Mar 26 07:53 libGL.so.1.5.060100*
+ lrwxrwxrwx 1 brian users 14 Mar 26 07:53 libOSMesa.so -> libOSMesa.so.6*
+ lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSMesa.so.6.1.060100*
+ -rwxr-xr-x 1 brian users 23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
+
+**libGL** is the main OpenGL library (i.e. Mesa), while **libOSMesa** is
+the OSMesa (Off-Screen) interface library.
+
+If you built the DRI hardware drivers, you'll also see the DRI drivers:
+
+::
+
+ -rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so
+ -rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i965_dri.so
+ -rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
+ -rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
+
+If you built with Gallium support, look in lib/gallium/ for
+Gallium-based versions of libGL and device drivers.
+
+.. _pkg-config:
+
+6. Building OpenGL programs with pkg-config
+-------------------------------------------
+
+Running ``ninja install`` will install package configuration files for
+the pkg-config utility.
+
+When compiling your OpenGL application you can use pkg-config to
+determine the proper compiler and linker flags.
+
+For example, compiling and linking a GLUT application can be done with:
+
+::
+
+ gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
diff --git a/docs/intro.html b/docs/intro.html
deleted file mode 100644
index 0afd55c4314..00000000000
--- a/docs/intro.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Introduction</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Introduction</h1>
-
-<p>
-The Mesa project began as an open-source implementation of the
-<a href="https://www.opengl.org/">OpenGL</a> specification -
-a system for rendering interactive 3D graphics.
-</p>
-
-<p>
-Over the years the project has grown to implement more graphics APIs,
-including
-<a href="https://www.khronos.org/opengles/">OpenGL ES</a> (versions 1, 2, 3),
-<a href="https://www.khronos.org/opencl/">OpenCL</a>,
-<a href="https://www.khronos.org/openmax/">OpenMAX</a>,
-<a href="https://en.wikipedia.org/wiki/VDPAU">VDPAU</a>,
-<a href="https://en.wikipedia.org/wiki/Video_Acceleration_API">VA API</a>,
-<a href="https://en.wikipedia.org/wiki/X-Video_Motion_Compensation">XvMC</a> and
-<a href="https://www.khronos.org/vulkan/">Vulkan</a>.
-</p>
-
-<p>
-A variety of device drivers allows the Mesa libraries to be used in many
-different environments ranging from software emulation to complete hardware
-acceleration for modern GPUs.
-</p>
-
-<p>
-Mesa ties into several other open-source projects: the
-<a href="https://dri.freedesktop.org/">Direct Rendering
-Infrastructure</a> and <a href="https://x.org">X.org</a> to
-provide OpenGL support on Linux, FreeBSD and other operating
-systems.
-</p>
-
-
-
-<h2>Project History</h2>
-
-<p>
-The Mesa project was originally started by Brian Paul.
-Here's a short history of the project.
-</p>
-
-<p>
-August, 1993: I begin working on Mesa in my spare time. The project
-has no name at that point. I was simply interested in writing a simple
-3D graphics library that used the then-new OpenGL API. I was partially
-inspired by the <em>VOGL</em> library which emulated a subset of IRIS GL.
-I had been programming with IRIS GL since 1991.
-</p>
-
-<p>
-November 1994: I contact SGI to ask permission to distribute my OpenGL-like
-graphics library on the internet. SGI was generally receptive to the
-idea and after negotiations with SGI's legal department, I get permission
-to release it.
-</p>
-
-<p>
-February 1995: Mesa 1.0 is released on the internet. I expected that
-a few people would be interested in it, but not thousands.
-I was soon receiving patches, new features and thank-you notes on a
-daily basis. That encouraged me to continue working on Mesa. The
-name Mesa just popped into my head one day. SGI had asked me not to use
-the terms <em>"Open"</em> or <em>"GL"</em> in the project name and I didn't
-want to make up a new acronym. Later, I heard of the Mesa programming
-language and the Mesa spreadsheet for NeXTStep.
-</p>
-
-<p>
-In the early days, OpenGL wasn't available on too many systems.
-It even took a while for SGI to support it across their product line.
-Mesa filled a big hole during that time.
-For a lot of people, Mesa was their first introduction to OpenGL.
-I think SGI recognized that Mesa actually helped to promote
-the OpenGL API, so they didn't feel threatened by the project.
-</p>
-
-
-<p>
-1995-1996: I continue working on Mesa both during my spare time and during
-my work hours at the Space Science and Engineering Center at the University
-of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me do this because
-Mesa is now being using for the <a href="https://www.ssec.wisc.edu/%7Ebillh/vis.html">Vis5D</a> project.
-</p><p>
-October 1996: Mesa 2.0 is released. It implements the OpenGL 1.1 specification.
-</p>
-
-<p>
-March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo graphics
-card via the Glide library. It's the first really popular hardware OpenGL
-implementation for Linux.
-</p>
-
-<p>
-September 1998: Mesa 3.0 is released. It's the first publicly-available
-implementation of the OpenGL 1.2 API.
-</p>
-
-<p>
-March 1999: I attend my first OpenGL ARB meeting. I contribute to the
-development of several official OpenGL extensions over the years.
-</p>
-
-<p>
-September 1999: I'm hired by Precision Insight, Inc. Mesa is a key
-component of 3D hardware acceleration in the new DRI project for XFree86.
-Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon follow.
-</p>
-
-<p>
-October 2001: Mesa 4.0 is released.
-It implements the OpenGL 1.3 specification.
-</p>
-
-
-<p>
-November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell,
-Jens Owen, David Dawes and Frank LaMonica.
-Tungsten Graphics was acquired by VMware in December 2008.
-</p>
-
-<p>
-November 2002: Mesa 5.0 is released.
-It implements the OpenGL 1.4 specification.
-</p>
-
-<p>
-January 2003: Mesa 6.0 is released. It implements the OpenGL 1.5
-specification as well as the GL_ARB_vertex_program and
-GL_ARB_fragment_program extensions.
-</p>
-
-<p>
-June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
-and OpenGL Shading Language.
-</p>
-
-<p>
-2008: Keith Whitwell and other Tungsten Graphics employees develop
-<a href="https://en.wikipedia.org/wiki/Gallium3D">Gallium</a>
-- a new GPU abstraction layer. The latest Mesa drivers are based on
-Gallium and other APIs such as OpenVG are implemented on top of Gallium.
-</p>
-
-<p>
-February 2012: Mesa 8.0 is released, implementing the OpenGL 3.0 specification
-and version 1.30 of the OpenGL Shading Language.
-</p>
-
-<p>
-July 2016: Mesa 12.0 is released, including OpenGL 4.3 support and initial
-support for Vulkan for Intel GPUs. Plus, there's another gallium software
-driver ("swr") based on LLVM and developed by Intel.
-</p>
-
-<p>
-Ongoing: Mesa is the OpenGL implementation for devices designed by
-Intel, AMD, NVIDIA, Qualcomm, Broadcom, Vivante, plus the VMware and
-VirGL virtual GPUs.
-There's also several software-based renderers: swrast (the legacy
-Mesa rasterizer), softpipe (a gallium reference driver), llvmpipe
-(LLVM/JIT-based high-speed rasterizer) and swr (another LLVM-based driver).
-</p>
-<p>
-Work continues on the drivers and core Mesa to implement newer versions
-of the OpenGL, OpenGL ES and Vulkan specifications.
-</p>
-
-
-
-<h2>Major Versions</h2>
-
-<p>
-This is a summary of the major versions of Mesa.
-Mesa's major version number has been incremented whenever a new version
-of the OpenGL specification is implemented.
-</p>
-
-
-<h3>Version 12.x features</h3>
-<p>
-Version 12.x of Mesa implements the OpenGL 4.3 API, but not all drivers
-support OpenGL 4.3.
-</p>
-<p>
-Initial support for Vulkan is also included.
-</p>
-
-
-<h3>Version 11.x features</h3>
-<p>
-Version 11.x of Mesa implements the OpenGL 4.1 API, but not all drivers
-support OpenGL 4.1.
-</p>
-
-
-<h3>Version 10.x features</h3>
-<p>
-Version 10.x of Mesa implements the OpenGL 3.3 API, but not all drivers
-support OpenGL 3.3.
-</p>
-
-
-<h3>Version 9.x features</h3>
-<p>
-Version 9.x of Mesa implements the OpenGL 3.1 API.
-While the driver for Intel Sandy Bridge and Ivy Bridge is the only
-driver to support OpenGL 3.1, many developers across the open-source
-community contributed features required for OpenGL 3.1. The primary
-features added since the Mesa 8.0 release are
-GL_ARB_texture_buffer_object and GL_ARB_uniform_buffer_object.
-</p>
-<p>
-Version 9.0 of Mesa also included the first release of the Clover state
-tracker for OpenCL.
-</p>
-
-
-<h3>Version 8.x features</h3>
-<p>
-Version 8.x of Mesa implements the OpenGL 3.0 API.
-The developers at Intel deserve a lot of credit for implementing most
-of the OpenGL 3.0 features in core Mesa, the GLSL compiler as well as
-the i965 driver.
-</p>
-
-
-<h3>Version 7.x features</h3>
-<p>
-Version 7.x of Mesa implements the OpenGL 2.1 API. The main feature
-of OpenGL 2.x is the OpenGL Shading Language.
-</p>
-
-
-<h3>Version 6.x features</h3>
-<p>
-Version 6.x of Mesa implements the OpenGL 1.5 API with the following
-extensions incorporated as standard features:
-</p>
-<ul>
-<li>GL_ARB_occlusion_query
-<li>GL_ARB_vertex_buffer_object
-<li>GL_EXT_shadow_funcs
-</ul>
-<p>
-Also note that several OpenGL tokens were renamed in OpenGL 1.5
-for the sake of consistency.
-The old tokens are still available.
-</p>
-<pre>
-New Token Old Token
-------------------------------------------------------------
-GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
-GL_FOG_COORD GL_FOG_COORDINATE
-GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
-GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
-GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
-GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
-GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
-GL_SRC0_RGB GL_SOURCE0_RGB
-GL_SRC1_RGB GL_SOURCE1_RGB
-GL_SRC2_RGB GL_SOURCE2_RGB
-GL_SRC0_ALPHA GL_SOURCE0_ALPHA
-GL_SRC1_ALPHA GL_SOURCE1_ALPHA
-GL_SRC2_ALPHA GL_SOURCE2_ALPHA
-</pre>
-<p>
-See the
-<a href="https://www.opengl.org/documentation/spec.html">
-OpenGL specification</a> for more details.
-</p>
-
-
-
-<h3>Version 5.x features</h3>
-<p>
-Version 5.x of Mesa implements the OpenGL 1.4 API with the following
-extensions incorporated as standard features:
-</p>
-<ul>
-<li>GL_ARB_depth_texture
-<li>GL_ARB_shadow
-<li>GL_ARB_texture_env_crossbar
-<li>GL_ARB_texture_mirror_repeat
-<li>GL_ARB_window_pos
-<li>GL_EXT_blend_color
-<li>GL_EXT_blend_func_separate
-<li>GL_EXT_blend_logic_op
-<li>GL_EXT_blend_minmax
-<li>GL_EXT_blend_subtract
-<li>GL_EXT_fog_coord
-<li>GL_EXT_multi_draw_arrays
-<li>GL_EXT_point_parameters
-<li>GL_EXT_secondary_color
-<li>GL_EXT_stencil_wrap
-<li>GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
-<li>GL_SGIS_generate_mipmap
-</ul>
-
-
-<h3>Version 4.x features</h3>
-
-<p>
-Version 4.x of Mesa implements the OpenGL 1.3 API with the following
-extensions incorporated as standard features:
-</p>
-
-<ul>
-<li>GL_ARB_multisample
-<li>GL_ARB_multitexture
-<li>GL_ARB_texture_border_clamp
-<li>GL_ARB_texture_compression
-<li>GL_ARB_texture_cube_map
-<li>GL_ARB_texture_env_add
-<li>GL_ARB_texture_env_combine
-<li>GL_ARB_texture_env_dot3
-<li>GL_ARB_transpose_matrix
-</ul>
-
-<h3>Version 3.x features</h3>
-
-<p>
-Version 3.x of Mesa implements the OpenGL 1.2 API with the following
-features:
-</p>
-<ul>
-<li>BGR, BGRA and packed pixel formats
-<li>New texture border clamp mode
-<li>glDrawRangeElements()
-<li>standard 3-D texturing
-<li>advanced MIPMAP control
-<li>separate specular color interpolation
-</ul>
-
-
-<h3>Version 2.x features</h3>
-<p>
-Version 2.x of Mesa implements the OpenGL 1.1 API with the following
-features.
-</p>
-<ul>
-<li>Texture mapping:
- <ul>
- <li>glAreTexturesResident
- <li>glBindTexture
- <li>glCopyTexImage1D
- <li>glCopyTexImage2D
- <li>glCopyTexSubImage1D
- <li>glCopyTexSubImage2D
- <li>glDeleteTextures
- <li>glGenTextures
- <li>glIsTexture
- <li>glPrioritizeTextures
- <li>glTexSubImage1D
- <li>glTexSubImage2D
- </ul>
-<li>Vertex Arrays:
- <ul>
- <li>glArrayElement
- <li>glColorPointer
- <li>glDrawElements
- <li>glEdgeFlagPointer
- <li>glIndexPointer
- <li>glInterleavedArrays
- <li>glNormalPointer
- <li>glTexCoordPointer
- <li>glVertexPointer
- </ul>
-<li>Client state management:
- <ul>
- <li>glDisableClientState
- <li>glEnableClientState
- <li>glPopClientAttrib
- <li>glPushClientAttrib
- </ul>
-<li>Misc:
- <ul>
- <li>glGetPointer
- <li>glIndexub
- <li>glIndexubv
- <li>glPolygonOffset
- </ul>
-</ul>
-
-</div>
-</body>
-</html>
diff --git a/docs/intro.rst b/docs/intro.rst
new file mode 100644
index 00000000000..9abd2fd0c49
--- /dev/null
+++ b/docs/intro.rst
@@ -0,0 +1,308 @@
+Introduction
+============
+
+The Mesa project began as an open-source implementation of the
+`OpenGL <https://www.opengl.org/>`__ specification - a system for
+rendering interactive 3D graphics.
+
+Over the years the project has grown to implement more graphics APIs,
+including `OpenGL ES <https://www.khronos.org/opengles/>`__ (versions 1,
+2, 3), `OpenCL <https://www.khronos.org/opencl/>`__,
+`OpenMAX <https://www.khronos.org/openmax/>`__,
+`VDPAU <https://en.wikipedia.org/wiki/VDPAU>`__, `VA
+API <https://en.wikipedia.org/wiki/Video_Acceleration_API>`__,
+`XvMC <https://en.wikipedia.org/wiki/X-Video_Motion_Compensation>`__ and
+`Vulkan <https://www.khronos.org/vulkan/>`__.
+
+A variety of device drivers allows the Mesa libraries to be used in many
+different environments ranging from software emulation to complete
+hardware acceleration for modern GPUs.
+
+Mesa ties into several other open-source projects: the `Direct Rendering
+Infrastructure <https://dri.freedesktop.org/>`__ and
+`X.org <https://x.org>`__ to provide OpenGL support on Linux, FreeBSD
+and other operating systems.
+
+Project History
+---------------
+
+The Mesa project was originally started by Brian Paul. Here's a short
+history of the project.
+
+August, 1993: I begin working on Mesa in my spare time. The project has
+no name at that point. I was simply interested in writing a simple 3D
+graphics library that used the then-new OpenGL API. I was partially
+inspired by the *VOGL* library which emulated a subset of IRIS GL. I had
+been programming with IRIS GL since 1991.
+
+November 1994: I contact SGI to ask permission to distribute my
+OpenGL-like graphics library on the internet. SGI was generally
+receptive to the idea and after negotiations with SGI's legal
+department, I get permission to release it.
+
+February 1995: Mesa 1.0 is released on the internet. I expected that a
+few people would be interested in it, but not thousands. I was soon
+receiving patches, new features and thank-you notes on a daily basis.
+That encouraged me to continue working on Mesa. The name Mesa just
+popped into my head one day. SGI had asked me not to use the terms
+*"Open"* or *"GL"* in the project name and I didn't want to make up a
+new acronym. Later, I heard of the Mesa programming language and the
+Mesa spreadsheet for NeXTStep.
+
+In the early days, OpenGL wasn't available on too many systems. It even
+took a while for SGI to support it across their product line. Mesa
+filled a big hole during that time. For a lot of people, Mesa was their
+first introduction to OpenGL. I think SGI recognized that Mesa actually
+helped to promote the OpenGL API, so they didn't feel threatened by the
+project.
+
+1995-1996: I continue working on Mesa both during my spare time and
+during my work hours at the Space Science and Engineering Center at the
+University of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me
+do this because Mesa is now being using for the
+`Vis5D <https://www.ssec.wisc.edu/%7Ebillh/vis.html>`__ project.
+
+October 1996: Mesa 2.0 is released. It implements the OpenGL 1.1
+specification.
+
+March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo
+graphics card via the Glide library. It's the first really popular
+hardware OpenGL implementation for Linux.
+
+September 1998: Mesa 3.0 is released. It's the first publicly-available
+implementation of the OpenGL 1.2 API.
+
+March 1999: I attend my first OpenGL ARB meeting. I contribute to the
+development of several official OpenGL extensions over the years.
+
+September 1999: I'm hired by Precision Insight, Inc. Mesa is a key
+component of 3D hardware acceleration in the new DRI project for
+XFree86. Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon
+follow.
+
+October 2001: Mesa 4.0 is released. It implements the OpenGL 1.3
+specification.
+
+November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell,
+Jens Owen, David Dawes and Frank LaMonica. Tungsten Graphics was
+acquired by VMware in December 2008.
+
+November 2002: Mesa 5.0 is released. It implements the OpenGL 1.4
+specification.
+
+January 2003: Mesa 6.0 is released. It implements the OpenGL 1.5
+specification as well as the GL_ARB_vertex_program and
+GL_ARB_fragment_program extensions.
+
+June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1
+specification and OpenGL Shading Language.
+
+2008: Keith Whitwell and other Tungsten Graphics employees develop
+`Gallium <https://en.wikipedia.org/wiki/Gallium3D>`__ - a new GPU
+abstraction layer. The latest Mesa drivers are based on Gallium and
+other APIs such as OpenVG are implemented on top of Gallium.
+
+February 2012: Mesa 8.0 is released, implementing the OpenGL 3.0
+specification and version 1.30 of the OpenGL Shading Language.
+
+July 2016: Mesa 12.0 is released, including OpenGL 4.3 support and
+initial support for Vulkan for Intel GPUs. Plus, there's another gallium
+software driver ("swr") based on LLVM and developed by Intel.
+
+Ongoing: Mesa is the OpenGL implementation for devices designed by
+Intel, AMD, NVIDIA, Qualcomm, Broadcom, Vivante, plus the VMware and
+VirGL virtual GPUs. There's also several software-based renderers:
+swrast (the legacy Mesa rasterizer), softpipe (a gallium reference
+driver), llvmpipe (LLVM/JIT-based high-speed rasterizer) and swr
+(another LLVM-based driver).
+
+Work continues on the drivers and core Mesa to implement newer versions
+of the OpenGL, OpenGL ES and Vulkan specifications.
+
+Major Versions
+--------------
+
+This is a summary of the major versions of Mesa. Mesa's major version
+number has been incremented whenever a new version of the OpenGL
+specification is implemented.
+
+Version 12.x features
+~~~~~~~~~~~~~~~~~~~~~
+
+Version 12.x of Mesa implements the OpenGL 4.3 API, but not all drivers
+support OpenGL 4.3.
+
+Initial support for Vulkan is also included.
+
+Version 11.x features
+~~~~~~~~~~~~~~~~~~~~~
+
+Version 11.x of Mesa implements the OpenGL 4.1 API, but not all drivers
+support OpenGL 4.1.
+
+Version 10.x features
+~~~~~~~~~~~~~~~~~~~~~
+
+Version 10.x of Mesa implements the OpenGL 3.3 API, but not all drivers
+support OpenGL 3.3.
+
+Version 9.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 9.x of Mesa implements the OpenGL 3.1 API. While the driver for
+Intel Sandy Bridge and Ivy Bridge is the only driver to support OpenGL
+3.1, many developers across the open-source community contributed
+features required for OpenGL 3.1. The primary features added since the
+Mesa 8.0 release are GL_ARB_texture_buffer_object and
+GL_ARB_uniform_buffer_object.
+
+Version 9.0 of Mesa also included the first release of the Clover state
+tracker for OpenCL.
+
+Version 8.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 8.x of Mesa implements the OpenGL 3.0 API. The developers at
+Intel deserve a lot of credit for implementing most of the OpenGL 3.0
+features in core Mesa, the GLSL compiler as well as the i965 driver.
+
+Version 7.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 7.x of Mesa implements the OpenGL 2.1 API. The main feature of
+OpenGL 2.x is the OpenGL Shading Language.
+
+Version 6.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 6.x of Mesa implements the OpenGL 1.5 API with the following
+extensions incorporated as standard features:
+
+- GL_ARB_occlusion_query
+- GL_ARB_vertex_buffer_object
+- GL_EXT_shadow_funcs
+
+Also note that several OpenGL tokens were renamed in OpenGL 1.5 for the
+sake of consistency. The old tokens are still available.
+
+::
+
+ New Token Old Token
+ ------------------------------------------------------------
+ GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
+ GL_FOG_COORD GL_FOG_COORDINATE
+ GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
+ GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
+ GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
+ GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
+ GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
+ GL_SRC0_RGB GL_SOURCE0_RGB
+ GL_SRC1_RGB GL_SOURCE1_RGB
+ GL_SRC2_RGB GL_SOURCE2_RGB
+ GL_SRC0_ALPHA GL_SOURCE0_ALPHA
+ GL_SRC1_ALPHA GL_SOURCE1_ALPHA
+ GL_SRC2_ALPHA GL_SOURCE2_ALPHA
+
+See the `OpenGL
+specification <https://www.opengl.org/documentation/spec.html>`__ for
+more details.
+
+Version 5.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 5.x of Mesa implements the OpenGL 1.4 API with the following
+extensions incorporated as standard features:
+
+- GL_ARB_depth_texture
+- GL_ARB_shadow
+- GL_ARB_texture_env_crossbar
+- GL_ARB_texture_mirror_repeat
+- GL_ARB_window_pos
+- GL_EXT_blend_color
+- GL_EXT_blend_func_separate
+- GL_EXT_blend_logic_op
+- GL_EXT_blend_minmax
+- GL_EXT_blend_subtract
+- GL_EXT_fog_coord
+- GL_EXT_multi_draw_arrays
+- GL_EXT_point_parameters
+- GL_EXT_secondary_color
+- GL_EXT_stencil_wrap
+- GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
+- GL_SGIS_generate_mipmap
+
+Version 4.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 4.x of Mesa implements the OpenGL 1.3 API with the following
+extensions incorporated as standard features:
+
+- GL_ARB_multisample
+- GL_ARB_multitexture
+- GL_ARB_texture_border_clamp
+- GL_ARB_texture_compression
+- GL_ARB_texture_cube_map
+- GL_ARB_texture_env_add
+- GL_ARB_texture_env_combine
+- GL_ARB_texture_env_dot3
+- GL_ARB_transpose_matrix
+
+Version 3.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 3.x of Mesa implements the OpenGL 1.2 API with the following
+features:
+
+- BGR, BGRA and packed pixel formats
+- New texture border clamp mode
+- glDrawRangeElements()
+- standard 3-D texturing
+- advanced MIPMAP control
+- separate specular color interpolation
+
+Version 2.x features
+~~~~~~~~~~~~~~~~~~~~
+
+Version 2.x of Mesa implements the OpenGL 1.1 API with the following
+features.
+
+- Texture mapping:
+
+ - glAreTexturesResident
+ - glBindTexture
+ - glCopyTexImage1D
+ - glCopyTexImage2D
+ - glCopyTexSubImage1D
+ - glCopyTexSubImage2D
+ - glDeleteTextures
+ - glGenTextures
+ - glIsTexture
+ - glPrioritizeTextures
+ - glTexSubImage1D
+ - glTexSubImage2D
+
+- Vertex Arrays:
+
+ - glArrayElement
+ - glColorPointer
+ - glDrawElements
+ - glEdgeFlagPointer
+ - glIndexPointer
+ - glInterleavedArrays
+ - glNormalPointer
+ - glTexCoordPointer
+ - glVertexPointer
+
+- Client state management:
+
+ - glDisableClientState
+ - glEnableClientState
+ - glPopClientAttrib
+ - glPushClientAttrib
+
+- Misc:
+
+ - glGetPointer
+ - glIndexub
+ - glIndexubv
+ - glPolygonOffset
diff --git a/docs/license.html b/docs/license.html
deleted file mode 100644
index a4ae66c71c8..00000000000
--- a/docs/license.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>License and Copyright</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>License and Copyright</h1>
-
-<h2>Disclaimer</h2>
-
-<p>
-Mesa is a 3-D graphics library with an API which is very similar to
-that of <a href="https://www.opengl.org/">OpenGL</a><sup>[<a href="#trademark">1</a>]</sup>.
-To the extent that Mesa utilizes the OpenGL command syntax or state
-machine, it is being used with authorization from <a
-href="https://www.sgi.com/">Silicon Graphics,
-Inc.</a>(SGI). However, the author does not possess an OpenGL license
-from SGI, and makes no claim that Mesa is in any way a compatible
-replacement for OpenGL or associated with SGI. Those who want a
-licensed implementation of OpenGL should contact a licensed
-vendor.
-</p>
-
-<p>
-Please do not refer to the library as <em>MesaGL</em> (for legal
-reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
-library</em>.
-</p>
-
-<p>
-<a id="trademark">[1]</a>: OpenGL is a trademark of <a
-href="https://www.sgi.com/">Silicon Graphics Incorporated</a>.
-</p>
-
-
-
-<h2>License / Copyright Information</h2>
-
-<p>
-The Mesa distribution consists of several components. Different copyrights
-and licenses apply to different components.
-For example, the GLX client code uses the SGI Free Software License B, and
-some of the Mesa device drivers are copyrighted by their authors.
-See below for a list of Mesa's main components and the license for each.
-</p>
-<p>
-The core Mesa library is licensed according to the terms of the MIT license.
-This allows integration with the XFree86, Xorg and DRI projects.
-</p>
-<p>
-The default Mesa license is as follows:
-</p>
-
-<pre>
-Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-</pre>
-
-
-<h2>Attention, Contributors</h2>
-
-<p>
-When contributing to the Mesa project you must agree to the licensing terms
-of the component to which you're contributing.
-The following section lists the primary components of the Mesa distribution
-and their respective licenses.
-</p>
-
-
-<h2>Mesa Component Licenses</h2>
-
-<pre>
-Component Location License
-------------------------------------------------------------------
-Main Mesa code src/mesa/ MIT
-
-Device drivers src/mesa/drivers/* MIT, generally
-
-Gallium code src/gallium/ MIT
-
-Ext headers include/GL/glext.h Khronos
- include/GL/glxext.h
-
-GLX client code src/glx/ SGI Free Software License B
-
-C11 thread include/c11/threads*.h Boost (permissive)
-emulation
-</pre>
-
-<p>
-In general, consult the source files for license terms.
-</p>
-
-</div>
-</body>
-</html>
diff --git a/docs/license.rst b/docs/license.rst
new file mode 100644
index 00000000000..4fdbf2db675
--- /dev/null
+++ b/docs/license.rst
@@ -0,0 +1,90 @@
+License and Copyright
+=====================
+
+Disclaimer
+----------
+
+Mesa is a 3-D graphics library with an API which is very similar to that
+of
+`OpenGL <https://www.opengl.org/>`__\ :sup:`[`\ `1 <#trademark>`__\ :sup:`]`.
+To the extent that Mesa utilizes the OpenGL command syntax or state
+machine, it is being used with authorization from `Silicon Graphics,
+Inc. <https://www.sgi.com/>`__\ (SGI). However, the author does not
+possess an OpenGL license from SGI, and makes no claim that Mesa is in
+any way a compatible replacement for OpenGL or associated with SGI.
+Those who want a licensed implementation of OpenGL should contact a
+licensed vendor.
+
+Please do not refer to the library as *MesaGL* (for legal reasons). It's
+just *Mesa* or *The Mesa 3-D graphics library*.
+
+[1]: OpenGL is a trademark of `Silicon Graphics
+Incorporated <https://www.sgi.com/>`__.
+
+License / Copyright Information
+-------------------------------
+
+The Mesa distribution consists of several components. Different
+copyrights and licenses apply to different components. For example, the
+GLX client code uses the SGI Free Software License B, and some of the
+Mesa device drivers are copyrighted by their authors. See below for a
+list of Mesa's main components and the license for each.
+
+The core Mesa library is licensed according to the terms of the MIT
+license. This allows integration with the XFree86, Xorg and DRI
+projects.
+
+The default Mesa license is as follows:
+
+::
+
+ Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+Attention, Contributors
+-----------------------
+
+When contributing to the Mesa project you must agree to the licensing
+terms of the component to which you're contributing. The following
+section lists the primary components of the Mesa distribution and their
+respective licenses.
+
+Mesa Component Licenses
+-----------------------
+
+::
+
+ Component Location License
+ ------------------------------------------------------------------
+ Main Mesa code src/mesa/ MIT
+
+ Device drivers src/mesa/drivers/* MIT, generally
+
+ Gallium code src/gallium/ MIT
+
+ Ext headers include/GL/glext.h Khronos
+ include/GL/glxext.h
+
+ GLX client code src/glx/ SGI Free Software License B
+
+ C11 thread include/c11/threads*.h Boost (permissive)
+ emulation
+
+In general, consult the source files for license terms.
diff --git a/docs/lists.html b/docs/lists.html
deleted file mode 100644
index 0dd3d54768d..00000000000
--- a/docs/lists.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Mailing Lists</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Mailing Lists</h1>
-
-
-<p>There are four Mesa 3D / DRI mailing lists:
-</p>
-
-<ul>
-<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-users">mesa-users</a>
-- intended for end-users of Mesa and DRI drivers. Newbie questions are OK,
-but please try the general OpenGL resources and Mesa/DRI documentation first.</p>
-</li>
-<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev</a>
-- for Mesa, Gallium and DRI development
-discussion. Not for beginners.</p>
-</li>
-<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-commit">mesa-commit</a>
-- relays git check-in messages (for developers).
-In general, people should not post to this list.</p>
-</li>
-<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-announce">mesa-announce</a>
-- announcements of new Mesa
-versions are sent to this list. Very low traffic.</p>
-</li>
-<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/piglit">piglit</a>
-- for Piglit (OpenGL driver testing framework) discussion.</p>
-</li>
-</ul>
-
-<p>
-<b>NOTE</b>: You <b>must</b> subscribe to these lists in order to post to them.
-If you try to post to a list and you're not a subscriber (or if you try to post
-from a different email address than you subscribed with) your posting will be
-held for an indefinite period or may be discarded entirely.
-</p>
-
-<p>
-Follow the links above for list archives.
-</p>
-
-<p>
-The old Mesa lists hosted at SourceForge are no longer in use.
-The archives are still available, however:
-<a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce">mesa3d-announce</a>,
-<a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users">mesa3d-users</a>,
-<a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev">mesa3d-dev</a>.
-</p>
-
-
-<p>For mailing lists about Direct Rendering Modules (drm) in Linux/BSD
-kernels, see the
-<a href="https://dri.freedesktop.org/wiki/MailingLists">DRI wiki</a>.
-</p>
-
-
-<h2>IRC</h2>
-
-<p>join <a href="irc://chat.freenode.net#dri-devel">#dri-devel channel</a>
-on <a href="https://webchat.freenode.net/">irc.freenode.net</a>
-</p>
-
-
-<h2>OpenGL Forums</h2>
-
-<p>
-Here are some other OpenGL-related forums you might find useful:
-</p>
-
-<ul>
-<li><a href="https://www.opengl.org/discussion_boards/">OpenGL discussion forums</a>
-at www.opengl.org</li>
-<li>Usenet newsgroups:
-<ul>
-<li>comp.graphics.algorithms</li>
-<li>comp.graphics.api.opengl</li>
-<li>comp.os.linux.x</li>
-</ul>
-</ul>
-
-</div>
-</body>
-</html>
diff --git a/docs/lists.rst b/docs/lists.rst
new file mode 100644
index 00000000000..dd0180393f4
--- /dev/null
+++ b/docs/lists.rst
@@ -0,0 +1,62 @@
+Mailing Lists
+=============
+
+There are four Mesa 3D / DRI mailing lists:
+
+- `mesa-users <https://lists.freedesktop.org/mailman/listinfo/mesa-users>`__
+ - intended for end-users of Mesa and DRI drivers. Newbie questions
+ are OK, but please try the general OpenGL resources and Mesa/DRI
+ documentation first.
+
+- `mesa-dev <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`__
+ - for Mesa, Gallium and DRI development discussion. Not for
+ beginners.
+
+- `mesa-commit <https://lists.freedesktop.org/mailman/listinfo/mesa-commit>`__
+ - relays git check-in messages (for developers). In general, people
+ should not post to this list.
+
+- `mesa-announce <https://lists.freedesktop.org/mailman/listinfo/mesa-announce>`__
+ - announcements of new Mesa versions are sent to this list. Very low
+ traffic.
+
+- `piglit <https://lists.freedesktop.org/mailman/listinfo/piglit>`__ -
+ for Piglit (OpenGL driver testing framework) discussion.
+
+**NOTE**: You **must** subscribe to these lists in order to post to
+them. If you try to post to a list and you're not a subscriber (or if
+you try to post from a different email address than you subscribed with)
+your posting will be held for an indefinite period or may be discarded
+entirely.
+
+Follow the links above for list archives.
+
+The old Mesa lists hosted at SourceForge are no longer in use. The
+archives are still available, however:
+`mesa3d-announce <https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce>`__,
+`mesa3d-users <https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users>`__,
+`mesa3d-dev <https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev>`__.
+
+For mailing lists about Direct Rendering Modules (drm) in Linux/BSD
+kernels, see the `DRI
+wiki <https://dri.freedesktop.org/wiki/MailingLists>`__.
+
+IRC
+---
+
+join `#dri-devel channel <irc://chat.freenode.net#dri-devel>`__ on
+`irc.freenode.net <https://webchat.freenode.net/>`__
+
+OpenGL Forums
+-------------
+
+Here are some other OpenGL-related forums you might find useful:
+
+- `OpenGL discussion
+ forums <https://www.opengl.org/discussion_boards/>`__ at
+ www.opengl.org
+- Usenet newsgroups:
+
+ - comp.graphics.algorithms
+ - comp.graphics.api.opengl
+ - comp.os.linux.x
diff --git a/docs/llvmpipe.html b/docs/llvmpipe.html
deleted file mode 100644
index 9f5bd0be445..00000000000
--- a/docs/llvmpipe.html
+++ /dev/null
@@ -1,343 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Gallium LLVMpipe Driver</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Gallium LLVMpipe Driver</h1>
-
-<h2>Introduction</h2>
-
-<p>
-The Gallium llvmpipe driver is a software rasterizer that uses LLVM to
-do runtime code generation.
-Shaders, point/line/triangle rasterization and vertex processing are
-implemented with LLVM IR which is translated to x86, x86-64, or ppc64le machine
-code.
-Also, the driver is multithreaded to take advantage of multiple CPU cores
-(up to 8 at this time).
-It's the fastest software rasterizer for Mesa.
-</p>
-
-
-<h2>Requirements</h2>
-
-<ul>
-<li>
- <p>
- For x86 or amd64 processors, 64-bit mode is recommended.
- Support for SSE2 is strongly encouraged. Support for SSE3 and SSE4.1 will
- yield the most efficient code. The fewer features the CPU has the more
- likely it is that you will run into underperforming, buggy, or incomplete code.
- </p>
- <p>
- For ppc64le processors, use of the Altivec feature (the Vector
- Facility) is recommended if supported; use of the VSX feature (the
- Vector-Scalar Facility) is recommended if supported AND Mesa is
- built with LLVM version 4.0 or later.
- </p>
- <p>
- See <code>/proc/cpuinfo</code> to know what your CPU supports.
- </p>
-</li>
-<li>
- <p>Unless otherwise stated, LLVM version 3.4 is recommended; 3.3 or later is required.</p>
- <p>
- For Linux, on a recent Debian based distribution do:
- </p>
-<pre>
-aptitude install llvm-dev
-</pre>
- <p>
- If you want development snapshot builds of LLVM for Debian and derived
- distributions like Ubuntu, you can use the APT repository at <a
- href="https://apt.llvm.org/" title="Debian Development packages for LLVM"
- >apt.llvm.org</a>, which are maintained by Debian's LLVM maintainer.
- </p>
- <p>
- For a RPM-based distribution do:
- </p>
-<pre>
-yum install llvm-devel
-</pre>
-
- <p>
- For Windows you will need to build LLVM from source with MSVC or MINGW
- (either natively or through cross compilers) and CMake, and set the
- <code>LLVM</code> environment variable to the directory you installed
- it to.
-
- LLVM will be statically linked, so when building on MSVC it needs to be
- built with a matching CRT as Mesa, and you'll need to pass
- <code>-DLLVM_USE_CRT_xxx=yyy</code> as described below.
- </p>
-
- <table border="1">
- <tr>
- <th rowspan="2">LLVM build-type</th>
- <th colspan="2" align="center">Mesa build-type</th>
- </tr>
- <tr>
- <th>debug,checked</th>
- <th>release,profile</th>
- </tr>
- <tr>
- <th>Debug</th>
- <td><code>-DLLVM_USE_CRT_DEBUG=MTd</code></td>
- <td><code>-DLLVM_USE_CRT_DEBUG=MT</code></td>
- </tr>
- <tr>
- <th>Release</th>
- <td><code>-DLLVM_USE_CRT_RELEASE=MTd</code></td>
- <td><code>-DLLVM_USE_CRT_RELEASE=MT</code></td>
- </tr>
- </table>
-
- <p>
- You can build only the x86 target by passing
- <code>-DLLVM_TARGETS_TO_BUILD=X86</code> to cmake.
- </p>
-</li>
-
-<li>
- <p>scons (optional)</p>
-</li>
-</ul>
-
-
-<h2>Building</h2>
-
-To build everything on Linux invoke scons as:
-
-<pre>
-scons build=debug libgl-xlib
-</pre>
-
-Alternatively, you can build it with meson with:
-<pre>
-mkdir build
-cd build
-meson -D glx=gallium-xlib -D gallium-drivers=swrast
-ninja
-</pre>
-
-but the rest of these instructions assume that scons is used.
-
-For Windows the procedure is similar except the target:
-
-<pre>
-scons platform=windows build=debug libgl-gdi
-</pre>
-
-
-<h2>Using</h2>
-
-<h3>Linux</h3>
-
-<p>On Linux, building will create a drop-in alternative for
-<code>libGL.so</code> into</p>
-
-<pre>
-build/foo/gallium/targets/libgl-xlib/libGL.so
-</pre>
-or
-<pre>
-lib/gallium/libGL.so
-</pre>
-
-<p>To use it set the <code>LD_LIBRARY_PATH</code> environment variable
-accordingly.</p>
-
-<p>For performance evaluation pass <code>build=release</code> to scons,
-and use the corresponding lib directory without the <code>-debug</code>
-suffix.</p>
-
-
-<h3>Windows</h3>
-
-<p>
-On Windows, building will create
-<code>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll</code>
-which is a drop-in alternative for system's <